第一篇:嵌入式系统开发技术题库2
嵌入式系统开发技术题库2
一、选择题
1:下面关于嵌入式系统逻辑组成的叙述中,错误的是()。A:嵌入式系统与通用计算机一样,也由硬件和软件两部分组成
B:硬件的主体是CPU和存储器,它们通过I/O接口和I/O设备与外部世界联系 C:嵌入式系统的CPU主要使用的是数字信号处理器 D:嵌入式系统的软件配置有些很简单,有些比较复杂 2:下面关于数字信号处理器的叙述中错误的是()。A:它是一种适用于数字信号处理的微处理器 B:它的英文缩写是DPS C:它支持单指令多数据(SIMD)并行处理的指令
D:它能显著提高音频、视频等数字信号的数据处理效率
3:片上系统是嵌入式处理器芯片的一个重要品种,下列叙述中错误的是()。A:SoC已经成为嵌入式处理器芯片的主流发展趋势 B:它是集成电路加工工艺进入到深亚微米时代的产物
C:片上系统使用单个芯片进行数据的采集、转换、存储和处理,但不支持I/O功能 D:片上系统既能把数字电路也能把模拟电路集成在单个芯片上
4:按照软硬件技术复杂程度进行分类,可以把嵌入式系统分为哪三大类?()。A:高端系统、中端系统和低端系统 B:军用系统、工业用系统和民用系统 C:硬实时系统、准实时系统和非实时系统 D:片上系统、微控制器和数字信号处理器
5:半导体集成电路是微电子技术的核心。下面有关集成电路的叙述中错误的是()。
A:集成电路有小规模、中规模、大规模、超大规模和极大规模等多种,嵌入式处理器芯片一般属于大规模集成电路
B:集成电路的制造大约需要几百道工序,工艺复杂且技术难度非常高
C:集成电路大多在硅衬底上制作而成,硅衬底是单晶硅锭经切割、研磨和抛光而成的圆形薄片 D:集成电路中的电路及电子元件,需反复交叉使用氧化,光刻,掺杂和互连等工序才能制成 6:一幅1024 x 768的彩色图像,每个像素使用16位表示,采用压缩比为5倍的算法压缩图像数据之后,其数据量大约是多少MB?()。A:0.3 B:0.5 C:1 D:1.5 7:以太网中计算机间以帧为单位进行通信,下列选项中不属于以太网数据帧内容的是()。A:IP地址 B:MAC地址 C:有效载荷 D:校验信息
8:下面是IP协议中A类IP地址有关规定的叙述,其中正确的是()。A:它适用于中型网络
B:它适用的网络最多只能连接65534台主机 C:它不能用于多目的地址发送(组播)D:它的二进制表示中最高位一定是“0” 9:对于嵌入式处理器说法正确的是()。A:ARM处理器采用CISC和RISC相结合的结构 B:嵌入式处理器都采用哈佛结构
C:ARM处理器具有耗电省、功能强、成本低等特点 D:ARM处理器内部的总线标准是PCI Express 10:以下关于ARM处理器的叙述中,错误的是()。A:ARM7~ARM11为经典ARM处理器
B:Cortex-A系列为应用Cortex处理器,主要面向高端应用 C:Cortex-M系列为面向移动计算领域的嵌入式处理器 D:Cortex-R系列应用于实时应用的场合
11:关于ARM的工作状态,以下说法正确的是()。A:ARM处理器的工作状态包括ARM状态和Thumb状态两种 B:ARM状态支持16位指令宽度也支持32位指令宽度
C:Thumb状态或Thumb-2状态下,代码密度低于ARM状态,占用存储空间变大 D:ARM处理器复位后自动进入ARM状态
12:ARM处理器当前运算操所产生的标志位记录在以下哪个寄存器中?()。A:PSP B:MSP C:SPSR D:CPSR 13:ARM处理器如果R1=0x98001200,已知在小端模式下,内存0x98001204中存放数据0x35, 0x98001205中存放数据0x36, 0x98001206中存放数据0x37, 0x98001207中存放数据0x38, 在指令LDR R0,[R1,#4]执行后,R0中的值为()。A:0x35363738 B:0x36353837 C:0x38373635 D:0x37383536 14:ARM处理器将R0中一个字的数据,存入由R1指示的内存区域,则使用的指令是()。A:STR R0,[R1] B:LDR R0,[R1] C:STRH R0,[R1] D:STRB R0,[R1] 15:在以下ARM处理器指令中可让寄存器R1中指定位“清零”的指令操作码为()。A:MOV B:AND C:ADD D:ORR 16:ARM处理器如果R1=0x00000080,则指令MOV R0,R1, LSL#2执行后,R0的值为()。A:0x00000200 B:0x00000320 C:0x00000020 D:0x00000040 17:以下ARM处理器的指令或伪指令错误的是()。A:MOV R1,R2 B:LDR R1,#0x12345678 C:LDR R1,=0x00000020 D:ADC R1,R2,R3 18:ARM处理器在比较指令之后,如果要依据是否相等转移到指定地址L1,则以下指令错误的是()。A:BEQ L1 B:BNE L1 C:BXEQ L1 D:BLAL L1 19:下面是有关嵌入式系统的最小系统组成的叙述: Ⅰ.嵌入式最小系统包括嵌入式处理器 Ⅱ.嵌入式最小系统包括电源电路 Ⅲ.嵌入式最小系统包括时钟电路 Ⅳ.嵌入式最小系统包括复位电路 上述叙述中,正确的是()。A:仅Ⅰ和Ⅲ B:仅Ⅰ和Ⅱ C:仅Ⅱ、Ⅲ和Ⅳ D:全部
20:下面关于JTAG的叙述中,错误的是()。A:JTAG技术是一种嵌入式测试技术
B:大多数ARM嵌入式处理器芯片不包含JTAG接口 C:多个器件可以通过JTAG接口串联在一起进行测试 D:通过芯片的JTAG接口可以实现在线编程功能
21:典型的嵌入式系统硬件由嵌入式最小硬件系统及相关通道或接口组成,若一个嵌入式系统需要完成模拟量输出功能,该功能是由下面列出的嵌入式系统的哪个通道实现的?()。A:前向通道 B:后向通道 C:人机交互通道 D:相互互连通道
22:基于ARM内核的嵌入式处理器芯片采用系统总线与外围总线两层结构的方式构建片上系统,下面列出的组件中,不与系统总线相连的组件是()。A:电源管理与时钟控制器 B:DMA控制接口 C:RTC D:中断控制器
23:下面是基于ARM内核的嵌入式芯片中有关GPIO的叙述,其中错误的是()。A:GPIO作为输入接口时具有缓冲功能 B:GPIO作为输出接口时具有锁存功能 C:GPIO的引脚一般是多功能复用的
D:GPIO一般只具有0态和1态,不具有高阻状态
24:基于ARM内核的嵌入式芯片中包含互连通信组件,下面不属于互连通信组件的是()。A:PWM B:SPI C:I2C D:Ethernet 25:下面是关于嵌入式系统使用的存储器的叙述:
Ⅰ.嵌入式系统使用的存储器按照其存取特性可分为RAM和ROM Ⅱ.嵌入式系统使用的存储器按照其所处物理位置可分为片内存储器和片外存储器以及外部存储器 Ⅲ.嵌入式系统使用的存储器按照存储信息的类型可分为程序存储器和数据存储器 Ⅳ.新型的铁电存储器FRAM在嵌入式系统中得到了应用 上述叙述中,正确的是()。A:仅Ⅰ和Ⅱ B:仅Ⅱ和Ⅲ C:仅Ⅰ和Ⅲ D:全部
26:下面关于I2C的叙述中,错误的是()。A:I2C即集成电路互连总线
B:I2C具有SDA、SCL和ACK共3条信号线
C:I2C传送数据时,每次传送的字节数目没有限制 D:I2C是多主总线
27:下面是关于UART的叙述,其中错误的是:()。
A:ARM芯片中的UART收发信息时,可以采用FIFO模式,也可以采用普通模式 B:UART传送信息的格式以起始位开始,以停止位结束 C:UART传送信息时,一次传送的数据位的长度只能是8位 D:基于UART可组成RS-232接口
28:下面是关于嵌入式系统中使用的键盘的叙述,其中错误的是()。
A:利用嵌入式芯片的GPIO构成线性键盘时,一个按键需要占用一个GPIO引脚 B:采用矩阵键盘结构时,8个GPIO引脚最多能构成12个按键的键盘 C:采用机械式按键设计键盘时,按键按下时会产生抖动 D:矩阵键盘通常用行扫描法或反转法读取按键的特征值
29:uC/OS-II操作系统启动的过程中,Bootloader执行完毕后,调用应用程序主文件(通常是main.c)里的main()函数。main()函数在执行过程中,除了用户函数和硬件初始化函数之外,需要执行以下三个主要的uC/OS-II函数: I.OSStart()II.OSTaskCreate()III.OSInit()它们的执行顺序是()。A:I、II、III B:III、I、II C:II、III、I D:III、II、I 30:uC/OS-II系统中的每个任务都处在以下5种状态之一:休眠态、就绪态、运行态、挂起态(等待某一事件发生)和被中断态,以下哪个说法是错误的()。
A:任务处于休眠态,相当于该任务驻留在外存中,但还没有交给内核管理
B:任务处于就绪态,意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行
C:任务处于运行态,指任务得到了CPU的控制权正在运行之中
D:任务处于被中断态,是指发生中断时执行相应的中断服务,原来正在运行的任务暂时停止运行,进入了被中断状态
31:uC/OS-II总是运行处于就绪态任务中优先级最高的那个任务,以下哪个说法是错误的()。A:真正实现任务切换的函数是OSCtxSw()B:任务级的调度是由函数OSSched()完成 C:中断级的调度是由函数OSIntExit()完成 D:实现上下文切换的函数是OSSched()32:uC/OS-II允许中断嵌套,嵌套层数可达多少层?()。A:32 B:26 C:128 D:255 33:uC/OS-II能够提供周期性时钟信号(即所谓的时钟节拍),用于实现任务的正确延时和超时确认。节拍率应在什么范围内?()。A:10 Hz~100Hz B:10Hz~1000Hz C:100 Hz~1000Hz D:100 Hz~10000Hz 34:uC/OS-II的事件控制块有4种类型,需要使用4个不同的函数来创建。如下选项中哪一个用于创建事件控制块?()。A:OSTaskCreate()B:OSThreadCreate()C:OSQCreate()D:OSCtxSw()35:下面关于Linux内核的有关叙述中,错误的是()。
A:进程调度模块负责控制进程对CPU资源的使用,所采取的调度策略是使得各个进程能够平均访问CPU,但并不保证内核能及时地执行硬件操作
B:Linux内存管理模块的功能之一是屏蔽各种硬件内存结构的差异并向上返回统一的访问接口 C:网络接口模块包含网络接口驱动程序
D:支持进程之间各种通信机制,其通信机制主要包括信号、管道、消息队列、信号量、共享内存和套接字
36:关于U-Boot,以下说法错误的是()。
A:U-Boot全称USB Bootloader,通过USB接口完成启动支持多种处理器和操作系统 B:U-Boot支持PowerPC、x86、ARM等多种体系结构的处理器
C:U-Boot支持嵌入式Linux、VxWorks、QNX、RTEMS、Windows CE等操作系统 D:U-Boot采用两个阶段完成操作系统的引导加载
37:关于微内核和宏内核操作系统,如下哪一项的说法是错误的?()。A:VxWorks是典型的微内核结构嵌入式操作系统
B:iOS追根溯源是一个类UNIX操作系统,它属于宏内核架构 C:Android OS是典型的宏内核操作系统
D:一般认为微内核系统的实时性较好,故Symbian归类为强实时嵌入式操作系统 38:以下关于VxWorks操作系统的叙述中,错误的是()。
A:是目前公认为实时性很强、可靠性很高的一种嵌入式实时操作系统 B:在航空航天、通信和国防领域具有广泛的应用
C:属于大型商用操作系统,具有配套的VMWare集成开发环境,为开发者带 来很大方便
D:支持基于抢占式优先级调度的任务管理
39:嵌入式系统开发时,应该根据应用需求来选择相应的开发工具软件。RVDS是一个较常用的开发工具软件,下面的有关叙述中错误的是()。
A:RVDS中包括工程管理器、编译连接器、调试器和指令集仿真器 B:RVDS只支持ARM内核的微处理器芯片 C:RVDS支持对Flash存储器的编程
D:RVDS编译的代码比ADS1.2编译的代码执行效率高
40:若基于Linux操作系统所开发的ARM应用程序源文件名为test.c,那么要生成该程序代码的调试信息,编译时使用的GCC命令正确的是()。A:arm-linux-gcc-c-o test.o test.c B:arm-linux-gcc-S-o test.o test.c C:arm-linux-gcc-o test test.c D:arm-linux-gcc-g-o test test.c
二、填空题
1:SoC芯片中的CPU绝大多数是以IP核的方式集成在芯片中的,很少再自行设计开发。目前32位嵌入式处理器主要采用的是由____【1】____国一家专门从事RISC处理器内核设计公司设计的____【2】______内核。
2:我国大陆地区目前广泛使用的汉字编码国家标准有____【3】______和GB18030两种,常用汉字采用___【4】____个字节表示。3:在Internet中负责选择合适的路由,使发送的数据分组(packet)能够正确无误地按照地址找到目的计算机所使用的是___【5】____协议簇中的___【6】____协议。
4:ARM处理器有7种异常,按向量地址从小到大排列的顺序是:__【7】_____、未定义指令UND、软件中断SWI、指令预取中止PABT、数据访问中止DABT、__【8】_____以及快速中断FIQ。
5:在ARM处理器中,R0~R15是通用寄存器,其中作为堆栈指针SP使用的寄存器是___【9】____,作为程序链接寄存器LR使用的是___【10】____。
6:已知ARM处理器的R1=0x12345678, R2=0xFF00FF00,则执行指令ORR R0,R1,R2后,寄存器R0=___【11】____,R1=___【12】____。
7:已知ARM处理器进位标志C=1, R1=1000, R2=99, 执行指令ADDC R0,R1,R2之后,R0=___【13】____, R1=___【14】____。
8:ARM处理器用一条指令完成有条件的无符号数加法运算,并更新CPSR中的状态,条件是如果相等, 要求指令执行R1+R2,结果送R3中,则这条指令为___【15】____;如果条件是大于,要求指令执行R1-R2,结果放R3中,则该指令为___【16】___。
9:为了连接ARM内核与处理器芯片中的其他各种组件,ARM公司定义了总线规范,该规范用4个大写英文字母表示为___【17】____,即先进的微控制器___【18】____体系结构。
10:ARM处理器芯片内部的___【19】____组件包括ADC和DAC,有的还带有比较器等。这对于既需要处理____【20】___信号又需要处理模拟信号的混合系统的设计提供了较好的解决方案。
11:目前有两种主要的闪存技术,一种是___【21】____Flash,其特点是以字节为单位随机存取,另一种是___【22】____Flash,以页(行)为单位随机存取。(填写用英文大写字母表示的简称)12:如存储器的工作频率为333MHz,数据线宽度为32位,每个周期传输1次数据,则存储器的带宽=___【23】____MB/s。若存储器总线采用串行总线,以10位为一个数据帧(包含一个字节的存储数据),则总线带宽=总线频率/___【24】____。
13:SPI的信号线MISO称为____【25】___数据线, MOSI称为___【26】____数据线。14:响应时间(Response Time)是计算机从识别一个外部事件到做出响应的时间。在RTOS运行过程中响应时间是重要指标之一,其具体指标包括:___【27】____延迟时间和___【28】____切换时间。15:uC/OS-II 是目前常用的嵌入式操作系统之一,其内核只提供____【29】___调度、任务间通信与同步、任务管理、时间管理和___【30】____管理等基本功能,资源消耗非常小。
16:具有操作系统的嵌入式系统加电后最初执行的操作称为引导或者自举(Boot),对应的程序称为引导程序,或者引导加载程序(Bootloader)。引导加载程序主要完成___【31】____、外设存在自检、内存地址映射、初始化外围设备、内存寻址定位、加载并启动___【32】____。17:由于Bootloader的实现依赖于CPU的体系结构,因此大多数Bootloader都分为stage1和stage2两大部分。依赖于CPU体系结构的代码,比如设备初始化代码等,通常都放在stage1中,且使用___【33】____语言来实现,以达到短小精悍的目的。而stage2则通常用C语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和___【34】____性。18:RTLinux基本的设计理念就是“架空”Linux内核,以便让其他实时进程能尽快地被执行。RTLinux开发者并没有针对实时操作系统的特性而重写Linux的内核,而是将Linux的内核代码做一些修改,将Linux的任务以及Linux内核本身作为一个___【35】____优先级的任务,而实时任务作为最___【36】____优先级的任务。
19:嵌入式系统开发时,由于受到目标机资源的限制,需要建立一个___【37】____与目标机组成的调试架构来完成开发工作。若目标机为裸机环境时,通常需要通过___【38】____接口来完成硬件环境测试及初始软件的调试和下载。
20:基于嵌入式WEB的应用系统中,构件设计阶段需要设计支持以太网通信的电路,包括以太网控制电路及以太网____【39】___电路。若选用的以太网控制芯片为AX88796芯片,并用S3C2410芯片的nGCS2引脚连接到AX88796芯片的片选引脚上(即CS引脚上,CS低电平有效),那么,AX88796芯片内部寄存器的读/写地址,其首地址是___【40】____。
三、综合题
2:
1、某机械设备的控制器,其基本功能要求有: 需要有8个数字量输入,用于采集设备的状态信息;且需要8个数字量输出,用于控制设备动作。具备一个RS-232接口,可以和上位机连接,接收上位机发送的命令及参数。需要提供一个基准定时信号,定时时间间隔为0.01秒。需要彩色LCD显示器,用于显示状态信息等。根据上述功能要求的描述,若采用S3C2410芯片为核心来构建该机械设备控制器的硬件平台,请完善下面的叙述和C语言程序(需要使用的控制寄存器的格式见题后说明)。
(1)若硬件设计时采用GPIO端口E的GPE0~GPE7引脚作为8个数字量输出,那么软件设计时其初始化语句是:rGPECON=(rGPECON|0x00005555)&___【1】____。若软件设计时需要通过GPE5引脚输出“1”来驱动执行机构动作,那么语句是:rGPEDAT= rGPEDAT | ___【2】____。(注:rGPECON是端口E的控制寄存器所对应的变量,rGPEDAT是端口E的数据寄存器所对应的变量)
(2)硬件设计时,选用UART0来完成RS-232接口电路设计。在软件设计时,其初始化程序中波特率设置为9600bps,数据格式设置为:8位数据位、奇校验、1位停止位。请补充完善下面的UART0初始化函数(注:主频参数为PCLK): void UART0_Init(){ rGPHCON=(rGPHCON&0xFFFFFF00)|___【3】____;//端口H相应引脚功能初始化 rUFCON0=0x0;//FIFO不使能 rUMCON0=0x0;rULCON0=___【4】____;//设置线路控制寄存器 rUCON0= 0x145;//设置控制寄存器
rUBRDIV0=((int)(PCLK/___【5】____)1);//设置波特率,小数采用四舍五入 }(3)按照上面UART0初始化函数所设置的通信速率,每秒钟最多能传输___【6】____个字节的信息。若上位机有大小为4KB的初始参数需要下载到控制器中,那么,约需传输____【7】___秒才能完成下载(1K=1024,精确到小数点后面1位数字)。
(4)系统中所需要的0.01秒基准定时时间选用S3C2410芯片内部的Timer0部件来产生。若系统的主频参数PCLK为264MHz,分频器值选择为16,预分频系数选择为3,那么,Timer0的计数常数为___【8】____。软件设计时,设计了如下的Timer0初始化函数,请补充完善。(注:下面程序中⑨、⑩、⑿用8位十六进制数表示,⑾用4位十六进制数表示)void Timer0Int(void){ //设置定时器配置寄存器0(TCFG0)
rTCFG0=___【9】____;//Timer0预分频系数选择为3,该寄存器中其它无关位均为0 //设置定时器配置寄存器1(TCFG1)
rTCFG1=___【10】___;// Timer0分频器值为16,该寄存器中其它无关位均为0 //设置计数常数
rTCNTB0=___【11】____;//设置控制寄存器TCON rTCON=___【12】____;//更新TCNTB0和TCMPB0,该寄存器中其它无关位均为0 rTCON=0x00000009;//设置Timer0自动装载,并启动 }(5)彩色LCD显示屏的硬件接口电路由S3C2410的专用GPIO端口__【13】_____和端口___【14】____相关引脚配以驱动电路来设计。软件设计时,需要通过设置它们控制寄存器的值分别为___【15】____和____【16】___来确定它们的引脚功能。
(6)系统的软件可以设计为在无操作系统的环境下运行。设计者自行设计系统的启动引导程序,在该程序中完成异常向量设置、堆栈指针设置以及必要的硬件初始化。ARM9体系结构中规定的IRQ异常所对应的异常向量地址为___【17】____。Timer0部件所产生的0.01秒基准时间到时将引起IRQ异常。由于IRQ异常向量地址与下一个异常向量地址之间间隔为___【18】____个字节,因此,通常在IRQ异常向量地址处设计一条转移指令。堆栈指针的设置需按工作模式来进行。设置IRQ模式下的堆栈指针,需在R0“清0”后用指令ORRR1,R0,#0x12|___【19】____和MSR CPSR_CXSF,R1来使CPU核进入IRQ模式,然后再给SP寄存器赋值作为该模式下的堆栈指针。这些初始化工作完成后,即可通过指令___【20】____来引导应用程序的主函数main()。说明:下面是试题解答时需要用到的寄存器格式及相关说明。1)端口C的控制寄存器(GPCCON)引脚GPCCON的位描述
GPC15[31:30]00=输入,01=输出,10=VD7,11=保留 GPC14[29:28]00=输入,01=输出,10= VD6,11=保留 GPC13[27:26]00=输入,01=输出,10= VD5,11=保留 GPC12[25:24]00=输入,01=输出,10= VD4,11=保留 GPC11[23:22]00=输入,01=输出,10= VD3,11=保留 GPC10[21:20]00=输入,01=输出,10= VD2,11=保留 GPC9[19:18]00=输入,01=输出,10= VD1,11=保留 GPC8[17:16]00=输入,01=输出,10= VD0,11=保留 GPC7[15:14]00=输入,01=输出,10=LCDVF2,11=保留 GPC6[13:12]00=输入,01=输出,10= LCDVF1,11=保留 GPC5[11:10]00=输入,01=输出,10=LCDVF0,11=保留 GPC4[9:8]00=输入,01=输出,10=VM,11=IIS数据输出
GPC3[7:6]00=输入,01=输出,10=VFRAME,11= IIS数据输入 GPC2[5:4]00=输入,01=输出,10=VLINE,11=保留 GPC1[3:2]00=输入,01=输出,10=VCLK,11=保留 GPC0[1:0]00=输入,01=输出,10=LEND,11=保留 2)端口D的控制寄存器(GPDCON)引脚GPDCON的位描述
GPD15[31:30]00=输入,01=输出,10=VD23,11=保留 GPD14[29:28]00=输入,01=输出,10= VD22,11=保留 GPD13[27:26]00=输入,01=输出,10= VD21,11=保留 GPD12[25:24]00=输入,01=输出,10= VD20,11=保留 GPD11[23:22]00=输入,01=输出,10= VD19,11=保留 GPD10[21:20]00=输入,01=输出,10= VD18,11=保留 GPD9[19:18]00=输入,01=输出,10= VD17,11=保留 GPD8[17:16]00=输入,01=输出,10= VD16,11=保留 GPD7[15:14]00=输入,01=输出,10= VD15,11=保留 GPD6[13:12]00=输入,01=输出,10= VD14,11=保留 GPD5[11:10]00=输入,01=输出,10= VD13,11=保留 GPD4[9:8]00=输入,01=输出,10= VD12,11=保留 GPD3[7:6]00=输入,01=输出,10= VD11,11=保留 GPD2[5:4]00=输入,01=输出,10= VD10,11=保留 GPD1[3:2]00=输入,01=输出,10= VD9,11=保留 GPD0[1:0]00=输入,01=输出,10= VD8,11=保留 3)端口E的控制寄存器(GPECON)引脚GPECON的位描述
GPE15[31:30]00=输入,01=输出,10=IICSDA,11=保留 GPE14[29:28]00=输入,01=输出,10=IICSCL,11=保留 GPE13[27:26]00=输入,01=输出,10=SPICLK0,11=保留 GPE12[25:24]00=输入,01=输出,10=SPIMOSI0,11=保留 GPE11[23:22]00=输入,01=输出,10=SPIMISO0,11=保留 GPE10[21:20]00=输入,01=输出,10=SSDAT3,11=保留 GPE9[19:18]00=输入,01=输出,10=SSDAT2,11=保留 GPE8[17:16]00=输入,01=输出,10=SSDAT1,11=保留 GPE7[15:14]00=输入,01=输出,10=SSDAT0,11=保留 GPE6[13:12]00=输入,01=输出,10=SDCMD,11=保留 GPE5[11:10]00=输入,01=输出,10=SDLCK,11=保留
GPE4[9:8]00=输入,01=输出,10=IISSDO,11=IIS数据输出 GPE3[7:6]00=输入,01=输出,10=IISSI,11= IIS数据输入 GPE2[5:4]00=输入,01=输出,10=CDCLK,11=保留 GPE1[3:2]00=输入,01=输出,10=IISCLK,11=保留 GPE0[1:0]00=输入,01=输出,10=IISLRCK,11=保留 4)端口H的控制寄存器(GPHCON)引脚GPHCON的位描述
GPH10[21:20]00=输入,01=输出,10=CLKOUT1,11=保留 GPH9[19:18]00=输入,01=输出,10= CLKOUT0,11=保留 GPH8[17:16]00=输入,01=输出,10=UEXTCLK,11=保留 GPH7[15:14]00=输入,01=输出,10=RXD2,11=保留 GPH6[13:12]00=输入,01=输出,10=TXD2,11=保留 GPH5[11:10]00=输入,01=输出,10=RXD1,11=保留
GPH4[9:8]00=输入,01=输出,10=TXD1,11=IIS数据输出 GPH3[7:6]00=输入,01=输出,10=RXD0,11= IIS数据输入 GPH2[5:4]00=输入,01=输出,10=TXD0,11=保留 GPH1[3:2]00=输入,01=输出,10=nRTS0,11=保留 GPH0[1:0]00=输入,01=输出,10=nCTS0,11=保留 5)UART线路控制寄存器(ULCONn n可以是0、1、2)ULCONn的位[7][6][5:3][2][1]描述保留 值为0确定红外模式 0=正常操作模式
1=正常操作模式确定校验类型 0xx=无校验 100=奇校验
101=偶校验确定停止位数 0=1位停止位
1=2位停止位确定数据位 00=5位01=6位
10=7位11=8位6)TCFG0寄存器 TCFG0的位功能描述初始状态值
[31:24]保留0x00[23:16]在此不用0x00 [15:8]确定Timer2,Timer3,Timer4的预分频系数0x00[7:0]确定 Timer0,Timer1的预分频系数0x007)TCFG1寄存器 TCFG1的位功能描述初始状态值[31:24]保留0x00 [23:20]在此不用0b0000 [19:16]确定Timer4的分频器值0000=2 0001=4 0010=8 0011=16 [15:12]确定Timer3的分频器值0000=2 0001=4 0010=8 0011=16 [11:8]确定Timer2的分频器值0000=2 0001=4 0010=8 0011=16 [7:4]确定Timer1的分频器值0000=2 0001=4 0010=8 0011=16 [3:0]确定Timer0的分频器值0000=2 0001=4 0010=8 0011=16 说明:设置TCFG0、TCFG1可以确定预分频器系数、分频器值,如:通过设置TCFG0为0x0000001F,Timer0的预分频器系数选择为31,设置TCFG1为0x00000001,Timer0的分频器值选择为4。通过下面公式计算定时器的计数常数:
定时器输入时钟频率=PCLK/(预分频系数+1)/分频器值 计数常数=定时时间间隔/(1/定时器输入时钟频率)预分频系数的范围为0~255,分频器值的取值范围为2、4、8、16。6)TCON寄存器(注:此处不用的位被省略,其值默认为0x0000000)
TCON的位功能描述初始状态值厖0x0000000[3]确定Timer0的自动装载功能 1=自动装载0=一次停止0b0[2]确定Timer0的输出反转位 1=TOUT0反转0=TOUT0不反转0b0[1]确定Timer0的更新
1=更新TCNTB0和TCMPB0 0=不更新0b0[0]确定Timer0的启动/停止 1=启动0=停止0b0
第套2参考答案
一、选择题答案
1-5:CBCAA 6-10:AADCC 21-25:BCDAD 26-30:BCBDA
11-15:DDCAB 16-20:ABDDB 31-35:DDACA 36-40:ADCBD
二、填空题答案
1:英 2:ARM 3:GB2312 4:2 5:TCP/IP 6:IP 7:复位
8:外部中断请求 9:R13 10:R14
三、综合题答案 11:0xFF34FF78 12:0x12345678 13:1100 14:1000 15:ADDCEQ R3,R1,R2 16:SUBHIS R3,R1,R2 17:AMBA 18:总线 19:模拟 20:数字
21:NOR 22:NAND 23:1332 24:10
25:主机输入从机输出26:主机输出从机输入27:中断 28:任务 29:任务 30:存储
31:加电自检 32:操作系统 33:汇编 34:可移植 35:低 36:高 37:宿主机 38:JTAG 39:驱动
40:0x10000000
1:0xFFFF5555 2:0x0020 3:0x000000AA 4:0x23 5:(9600×16)+ 0.5 6:872 7:4.7 8:41250 9:0x00000003 10:0x00000003 11:0xA122 12:0x00000002 13:C 14:D 15:0xAAAAAAAA 16:0xAAAAAAAA 17:0x00000018 18:4 19:0xC0 20:BL_main
第二篇:全国计算机等级考试三嵌入式系统开发技术题库第5套
全国计算机等级考试三嵌入式系统开发技术题库第5套
一、选择题
1:与个人计算机(PC)相比,嵌入式系统具有许多不同的特点。下面不属于嵌入式系统特点的是:()。
A:嵌入式系统通常包含在其他设备(系统)中,具有隐蔽性 B:嵌入式系统的软硬件资源往往受到严格的限制,不易扩展 C:嵌入式系统使用的CPU字长以8位为主 D:嵌入式系统大多具有不同程度的实时性
2:数字信号处理器(DSP)广泛使用于嵌入式系统,下面关于DSP的叙述中错误的是:()。A:DSP是一种高性能通用微处理器
B:DSP指令系统具有单指令多数据(SIMD)并行处理的一些特殊指令 C:DSP能显著提高音频、视频等数字信号的数据处理效率 D:手机和数码相机等产品通常都含有DSP 3:按照嵌入式系统的技术复杂程度进行分类,可以把嵌入式系统分为低端系统、中端系统和高端系统三大类。下面关于低端嵌入式系统特性的叙述中错误的是:()。A:其硬件的核心大多是4位/8位单片机
B:由监控程序对系统进行控制,一般不需要使用操作系统 C:系统功能很容易现场升级
D:计算器、遥控器、空调机、微波炉等产品中使用的大多是低端嵌入式系统
4:集成电路制造技术是嵌入式系统发展的重要基础,下面关于集成电路技术发展的叙述中,错误的是:()。
A:单块集成电路的集成度平均每18~24个月翻一番 B:集成电路的工作频率越来越高,功耗越来越低
C:当前集成电路批量生产的主流技术已经达到45nm、32nm甚至更小的工艺水平D:集成电路批量生产使用的晶圆直径已经达到12~14英寸甚至更大
5:汉字有多种不同的编码标准,下面关于不同编码标准之间关系的叙述中,错误的是:()。A:GB2312中的所有字符在GB18030中也都存在,且编码相同
B:GB18030与UCS/Unicode均包含中日韩统一汉字(CJK)约7万多个 C:GB18030中的汉字与UCS/Unicode中的汉字编码保持相同 D:UTF-8和UTF-16是实现UCS/Unicode的两种不同的编码方案
6:假设数码相机使用的存储卡容量是1GB,数据压缩比平均是4,那么它一次可连续拍摄65536色的1024 x 1024分辨率的彩色相片大约多少张?()。A:200 B:500 C:1000 D:2000 7:数字视频的数据量大得惊人,无论是存储、传输还是处理都有一定困难,所以必须进行数据压缩。目前我国数字有线电视和卫星电视传输时采用的压缩编码标准是:()。A:MPEG-1 B:MPEG-2 C:MPEG-3 D:MPEG-4 8:路由器是互联网中重要的网络设备,它的主要功能是:()。A:将有线通信网络与无线网络进行互连 B:将多个异构或同构的物理网络进行互连 C:放大传输信号,实现远距离数据传输 D:用于传输层及以上各层的协议转换 9:以下关于嵌入式处理器说法正确的是:()。A:按照字长可分为8位、16位、32位和64位嵌入式处理器 B:按照存储结构可分为RISC和CISC结构 C:按照内核可分为哈佛结构和冯.诺依曼结构
D:所有ARM处理器均是RISC结构且为哈佛结构
10:关于ARM嵌入式处理器的工作状态,以下说法正确的是()。A:ARM状态是32位指令的状态,指令代码为16位和32位
B:Thumb状态为16位指令状态,指令长度可为16位,也可以为32位 C:Thumb-2状态兼容16位指令和32位指令编码 D:ARM状态和Thumb状态不可切换
11:以下关于ARM处理器的寄存器说法错误的是:()。A:通用寄存器R0-R7可以用于存放数据,也可以存放地址 B:R0-R15寄存器的宽度为32位 C:程序计数器PC使用R15寄存器 D:堆栈指针SP使用的寄存器R14 12:以下关于ARM处理器说法正确的是:()。
A:半字数据0x1234在小端格式下从0x10000000开始存放,其中0x34存放在0x10000001中 B:ARM处理器支持8位、16位和32位数据类型
C:MMU为存储器保护单元,是对存储器进行保护的可选组件 D:虚拟地址到物理地址映射是MPU的主要功能 13:关于ARM指令中的条件域,以下表述正确的是:()。A:HI为无符号数小于 B:CS为无符号数小于 C:GT为带符号数小于 D:LT为带符号数小于
14:ARM指令完成的功能是当条件为“带符号数小于”时,将R2和R3进行逻辑或操作,结果存放在R1中,正确的指令是:()。A:ORRMIR1,R2,R3 B:ORREQ R1,R2,R3 C:ORRLT R1,R2,R3 D:ORRNE R1,R2,R3 15:以下ARM指令中源操作数属于寄存器寻址的指令是()。A:AND R1,R2,R3 B:STRH R1,[R2] C:SWI 0x01 D:MOV R1,#0x0B 16:以下对伪指令的解释错误的是:()。
A:DCB 0x56;在内存区域分配一个字的内存空间并初始化为0x56 B:CODE32;伪指令通知编译器,其后的指令序列为32位的Thumb指令 C:MyTest EQU 15000;为定义一个常量MyTest值为15000,最大数为32位
D:EXPORT伪指令用于在程序中声明一个全局的标号,该标号可在其它的文件中引用 17:以下指令中不属于逻辑移位的指令是()。A:LSLR0,R1 B:LSR R2,R3,3 C:ASR R4,R5 D:LSR R6,R7 18:在ARM汇编语言程序设计中,经常用到子程序设计及调用,与子程序设计与调用无关的指令或伪指令是:()。A:BL SerchMin B:IMPORT SerchMin C:MOV PC,LR D:B SerchMin 19:下面关于JTAG的叙述中,错误的是()。
A:JTAG技术为ARM公司专用,非ARM处理器不采用JTAG技术
B:通过JTAG测试接口可对嵌入式处理器芯片进行测试、对系统进行仿真、调试 C:多个器件可以通过JTAG接口串联在一起进行测试 D:通过芯片的JTAG接口可以实现在线编程功能
20:下面与AMBA(Advanced Microcontroller Bus Architecture)有关的叙述中,错误的是()。A:AMBA规定了ARM处理器内核与处理芯片中快速组件的接口标准(通常称为系统总线)B:AMBA规定了ARM处理器内核与处理芯片中外围端口及慢速设备接口组件的接口标准(通常称为外围总线)
C:基于ARM内核的嵌入式芯片以ARM内核为基础,通过AMBA总线技术将其他硬件组件连接在一起,组成片上系统的形式
D:由于AMBA是一种标准,因此自制定之后就不会更改
21:下面是关于嵌入式系统使用的存储器的叙述,其中正确的是:()。A:静态存储器SRAM是非易失性存储器 B:动态存储器DRAM是非易失性存储器 C:Flash存储器是非易失性存储器 D:EEPROM是易失性存储器
22:下面关于UART的叙述中,正确的是:()。A:UART不能实现全双工通信 B:UART即为通用异步收发器
C:UART通信波特率固定为115200bps,不能调节 D:UART发送字符的长度固定为8位
23:下面关于HDMI的叙述中,错误的是:()。A:HDMI即高清晰度多媒体接口
B:HDMI是一种数字化音频/视频接口,适合影像传输 C:HDMI最高数据传输速度为10.2Gbps D:HDMI在嵌入式视频监控系统中应用广泛,但各型ARM芯片内部均不配置HDMI控制器接口
24:为用ARM芯片的一根GPIO引脚驱动一个LED(发光二极管),设计了如下图(a)~(d)共4个具体的电路。图中,设计得最合理的电路是:()。A:(a)图所示的电路 B:(b)图所示的电路 C:(c)图所示的电路 D:(d)图所示的电路
25:下面关于三星公司基于ARM9内核的S3C2410嵌入式微处理器芯片的叙述中,错误的是:()。
A:采用哈佛体系结构,程序存储器与数据存储器分开 B:使用AMBA总线,对于高速组件采用AHB总线,对于低速外设接口采用APB总线 C:片内集成ADC D:片内集成摄像头接口及AC'97音频接口
26:下面是关于S3C2410中断控制器的相关寄存器的功能描述,其中错误的是:()。
A:当多个中断源请求服务时,通过优先级仲裁,源中断挂起寄存器中只有当前最高优先权的中断源对应的位置1 B:中断模式寄存器的功能是决定中断源的中断属于普通中断IRQ还是快速中断 C:中断屏蔽寄存器的功能是屏蔽中断源的中断请求
D:子源中断挂起寄存器的功能是记录子中断源中断请求的挂起状态
27:下面关于S3C2410嵌入式微处理器芯片GPIO端口的叙述中,错误的是:()。A:GPIO端口有GPA/GPB/GPC/GPD/GPE/GPF/GPG/GPH多个并行I/O接口 B:GPIO端口中有的I/O接口的功能是复用的,例如可以作为外部中断
C:GPIO端口中的每个并行I/O接口中的上拉寄存器决定该接口引脚是否要被内部上拉 D:GPIO端口属于芯片内部的高带宽组件 28:下面关于CAN总线的叙述中,正确的是:()。A:CAN能够实现多主通信方式 B:CAN通信时采用奇偶校验方式
C:各型ARM芯片均没有内嵌CAN控制器,只能通过外扩CAN控制器的方式才能形成CAN节点接入CAN总线
D:CAN采用长帧通信,一个数据帧最多可以传送128个字节 29:RTOS的主要实时指标不包括:()。A:截至时间(Finish Time)B:吞吐量(Throughput)C:生存时间(Survival Time)D:响应时间(Response Time)
30:与通用计算机的操作系统相比较,下列各项中不属于嵌入式操作系统特点的是:()。A:实时性
B:抢占式多任务处理 C:内核复杂 D:高可靠性
31:以下对于主流嵌入式操作系统的叙述,错误的是:()。
A:iOS的系统结构分为以下四个层次:核心操作系统,核心服务层,媒体层,触摸框架层(the Cocoa Touch layer)
B:WinCE源代码数量庞大,API函数丰富
C:微软公司的Windows Phone 8操作系统与Windows Phone 7没有升级换代更新的关系 D:Android是国内外目前最流行的手持设备操作系统之一
32:下面的各嵌入式操作系统中,只有一个与Linux密切相关,它是:()。A:QNX B:VxWorks C:RTAI D:TinyOS 33:基于uC/OS-II的嵌入式系统,其软件结构一般具有:()。A:应用软件层、内核层和设备驱动层等三层
B:应用软件层、API层、内核层、任务管理层和设备驱动层等五层 C:应用软件层、API层、内核层和设备驱动层等四层
D:应用软件层、API层、支撑软件层、内核层和设备驱动层等五层 34:下面对于Linux内核的叙述,错误的是:()。A:它为用户进程提供系统调用
B:Linux内核主要作用包括进程管理与调度、内存管理等 C:Linux内核通过OS服务组件访问硬件
D:系统调用是Linux中用户进程与操作系统之间的重要接口 35:编写uC/OS-II的中断服务子程序主要使用哪种语言:()。
A:汇编语言或
C语言
B:Java语言
C:PASCAL语言
D:C++语言 36:下面的选项中与实时系统无必然联系的属性是()。A:可配置性 B:可预测性 C:时间约束性 D:确定性
37:嵌入式Linux操作系统的组成,不包括:()。
A:用户进程
B:OS服务组件
C:Linux内核
D:编译程序
38:Linux内核由若干个子系统组成,一般来说下面哪一个不是Linux内核的子系统:()。A:内存管理
B:进程调度
C:设备管理
D:终端管理
39:在嵌入式系统开发时,有时会利用指令集模拟器来开发、调试相关的嵌入式应用软件。下面有关指令集模拟器的说法中,错误的是:()。A:指令集模拟器只是在宿主机上运行的纯软件工具
B:指令集模拟器可以根据目标机指令集的定义生成目标机器指令序列,并仿真运行
C:指令集模拟器中把目标机处理器硬件逻辑用变量或数据结构表示 D:指令集模拟器只能采用解释型的方式来仿真运行目标机器指令序列
40:在采用ADS1.2集成开发工具软件开发基于ARM微处理器的嵌入式系统软件时,下面有关地址映射的说明中,不正确的是:()。
A:只能通过提供一个scatter格式的配置文件来确定地址映射关系 B:scatter格式的配置文件是一个文本文件
C:scatter格式的配置文件描述了连接器进行连接时所需的分组及定位信息等 D:一个scatter配置文件中通常要描述1个下载时域,以及若干个运行时域 81:下面是嵌入式系统硬件部分的逻辑组成及其与外部世界关系的示意图,其中的组成部分A是___【1】____接口;组成部分B是___【2】____接口。
rGPEDAT = rGPEDAT &___【3】____;// rGPEDAT是端口E的数据寄存器 rGPEDAT = rGPEDAT |___【4】____;(2)IC卡读写电路设计时,选用IC卡读写模块通过异步串行接口与S3C2410连接,利用S3C2410芯片内部的UART1部件实现异步串行接口电路设计。那么,在UART1的驱动程序设计时,可用下面一段程序来初始化UART1部件(注:UART1的波特率要求为:115200bps,数据格式要求为:8位数据、1位停止位、偶校验,主频为PCLK。)。void UART1_Init(){ rGPHCON=(rGPHCON&0xFFFFF0FF)|___【5】____;//端口H相应引脚功能初始化 rUFCON1=0x0;//FIFO disable rUMCON1=0x0;rULCON1=(___【6】____<< 3)|(0 << 2)|(___【7】____);//设置线路控制寄存器 rUCON1= 0x245;//设置控制寄存器
rUBRDIV1=((int)(PCLK/___【8】____)+ 0.5 1);//设置波特率,小数采用四舍五入 }(3)乘客出站时刷的若是“市民卡”,则需要用声音来播报卡的类别,即若是“学生卡”则语音播报:学生卡;若是“老人卡”则语音播报:老人卡。因此,硬件平台构建时设计了一个16位D/A转换器芯片,再加上功率放大电路及扬声器等所构成的语音播报电路,S3C2410芯片通过GPC端口与D/A转换器的16位数据线相连。软件设计时,可以先行对相关的语音波形进行采样、编码。设人的语音频率范围是300Hz~4000 Hz,因此,对语音波形采样时,采样频率至少应为___【9】____KHz,所采得的数字语音信号才不至于失真。假设,播音员读“学生卡”的这段语音波形持续3秒,采用该采样频率进行采样,数字语音信号编码采用16位二进制数,那么存储该段语音信号约需要____【10】___KB(1KB=1024B)的存储容量。语音回放时,按照采样频率要求,定时从所存储的单元中逐次读出先行采样得到的数字语音信号,输出给D/A转换器,然后通过扬声器播出。因此,在相关的驱动程序中,需要用语句:rGPCCON=___【11】____;(注:rGPCCON是端口C的控制寄存器)来初始化GPC端口的引脚功能。然后通过GPC端口的___【12】____寄存器定时输出数字语音信号。
(4)闸门在乘客通过闸机后立即关闭,因此,硬件平台构建时,可在闸门的后方一定距离内安装一个红外感测探头,并在闸机控制器中设计相关接口电路。若采用GPE0引脚来输入红外感测信号,GPE0引脚为“1”时,表示人体不在感应区内,GPE0引脚为“0”时,表示人体在感应区内。那么,初始化GPE0引脚功能的语句是:
rGPECON=rGPECON &___【13】____;// rGPECON是端口E的控制寄存器 判断是否人体在感应区内的语句可以是: if((rGPEDAT & 0x0001)==___【14】____){//判断出人体在感应区内 厖 } 闸机控制器的应用软件将在无操作系统环境下进行开发。设计者可以设计一个启动引导程序,来引导应用程序。按照ARM9体系结构中的规定,启动引导程序代码的存储单元首址应该是___【15】____,它对应着复位异常向量。系统上电/复位后,ARM9微处理器处于管理模式,启动引导程序在引导应用程序前,通常需用指令ORR R1,R0,___【16】____|0xC0和MSR CPSR_cxsf,R1来使ARM核进入用户模式(注:R0,R1寄存器的初值设定为0。CPSR寄存器的格式见题后附录。),然后再通过指令___【17】____来引导应用程序主函数main()。启动引导程序中还需要完成异常向量表的设置,ARM9体系结构中规定异常向量之间各相差___【18】____个字节,因此,需要在各异常向量处设计一条分支指令。对于S3C2410微处理器来说,其启动引导程序还需要完成禁止看门狗部件和禁止___【19】____部件,并设置各工作模式下的___【20】____指针。第5套参考答案
一、选择题答案
1-5:CACBC 6-10:DBBAC 11-15:DBDCA 16-20:BCDAD 21-25:CBDAD 26-30:ADAAC 31-35:CCCCA 36-40:ADDDA
二、填空题答案
1:输入input 2:输出output 3:256 4:JPEG 5:无线接入点 6:路由器 7:R 8:M 9:冯.诺依曼冯诺依曼冯诺依曼Von Neumann 冯?诺依曼 10:哈佛Harvard 11:0x40000000 12:0xF0811880 13:30000 0x7530 14:10000 0x2710 15:0x7912341E 16:0xF912341F 17:只读 18:ROM 19:频率周期 20:位数位宽
21:时钟信号时钟信号 22:选择 23:出 24:入 25:0x88 26:[R1] 27:截止时间 28:任务执行预设时间预设时间 29:虚拟机管理软件虚拟机管理
30:指令集模拟器指令级模拟器指令模拟指令级模拟指令集模拟器ISS 31:0 零 32:1 一 33:休眠 34:运行
35:中断服务程序中断服务子程序中断服务例程中断处理程序中断处理子程序中断服务中断处理 36:抖动 37:GDB 38:-g g 39:JTAG 40:5 4
三、综合题答案 1:电源
2:0xFFFFFFF7(~0x00000008)~0x00000008 3:0xFFFD(~0x0002)~0x0002 4:0x0002 5:0x00000A00 6:5 7:3 8:115200*16 1843200 9:8 10:46.875 11:0x55555555 12:数据
13:0xFFFFFFFC ~0x00000003(~0x00000003)14:0x0000 15:0x00000000 0x0 0 16:0x10 0x00000010 16 17:BL _main 18:4
第三篇:学习嵌入式系统开发心得
你好,我是一名嵌入式开发爱好者.近来总是看到很多初学者(多数是在校大学生)由于没有条件,想学习却不知道如何下手。
本人绝对能体会到学习的艰辛,而且视任何对知识技术有强烈追求的人(不管目前水平高低)为同路人,所以整理短文一篇写出一些学习感受,替所有渴望知识的人企盼高手指点学习之路,分享经验。
爱因斯坦说过,”我是站在巨人的肩膀上“
实践当然是最锻炼人的方式,但是我想在校生很少有这样的机会,别说本科生,硕士生也未必有条件。所以我想学习嵌入式要从个人的知识背景和现实条件出发。订立合适的阶段目标,在允许的条件下多动手多思考。
一般情况下对于硬件设备是比较短缺的。但是可以从软件方面和嵌入式系统开发模式上下功夫,提醒大家一点,嵌入式系统开发设计的内容知识很多,所以大家不要乱,在了解嵌入式系统开发的体系结构后,一步一步的下手,最容易上手的是linux下的C,比如ucos(有开放源代码),虽然可能无法在硬件上仿真,但也不必着急。wince,palmos上手都很容易。无论对于初学者还是自以为是高手的人来说,编程水平(这可不受硬件条件限制)绝对是没有止境的,有了较高的编程水平(嵌入式主要是C,当然OO的几种语言c++,java是发展趋势),等到有机会的时候及时的补充硬件知识,会很快的成为高手。
还有,一定记住,学习嵌入式,”要想办法,不要找理由“。当年在dos下用tc编程时的条件,现在回想起来建筑就是奇迹。
我推荐一条学习之路吧,仅供参考,1、C开发经验
条件:linux(这都有吧)
方法:随便,主要是掌握ansiC编程(不包括gtk,qt等图形可视化开发)
2、网络、操作系统、体系结构
条件:linux,各种书,算法、例程。
方法:通过C编程实现简单的网络等知识的算法和过程。
3、嵌入式系统概念
条件:各个嵌入式网站,讨论组,书籍
方法:少提问(尤其是等着天上掉馅饼,这主要是防止增长惰性,也解决不了实际问题),多思考。
4、嵌入式开发实践
条件:各种嵌入式系统开发工具的demo版(或者D版,如果有的话),包括编译器,仿真器。可以找高手们要,也可以下载。
方法:这里有两个分支,一个是基于mcu/dsp的嵌入式系统开发,一个是象palmos,wince,ucos等rtos下的应用软件开发。对硬件感兴趣,想成为真正高手的由第一个分支入手,以后进入第二个分支;如果十分厌烦硬件,只想停留在软件开发上的,可以只由第二个分支入手,以后就和pc上的开发没有什么本质上的区别了,找份不错的工作应该没问题,可以不用进行下面的步骤了,感兴趣可以参考第6条。
5、硬件开发
条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。
方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉你一切。
6、硬件工程/软件工程/项目管理
条件: 各个芯片详细资料和使用经验,软件工程知识,项目管理知识,培训,大型项目参与经验
方法:已经是高手了,但是学无止境,沾沾自喜于已有的知识是致命的。那个下一步。。,你该是管理者了。
抛砖引玉,以上出自我的经验,欢迎各路高手们补一下 再告诉你一些我的收藏夹的网站
国内有关嵌入式开发的论坛
电子产品世界的论坛
http://bbs.edw.com.cn/index.asp
恒颐高科论坛
http://www.xiexiebang.com/
中国单片机公共实验室
http://www.xiexiebang.com/
北京科银京成技术公司
http://www.xiexiebang.com/
微芯力科技
http://www.xiexiebang.com
驱动开发网之嵌入式版块,挺综合的一个网站
http://www.xiexiebang.com/index.php
电子爱好者家园[2004年09月30日] http://home.ee521.com/main.asp
广州友善之臂电子有限公司
http://www.arm9.net/index.asp
好了 兄弟 开始努力 我们一起加油哈...
第四篇:嵌入式系统开发总结(uCCOS+uCGUI+uCFS)
嵌入式系统开发总结(uC/COS+uC/GUI+uC/FS)
今天终于把做了一个多月的嵌入式系统软件交了上去。终于可以轻松一下了,但是期末临近,看来没得闲了。现在总结一下整个开发过程,希望对想要入门嵌入式系统开发的朋友有所帮助。
首先要说的是,整个开发过程很艰苦,主要是因为第一次接触嵌入式开发,入门很难,同时由于大三有很多专业课,还有六级、实习面试等,在此对我的队友陈、马表示感谢,谢谢他们和我一直坚持到最后。
该系统实现基于uC/COS、uC/GUI、uC/FS的整合。首先要根据硬件配置三者。根据uC/GUI、uC/FS的文档资料很容易移植到操作系统uC/COS。其文档资料的下载地址请参见文章最后。
uC/COS是基于嵌入式的实时操作系统,它管理任务、内存、文件、电源等,为嵌入式系统提供多任务的开发环境。uC/GUI是一种用于嵌入式应用的图形支持软件,本系统借用uC/GUI实现系统所需要的各种界面。uC/FS是一种文件系统,本系统借用其来管理存储器中的文件,在book、message中都用到文件的读写,可以说uC/FS是本系统实现的不可或缺的部分。
该系统所有界面由uC/GUI 实现。主界面一窗口(Frame)为容器,添加菜单栏(Menu)来控制整个系统。其他界面以Dialog为容器,在Dialog中添加按钮(Button)、列表(ListView)、多行编辑框(MultiEdit)等。系统采用了“回调函数”机制,回调函数在用户程序中定义,当一个指定的事件发生时,通知图形系统调用指定的函数。通常应用于一个窗口内容改变时自动重绘的场合。该系统利用回调函数初始化窗口,当窗口内容改变时重绘窗口,同时处理事件响应,例如当鼠标点击“Read”按钮是,通过回调函数调用txtTask()函数弹出电子书显示对话框(Txt)。
总的来说,该设计结构合理,逻辑严密,各个模块相互协调实现了复杂的功能。系统界面小组力求简单大方,各个模块的功能实现都用到了不少精妙的算法。但是,由于小组能力有限,前期对嵌入式的了解浅薄,以及时间等各方面的限制,系统并没有完全实现所预期的功能,也可以说仅实现了一些辅助功能。首先说message模块,设计预期是用到红外发送,实现与红外手机的数据传输和操纵手机的短信发送,但是在实际操作中小组发现需要扩展外围电路(红外发送),由于资金问题,小组讨论放弃该功能,仅实现了信息编辑和信息保存功能。其实该功能的实现小组也是有很清晰的思路的,如果有足够的资金和时间,小组完全可以实现该功能,这里很有些遗憾。
然后是文件系统,最后的几天里,我们发现了一个严重的问题,也就是我们所用文件系统所管理的RAM是可挥发性的(一时没有意识到),我们保存到其中的文件在系统下一次启动的时候都会消失。小组发现norflash是不可挥发的存储器,于是我们考虑将文件存储到norflash中,但是在将norflash添加到uC/FS中的过程中,我们发现必须为其编写驱动程序。经过数天的努力,我们编辑出了norflash的uC/FS驱动,但是很遗憾,没有成功,竞赛举办方给出的norflash模块的实验太过简单,无法编辑驱动程序的底层控制存储器算法。(本小组编写的norflash驱动将在附件中给出)
Music模块,其实music仅仅实现了简单的mp3播放功能,同时提供暂停、下一首等功能,但是经过小组的不懈努力仍然没有声音。于是我们怀疑是硬件模块(UCB1400、AC97CODEC)的问题。
系统整体功能也有待改进,比如开机,进行一段时间的操作后,系统就会不正常的死掉。虽然我们做了大量的性能改良功能,但这个问题依然存在。
小组在近期做了此次竞赛的总结,一直表示此次竞赛给我们提供了一个很好的学习机会,大家都有了很大的提高,至少是对嵌入式有了切身的认识。大家对嵌入式系统设计也有了很大的兴趣,同时表示将在以后对嵌入式进行更深层次的研究。
在此,我们对同类设计提供一些建议。前期应该对资金、时间等做准确的估计,同时选择最主要的功能模块,这样可以集中有限精力将单个模块的功能实现的更加强大。在功能设计的阶段应尽量考虑到所有细节,这样可以避免在最后时刻发现关键因素致使系统功能大打折扣。系统的创新点:
1、使用uC/FS管理文件
电子书模块和短信编辑模块的Save功能都需要大量操作文件的代码。由于实时操作系统uC/GUI没有实现文件系统,在参考了各种版本的文件系统后,小组决定选用uC/FS。uC/FS是一种FAT格式的文件系统,它可以用于所有的存储媒体,但你必须提供存储媒体的底层接口函数。
引进uC/FS后,小组很方便地实现了系统的各种主要功能。
2、借用软键盘代替手写字体识别功能
当考虑到手写字体识别功能的难度和时间的有限,小组讨论果断决定使用软件盘实现字符的输入功能。
首先,小键盘界面小巧简洁。我们以woindow系统中的软键盘为模板,删除掉不需要的复杂按键,形成了独具风格的嵌入式版软键盘。
其次,由于界面大小限制,软键盘进入了”shift”键,实现键盘按键的切换,实现了所有字符(包括数字、大小写字母和各种操作符)的输入功能。
3、系统内容丰富多彩
这一点可以说是系统的坏处也可以说是系统的好处,坏处就是由于本次竞赛时间有限,有些功能实现的也比较简单,但是可惜的是该系统脉络清晰,很合理地将各个模块有机地结合到了一起。而且各个模块并不是相互独立的,而是相互约束、相互协作的。例如:message模块的Save功能,将文本信息保存到存储器中,保存的文件有可以在book中查阅;通讯录协助message模块中Send功能的手机号码查询。
这些都可以说是本系统的一大特色。
主界面:
(各个模块的界面以及具体实现请参看后续文章)程序流程框图:
uC/GUI中文手册下载:http://download.csdn.net/source/466900
uC/FS正式版(内含使用手册)下载:http://download.csdn.net/source/466918 uC/COS中文手册下载:http://download.csdn.net/source/466905 uC/GUI完整实例(超有用):http://download.csdn.net/source/467738
第五篇:嵌入式Linux系统开发教程实验报告
嵌入式Linux系统开发教程实验报告
组员:武易 金鹏飞 周长升
实验一 熟悉嵌入式系统开发环境
一实验目的
1.熟悉嵌入式系统硬件实验平台 2.掌握超级终端配置方法。
3.掌握嵌入式系统开发环境配置,ARM-Linux下NFS服务器的配置方法 4.掌握常用的 Linux下shell命令
二实验设备及工具
硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境
三实验内容
(1)掌握嵌入式系统实验平台上的各类借接口的位置;
(2)配置windows的超级终端,熟悉vivi的命令行,bootload、kernel、root和用户程序的介绍;
(3)配置linux的终端,配置网络服、Ip地址,开发目录共享,挂载等。
四实验结果
实验二嵌入式Linux程序设计
一实验目的
1.掌握嵌入式Linux软件设计方法原理 2.掌握Makefile文件设计方法。
3.熟悉Linux下静态库和共享库的设计
二实验设备及工具
硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境
三实验内容
(1)编写一个带输入、输出的由5个文件组成的嵌入式软件;(2)写好makefile文件,并上机调试;(3)用变量指明两种编译器。
四实验结果
实验三
kernel与root的设计和烧写
一实验目的
1.掌握Linux内核配置与裁剪的方法 2.理解根文件系统配置。
3.掌握嵌入式系统内核和根文件系统的烧写的过程
二实验设备及工具
硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境
三实验内容
对嵌入式Linux系统进行裁剪、配置和编译,生成自己需要的操作系统映像文件,并将其烧写到flash中。
四实验结果
实验四搭建嵌入式系统开发环境
一实验目的
1.掌握嵌入式开发环境的配置 2.掌握开发工具链的安装与配置。
3.掌握嵌入式系统内核和根文件系统的烧写的过程
二实验设备及工具
硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境
三实验内容
(1)安装配置嵌入式开发环境;(2)安装与配置工具链;(3)内核和根文件系统的烧写
四实验结果
实验五嵌入式驱动程序设计
一实验目的
1.学习在LINUX 下进行驱动设计的原理
2.掌握使用模块方式进行驱动开发调试的过程
二实验设备及工具
硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境
三实验内容
在PC 机上编写简单的虚拟硬件驱动程序并进调试,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。
四实验结果
实验六
S3C2410处理器硬件电路设计
一实验目的
1.熟悉硬件电路设计
2.掌握简单的S3c2410处理器的电路设计。3.掌握protel软件的使用
二实验设备及工具
硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。
软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境
三实验内容
使用protel 99se 做s3c2410处理器最小系统电路设计,A/D数据采集模块电路设计。
四实验结果