第一章。
1. 微型计算机系统硬件有哪几部分组成?
2. 典型的cpu中包含哪些必要部件?
3. 存储器的地址和内容的关系?存储器分类及每一类的特点,sram与dram有何区别? dram为何需要刷新?哪个集成度更高?
4. 按传送信息不同,总线可以分为哪几种?ab,db 分别与什么重要指标相关?
5. bit ,byte,word,字长,kb,mb,gb等的概念。
6. 按微机的应用形态来分,可分为通用型及嵌入式两类。
7. 嵌入式系统按微处理器来分,可分为哪几种?
8. 什么是mcu?
9. 掌握十进制、二进制、十六进制之间的互换。
10. 带符号数的补码表示方法及与真值的互换。
11. 非数值数据在计算机中怎样表示?
12. 什么是bcd码?
13. 掌握c语言中的位运算。
数制方面练习:
14.完成下列数制转换。
1) 10100110bdh
2) 0.11bd
3) 253.25bh
4) 1011011.101bhbcd
15. 写出下列真值对应的原码和补码形式。
1) x = 1110011b
2) x = 71d
3) x = 1001001b
16. 已知x和y的真值,求[x+y]的补码。
1) x=-1110111b y=+1011010b
2) x = 56dy=-21d
17.8位字长的二进制数10101010b,若按无符号整数、带符号原码和带符号补码求真值,结果分别为十进制的和。
18.设字长为16位,真值x=-15,y=110,则有: [xy]补。
第二章。1. arm与freescale, 内核与芯片的关系。
2. arm-cortex属于arm系列的哪个版本(架构)?它有哪几个系列?各有怎样的应用定位?
3. kinetis mcu中的k60系列 mk60n512vmd100的内核是( arm cortex-m4),字长(32位),内部的数据是32位的,寄存器是32位的,存储器接口也是32位的。
4. mk60n512vmd100的flash多大?地址范围?sram 多大?地址范围?
5. arm cm3/4的寄存器是多少位的? 试述r13,r14,r15寄存器分别与cpu运行原理中哪个寄存器相对应,并说出其各自的用途。
6. mcu的硬件最小系统是指什么?一般情况下,mcu的硬件最小系统由哪些电路组成。
7. mcu为什么需要有复位电路?实验板上的复位电路有什么特点?是高电平复位还是低电平复位?
8. 什么是中断?中断源的分类?什么是nmi,intr? 什么是中断服务程序?
9. cortex‐m4包含多少个中断类型?分别是多少个系统中断,多少个外部中断?什么是中断向量表?放在**?占多大空间?
第四章。1.gpio的基本概念。
2.常用简单外设包括哪几种? 对应的接线原理图。
3.k60包含几个gpio模块?共多少个引脚?
4.kinetis的每个外围部件都有对应的时钟控制, porta的时钟在哪个寄存器中打开?试写出相应的语句。
5.portx_pcrn 表示什么? 在gpio初始化中主要设置哪部分? mux ,pe,ps,irqc
6.简述gpioa_pdor,gpioa_psor和gpioa_pcor的用法和特点。
答:gpioa_pdor 为输出寄存器,32位,是字操作。对其赋值,为1的位输出高电平,为0的位输出低电平;
gpioa_psor为输出置1寄存器,32位,是位操作。对其赋值,为1的位输出高电平,为0的位保持原来的电平;
gpioa_pcor为输出置0寄存器,32位,是位操作。对其赋值,为1的位输出低电平,为0的位保持原来的电平;
7. 掌握gpio初始化的编程。
例.要求设置portb的引脚ptb7为一个输出,并在其上输出高电平(或低电平),试写出所有相关的初始化及输出语句,并在每一c语句后面加注释。
sim_scgc5 |=1<<10); 打开portb模块时钟。
portb_pcr7 |=1<<8); ptb7为gpio
portb_pddr |=1<<7ptb7方向为输出。
portb_psor |=1<<7设为高电平
or portb_pcor |=1<<7; /设为低电平)
例.设置portb的引脚ptb9为一个按键输入,并说明怎样读取相应按键的状态?试以c语句说明,并对每一行做注解。
答:初始化语句:
sim_scgc5 |=1<<10);
portb_pcr9 = 1<<8)|(0xa<<16)| gpio, no interrupt,
1<<1)|(1<<0); pull enale,pull up
判断输入:if(portb_pdir & 1<<7)) maskoff all except the bit7
// source line(s) if ptb7 is in the high voltage level
else// source line(s) if ptb7 is in the low voltage level
写一个程序段,利用ptc口输入寄存器中的d6和d5两位的内容,产生4种选择性的执行的示例。
答:(假设初始化都已经完成,不再重复)
switch(portc_pdir & 3<<5)) maskoff all except the bit6 and bit5
case (0<<5): condition0 met,your code here
break;
case (1<<5): condition1 met,your code here
break;
case (2<<5): condition2 met,your code here
break;
case (3<<5): condition3 met,your code here
break;
default: breaknot necessary here
9.掌握将按键作为外部中断的中断编程。
例:porta的pta1的上升沿与porte的pte26的下降沿分别连接两只按钮。如果以中断方式工作,则寄存器porta_pcr1和porte_pcr26分别应该这样设置?
答:prota_ pcr1 = 9<<16) |1<<8) |3 ;
prote_ pcr26 = 10<<16) |1<<8) |3;
说明: 在 d19:16字段irqc,9 = 1001b上升沿中断;10 = 1010b上升沿中断;
在 d10:8 字段 mux,1 = 001b,选择gpio功能;
在 d2:0 字段 sre pe ps ,3 = 001b,dv/dt快,上拉使能,上拉;
以上两个中断引脚,对于kinetis是否属于同一个模块?如果不是,那么他们的中断编号分别是多少?
答:以上两个中断分属于两个模块,即porta和porte; 中断编号:分别为87和91
说明:porta~porte vector 103~107 irq 87~91
如果已知中断号为n,怎样才能中断使能这个中断?
以实参为n调用下面的函数: enable_irq(n) ;
void enable_irq (int irq)
switch (irq/32)
case 0: nvicicpr0 |=1 < nviciser0 |=1 < break; case 1: nvicicpr1 |=1 < nviciser1 |=1 < break; case 2: nvicicpr2 |=1 < nviciser2 |=1 < break; 10. 寄存器中标注的isf和w1c分别是什么含义? 答:在模块的中断标识寄存器、或者portx_pcrn中,有isf/w1c位。该位读出为isf,表示有中断挂起;该位写1,就可以清除挂起的模块中断。 第五章时钟系统。 1. kinetis有哪些时钟源可供选择? 飞思卡尔k60时钟有3个时钟源: 内部参考时钟源irc (internal reference clock),包括fast irc(4mhz irc)和slow irc (32khz irc); 外部参考时钟源,可由外部有源晶体振荡器产生时钟直接经extal0引脚输入,或由外部晶体经extal0和xtal0两个引脚输入后通过晶体谐振器产生; 外部32k rtc时钟源,使用extal32和xtl32两个引脚输入。 2. 什么是fll,pll? 分别对什么进行倍频? 内部包含了一个锁频环fll和一个锁相环pll,分别对内部参考时钟信号和外部时钟参考信号进行倍频。 3. 配置时钟时,分为内核时钟、总线时钟、flash时钟,开发试验板上的时钟分别配置成多少?外部参考时钟的频率是多少? 内核时钟96m、总线时钟48m、flash时钟24m 外部参考时钟源50m 4.时钟系统初始化时,复位后工作在哪种模式? 需要配置成哪种模式?配置顺序怎样?fei-> pee的配置顺序为: fei ->fbe ->pbe ->pee 5.针对开发实验板,在软件初始化时钟之前(pll-init()函数调用之前),kinetis k60的默认时钟是哪个?时钟频率大约是多少?调用后,时钟是哪个?时钟频率是多少? 在时钟初始化之前,复位后默认时钟是32k,时钟频率20.97m,调用pll-init()完成时钟初始化后,内核时钟96m,总线时钟48m,采用的是外部时钟50m输入。 第六章 iic总线。一 iic总线介绍 i2c总线 1.结构。2.工作原理 a b 主机 主设备 负责生成scl时钟,同时负责发出其实信号s和终止信号p 从机 从设备 被主机寻址的器件。1 a检测i2c总线是否 空闲 如果空闲 高 a发出起始信号 scl高,sda 2 寻址选择目标器件b,发送7位地... 课前提问 xscale 内核,intel公司。arm7 内核,第七个版本。armv5te 指令集,v5版本,加入16位thumb指令集,加入dsp指令集。cortex m3 内核,arm公司,arm11之后开始以cortex命名 5.几款arm处理器内核比较 arm11比arm10主频高,能耗低,所... 课前复习 sdram 突发传输同一行起始地址。norflash 读 ce 低 oe 低 we 高 a0 a18 d0 d7 擦出写1 片 6个周期 6s 块 6个周期 0.7s 写写04个周期 ain 9 s 字节编程din nand flash 4096块 32页 512 16 字节。64m 2m...嵌入式嵌入式系统原理与设计
嵌入式嵌入式系统原理与设计
嵌入式嵌入式系统原理与设计