嵌入式系统作业及答案
- 格式:doc
- 大小:72.50 KB
- 文档页数:4
嵌入式系统考试试题及答案一、选择题1、嵌入式系统是指哪些设备?A.智能手机B.平板电脑C.个人电脑D.所有电子设备答案:D.所有电子设备解释:嵌入式系统是指嵌入在其它设备中的小型计算机系统,它们通常具有特定的功能和用途,例如控制机械、电子设备等。
因此,所有电子设备都可以看作是嵌入式系统的一种。
2、嵌入式系统的主要特点是什么?A.体积小B.功耗低C.处理能力强D.以上都是答案:D.以上都是解释:嵌入式系统通常具有体积小、功耗低、处理能力强等特点,这些特点使得它们能够适应各种不同的应用场景。
3、下面哪个不是嵌入式系统的应用?A.手机语音助手B.智能家居控制C.汽车发动机控制D.超级计算机答案:D.超级计算机解释:超级计算机是一种大型计算机系统,主要用于科学计算、数据分析等高性能计算领域,与嵌入式系统的应用场景不同。
4、嵌入式系统开发需要哪些技能?A.硬件设计B.软件编程C.系统集成D.以上都是答案:D.以上都是解释:嵌入式系统开发需要具备硬件设计、软件编程和系统集成等技能,因为嵌入式系统需要与具体的硬件设备进行交互,同时需要进行软件编程来实现特定的功能。
5、下面哪个是嵌入式系统开发的主要语言?A. C语言B. C++语言C. Java语言D. Python语言答案:A. C语言解释:C语言是嵌入式系统开发的主要语言之一,因为它具有高效的性能和直接访问硬件的能力,适合用于编写嵌入式系统的底层代码。
嵌入式系统是现代电子技术中非常重要的一部分,它们广泛用于各种领域,如工业控制、智能家居、医疗设备等。
因此,学习嵌入式系统的知识对于电子工程专业的学生来说是非常重要的。
在这里,我们提供了一些嵌入式系统期末考试的题目和答案,以帮助学生们更好地理解嵌入式系统的基本概念和原理。
解释:嵌入式系统通常具有小型化、快速化和智能化的特点,而巨型化并不是嵌入式系统的特点。
解释:嵌入式系统通常使用低级编程语言,如C语言和汇编语言,而Python语言通常用于高级编程和脚本编写,并不是嵌入式系统常用的编程语言。
第0章绪论1、什么是数字系统设计技术?在解决了对不同目标信息的数字化编码、数字化传输、数字化解码的基本理论、算法定义和协议规范之后,对其如何进行系统的构成,如何以最优化的性能(如速度)、最低廉的成本(如芯片面积、集成密度等)来实现该系统的技术。
2、什么是集成电路IC?集成电路(IC)是指通过一系列特定的加工工艺,将多个晶体管、电阻、电容等器件,按照一定的电路连接集成在一块半导体单晶片(如Si或GaAs)或陶瓷等基片上,作为一个不可分割的整体完成某一特定功能的电路组件3、什么是集成电路IP?集成电路IP是经过预先设计、预先验证,符合产业界普片认同的设计规范和设计标准,具有相对独立功能的电路模块或子系统。
其具有知识含量高、占用芯片面积小、运行速度快、功耗低、工艺容差性大等特点,可以复用(Reuse)于SOC、SOPC或复杂ASIC设计中。
4、什么是SOC?SOC,即嵌入式系统发展的最高形式——片上系统。
从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲, SOC是一个微小型系统,第1章嵌入式系统基础知识1、计算机系统的三大应用领域是什么?服务器市场,桌面市场,嵌入式市场2、通用计算机与嵌入式系统的对比是什么?3、分别从技术角度和系统角度给出嵌入式系统的定义技术角度:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。
是将应用程序、操作系统和计算机硬件集成在一起的系统系统角度:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统4、嵌入式系统的特点是什么?从三要素说:嵌入式:嵌入到对象体系中,有对象环境要求专用性:软、硬件按对象要求裁减计算机系统:实现对象的智能化功能功耗限制、低成本、多速率、环境相关性、系统内核小、专用性强、不可垄断性、产品相对稳定性具有实时性5、请从嵌入式系统软件复杂程度来对嵌入式系统进行分类?循环轮询系统,有限状态机系统,前后台系统,单处理器多任务系统,多处理器多任务系统6、常用电平标准有哪些?理解电平匹配的含义。
嵌入式系统试题及答案一、单项选择题(每题2分,共20分)1. 嵌入式系统的特点是()。
A. 体积小、成本低、功能强B. 体积大、成本高、功能弱C. 体积小、成本低、功能弱D. 体积大、成本高、功能强答案:A2. 以下哪个不是嵌入式系统的组成部分?()A. 嵌入式微处理器B. 嵌入式操作系统C. 通用操作系统D. 嵌入式软件答案:C3. 嵌入式系统通常用于()。
A. 个人计算机B. 服务器C. 家用电器D. 网络设备答案:C4. 在嵌入式系统中,以下哪个不是常用的编程语言?()A. C语言B. C++C. JavaD. Python答案:D5. 嵌入式系统的开发流程不包括以下哪个步骤?()A. 需求分析B. 系统设计C. 系统测试D. 系统销售答案:D6. 以下哪个是嵌入式系统的硬件平台?()A. 单片机B. 个人电脑C. 服务器D. 工作站答案:A7. 嵌入式系统的实时性要求通常()。
A. 非常高B. 一般C. 非常低D. 可有可无答案:A8. 以下哪个不是嵌入式系统的开发工具?()A. 编译器B. 调试器C. 编辑器D. 游戏机答案:D9. 嵌入式系统通常不用于以下哪个领域?()A. 汽车电子B. 移动通信C. 航空航天D. 办公自动化答案:D10. 以下哪个是嵌入式系统的软件平台?()A. 操作系统B. 数据库系统C. 网络服务器D. 办公软件答案:A二、多项选择题(每题3分,共15分)1. 嵌入式系统的开发需要考虑以下哪些因素?()A. 系统稳定性B. 系统安全性C. 系统可扩展性D. 系统成本答案:ABCD2. 嵌入式系统的硬件设计通常包括以下哪些部分?()A. 微处理器B. 存储器C. 电源管理D. 显示设备答案:ABCD3. 嵌入式系统的软件设计通常包括以下哪些部分?()A. 操作系统B. 应用程序C. 驱动程序D. 用户界面答案:ABCD4. 以下哪些是嵌入式系统的开发工具?()A. 交叉编译器B. 版本控制系统C. 性能分析工具D. 游戏机答案:ABC5. 嵌入式系统在以下哪些领域有广泛应用?()A. 工业控制B. 消费电子C. 医疗设备D. 办公自动化答案:ABC三、判断题(每题2分,共10分)1. 嵌入式系统与通用计算机系统没有区别。
《嵌入式系统开发》习题习题11.什么是嵌入式系统?有何特点?答:嵌入式系统的概念有很多种,在嵌入式系统领域中比较认同的嵌入式系统的概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统的特点:⑴嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
⑵系统内核小。
由于嵌入式系统一般是应用于小型电子装置中,系统资源相对有限,所以内核较之传统的操作系统要小得多。
⑶专用性强。
⑷系统精简。
⑸系统软件(OS)要求具有高实时性。
⑹嵌入式软件开发要走向标准化,需要使用多任务的操作系统。
⑺嵌入式系统本身并不具备在其上进行进一步开发的能力。
2.嵌入式系统可以分为几层?每一层各完成哪些功能?答:嵌入式系统由硬件层、中间层、软件层和功能层组成。
硬件层:以嵌入式微处理器为核心,存储器用以存储数据和执行代码,相关的设备接口和I/O接口,这些组成了一个嵌入式系统的基础,实现逻辑运算,算术运算等。
中间层:将系统上层软件和底层硬件进行分离,封装成标准的接口,在上层软件开发人员无需知道底层硬件的具体情况,完成的任务是底层硬件的初始化、数据的输入/输出操作、硬件的配置等功能。
软件层:主要由RTOS、文件系统、图形用户接口、网络系统和通用的组件模块组成,是软件开发的基础。
功能层:用来完成被控对象的控制功能。
3.嵌入式系统中硬件抽象层有什么特点?答:硬件抽象层是介于硬件层与软件层之间的中间层,它将系统上层软件与底层硬件分离开来,具有以下两个特点:⑴硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,硬件抽象层需要为操作系统提供操作和控制具体硬件的方法。
⑵操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。
嵌入式系统原理及应用作业题答案第1章嵌入式系统概述1. 什么是嵌入式系统?嵌入式系统的组成?答:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
组成:嵌入式处理器、外围设备、操作系统、应用软件。
2. 典型的嵌入式处理器有哪些?3. 答:微处理器、微控制器、DSP处理器、片上系统SOC。
4. 典型的RTOS操作系统有哪些?5. 答:嵌入式LinUX、卩CLinUX、WindoWS Embedded CE、WindoWS Embedded ComPaCt 7 > μC/OS-II > μC/OS-III、VXWorks、eCos 等。
6. 列举身边的嵌入式应用产品?7. 嵌入式系统的设计可以分成四个阶段:需求分析、架构设计和概要设计、详细设计和开发、测试反馈。
第2章COrteX-M体系结构8. ARM COrteX系统的处理器分为: A 、__________ R ____ 、____ M ____ 。
9. ARM COrteX-M3为32位微控制器,请问32位指的是CPlJ字长。
10. 3、COrteX-M3处理器能够以小端格式或大端格式访问存储器中的数据字,而访问代码时始使用小端格式______11. ARM COrteX-M3体系结构采用哈佛总线结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行进行。
12. CM3寄存器分为通用寄存器,包括R0~R15和特殊功能寄存器,包括程序状态寄存器、异常屏蔽寄存器、控制寄存器。
13. 寄存器R13是堆栈指针寄存器。
14. 寄存器R14是程序连接寄存器。
15. 寄存器R15是程序PG16. CM3的堆栈指针分为__MSP__ _=PSP r O存储器堆栈堆栈分为:向上生长(即向高地址方向生长)的递增堆栈;向下生长(即向低地址方向生长),称为递减堆栈。
第一章1-1.简述嵌入式系统的定义。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
1-2.简述嵌入式系统的组成。
从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。
其中嵌入式处理器通常是单片机或微控制器,支撑硬件主要包括存储介质、通信部件和显示部件等,嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件及应用中间件等。
嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。
嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM 、PowerPC、Xscale、MIPS等);嵌入式操作系统是指在嵌入式Linux、uCLinux、WinCE等。
1-3.ARM7处理器使用的是(ARMv4)指令集。
ARM7内核采用冯·诺依曼体系结构,数据和指令使用同一条总线。
内核有一条3级流水线,执行ARMv4指令集。
1.4.Cortex-M3主要应用在哪些方向?主要用在平衡ARM的产品的性能和功耗,提高ARM的性能,降低其功耗1.5.简述StrongARM处理器和ARM处理器的关系StrongARM是第一个包含5级流水线的高性能ARM处理器,但它不支持Thumb指令集1-6.ARM9采用的是(5)级流水线设计。
存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分数据总线和指令总线。
1.7.简述ARM9和ARM9E的不同点硬件处理器不一样指令集不一样1.8.ARM11采用的是什么架构的指令ARMv6嵌入式操作系统的特点(1)体积小(2)实时性(3)特殊的开发调试环境SecureCore处理器系列的特点(1)支持ARM指令集和Thumb指令集,以提高代码密度和系统性能(2)采用软内核技术一提供最大限度的灵活性,可以防止外部对其进行扫描探测(3)提供了安全特性,可以抵制攻击(4)提供面向智能卡和低成本的存储保护单元MPU(5)可以集成用户自己的安全特性和其它的协处理器第二章2-1.简述ARM可以工作在几种模式。
第1章嵌入式体系基本【1 】1.什么是嵌入式体系?它由哪几部分构成?有何特点?写出你所想到的嵌入式体系.答:(1)界说:国内对嵌入式体系的一般界说是:以运用为中间,以盘算机技巧为基本,软硬件可裁剪,从而可以或许顺应现实运用中对功效.靠得住性.成本.体积.功耗等严厉请求的专用盘算机体系.(2)构成:嵌入式处理器.外围装备.嵌入式操纵体系和运用软件等几部分构成.(3)特点:a.软硬件一体化,集盘算机技巧.微电子技巧.行业技巧于一体;b.须要操纵体系支撑,代码小,履行速度快;c.专用紧凑,用处固定,成本迟钝;d.靠得住性请求高;e.多样性,运用普遍,种类繁多.(4)嵌入式体系:小我数字助理(PDA).机顶盒(STB).IP德律风.2.嵌入式处理器分为哪几类?答:(1)低端的微控制器(MicroController Unit,MCU);(2)中高端的嵌入式微处理器(Embeded MicroProcessor Unit,EMPU);(3)通讯范畴的DSP处理器(Digital Signal Processor,DSP);(4)高度集成的片上体系(System on Chip,SoC).3.ARM英文原意是什么?它是一个如何的公司?其处理器有何特点?答:(1)英文原意:Advanced RISC Machines.高等精简指令集机械.(2)公司简介:该公司是全球领先的16/32位RISC微处理器常识产权设计供给商,经由过程将其高机能.低成本.低功耗的RISC微处理器.外围和体系芯片设计技巧让渡给合作伙伴来临盆各具特点的芯片.ARM公司已成为移动通讯.手持装备.多媒体数字花费嵌入式解决计划的RISC尺度.(3)其处理器特点:a.小体积.低功耗.低成本而高机能;b.16/32位双指令集;c.全球的合作伙伴浩瀚.4.什么是及时体系?它有哪些特点?若何分类?答:(1)及时体系的界说:及时体系(Real Time System)是指产生体系输出的时光对体系至关重要的体系.(2)特点:及时性.并行性.多路性.自力性.可猜测性.靠得住性.(3)分类:依据响应时光的不合,及时体系可分为3种类型:强及时体系.弱及时体系.一般及时体系.依据肯定性的不合,及时体系可分为2种类型:硬及时.软及时.5.RTOS由哪几部分构成?它有哪些特点?与一般操纵体系比拟有何不合?答:(1)构成:及时内核.收集组件.文件体系.图形用户界面.(2)特点:a.支撑异步事宜的响应;b.中止和调剂义务的优先级机制;c.支撑抢占式调剂;d.肯定的义务切换时光和中止延迟时光;e.支撑同步.(3)与一般OS的不合:a.及时性:响应速度快,只有几微秒;履行时光肯定,可猜测;b.代码尺寸小:只有10~100KB,节俭内存空间,下降成本;c.运用程序开辟较难;d.须要专用开辟对象:仿真器.编译器和调试器等.6.单片机体系.嵌入式体系和SOC体系三者有何差别和接洽?答:(1)今朝嵌入式体系的主流是以32位嵌入式微处理器为焦点的硬件设计和基于及时操纵体系(RTOS)的软件设计;(2)单片机体系多为4位.8位.16位机,不合适运行操纵体系,难以进行庞杂的运算及处理功效;(3)嵌入式体系强调基于平台的设计.软硬件协同设计,单片机大多采取软硬件流水设计;(4)嵌入式体系设计的焦点是软件设计(占70%阁下的工作量),单片机体系软硬件设计所占比例基底细同.(5)SoC是嵌入式体系的最高实现情势,它集成了很多功效模块,它的焦点技巧是IP(Intellectual Property Core,常识产权核)核.7. 无第2章嵌入式体系开辟进程1.嵌入式体系开辟进程分为哪几个阶段?每个阶段的特点是什么?答:(1)需求剖析阶段:a.对问题的辨认和剖析;b.制订例格解释文档;c.需求评审.(2)设计阶段:a.数据流剖析;b.划分义务;c.界说义务间的接口.(3)生成代码阶段:a.代码编程;b.交叉编译和链接;c.交叉调试;d.测试.(4)固化阶段2.嵌入式体系有哪几种调试方法?如今最风行的是哪种?运用什么接口?答:(1)调试方法:源程序模仿器方法.监控器方法.仿真器方法.(2)如今最风行的是仿真器方法,运用JTAG(Joint Test Action Group,结合测试行为组)接口.3.什么是板级支撑包?它一般应完成哪些工作?答:(1)界说:有些嵌入式操纵体系的内核明白分为两层,上层一般称为“内核”,而底层则称为“硬件抽象层”或“硬件适配层”,缩写为HAL,有的厂商将硬件抽象层称为BSP,即板级支撑包(BoardSupport Package).(2)重要完成工作:a.在体系启动时,对硬件进行初始化.B.为驱动程序供给拜访硬件的手腕.(3)重要感化:清除硬件差别.第3章 ARM体系构造1.ARM的英文全名是什么?ARM处理器有什么特点?答:见第1章课后习题第3题.2.ARM7和ARM9在流水线方面有何不合?答:ARM7是3级流水线构造,ARM9是5级流水线构造.AR]M9把3级流水线中的履行阶段的操纵进行再分派,即把履行阶段中的“存放器读”插在译码阶段中完成,把“存放器写”安插在另一级(即第5级)完成,同时,在该级之前,再安插一级(存储拜访).3.ARM处理器支撑的数据类型有哪些?答:(1)Byte 字节,8位;(2)Halfword 半字,16位;(3)Word 字,32位;4.写出ARM运用的各类工作模式和工作状况.答:(1)工作模式:详见下表:(2)工作状况:a.ARM:32位,这种状况下履行字对齐的ARM指令;b.Thumb:16位,这种状况下履行半字对齐的Thumb指令.5.ARM处理器总共有若干个存放器?个中哪个用做PC?哪个用做LR?答:(1)ARM处理器总共有37个存放器:31个通用存放器,6个状况存放器. (2)R15用做程序计数器PC,R14用做子程序链接存放器LR.6.假设R0=0x12345678,运用将R0存储到0x4000的指令存到存储器中,若存储器为大端组织,写出从存储器0x4000处加载一个字节到R2的指令履行后R2的值.答:因为0x4000是大端组织,所以R0存进后,0x4000中稀有0x56781234,从0x4000加载一个字节到R2后(由地位到高位加载),R2的值为0x34. 7.ARM920T处理器参加了哪两个协处理器?各自的重要功效是什么?答:ARM920T处理器参加了两个协处理器:(1)CP14,许可软件拜访调试通讯通道;(2)体系控制协处理器CP15,供给了一些附加存放器用于设置装备摆设和控制Caches.MMU.呵护体系.时钟模式和其他体系选项.8.ARM920T支撑哪些时钟模式?答:快速总线模式.同步模式.异步模式.9.什么是写直达和写回Cache操纵,各有何特点?答:(1)写直达:当CPU对Cache写射中时,Cache与主存同时产生写修正.长处:一致性好;缺陷:耗时.(2)写回:当CPU对Cache写射中时,只修正Cache的内容而不立刻写入主存,只当此履行被换出时才写回主存.长处:削减拜访主存次数,进步效力.缺陷:一致性差点.10.ARM为何集成了32位的ARM指令集和16位的Thumb指令集?(即它的利益)答:可供给长的转移规模.壮大的算术运算才能和大的寻址空间.11.什么是big-endian和little-endian,编写一段程序测试你所用的盘算机体系构造采取哪种存储机制?答:(1)大端存储体系(big-endian):低地址存放高字节,高地址存放低字节.小端存储体系(little-endian): 低地址存放低字节,高地址存放高字节.(2)int x=0x12345678;int *p=&x;if(*(char*)p=0x78)…little endianelse…big endian第4章 ARM体系硬件设计基本1.一个典范的可履行映像由哪几部分构成?答:2.汇编和C说话的互相挪用办法.答:(1)汇编程序挪用C程序的办法为:起首在汇编程序中运用IMPORT伪指令事先声明将要挪用的C说话函数;然后经由过程BL指令来挪用C函数.(2)C程序挪用汇编子程序的办法为:起首在汇编程序中运用EXPORT伪指令声明被挪用的子程序,暗示该子程序将在其他文件中被挪用;然后在C程序中运用extern症结字声明要挪用的汇编子程序为外部函数. (填补)3.基于ARM的硬件启动流程?答:(1)分派中止向量表;(2)初始化存储器体系;(3)初始化各工作模式下的客栈;(4)初始化有特别请求的硬件模块;(5)初始化用户程序的履行情况;(6)切换处理器的工作模式;(7)挪用主运用程序.第5章基于S3C2410的体系硬件设计1.温习控制:P230 I/O口编程实例.填补:2.中止的处理流程?答:(1)保管现场;(2)模式切换;(3)获取中止源;(4)中止处理;(5)中端返回,恢复现场.3.中止存放器的感化及相干的操纵?P235-237.。
(单选题)1: Linux安装时可以选择的安装模式描述正确的是()。
A: 光盘安装
B: 硬盘安装
C: 网络安装
D: 以上全对
正确答案: D
(单选题)2: 下列不属于嵌入式操作系统的是()。
A: Windows CE
B: VxWorks
C: windowsXP
D: UC/OS
正确答案: C
(单选题)3: 专门用于信号处理方面的处理器是()。
A: 嵌入式微控制器(MCU)
B: 嵌入式数字信号处理器(DSP)
C: 嵌入式微处理器
D: 嵌入式片上系统
正确答案: B
(单选题)4: Boot Loader的启动方式描述正确的是()。
A: 网络启动方式
B: 磁盘启动方式
C: Flash启动方式
D: 以上全对
正确答案: D
(单选题)5: 多线程程序的优点描述正确的是()。
A: 提高应用程序响应
B: 使多CPU系统更加有效
C: 改善程序结构
D: 以上全对
正确答案: D
(单选题)6: U-Boot可支持的主要功能描述正确的是()。
A: 系统引导
B: 设备驱动
C: 上电自检功能
D: 以上全对
正确答案: D
(单选题)7: Uc/OS操作系统的特点描述错误的是()。
A: 实时操作系统。
;exp3_1_1.s source code
N EQU 5
AREA Adding, CODE, READONLY
ENTRY
MOV R0,#0
MOV R1,#1
REPEAT ADD R0,R0,R1
ADD R1,R1,#1
CMP R1,#N
BLE REPEAT
LDR R2,=RESULT
STR R0,[R2]
HERE B HERE
AREA DataSpace, DATA, READWRITE
RESULT DCD 0
END
要求:
(1)画出以上代码的流程图,解释代码所能够实现的功能;(2)当代码执行完后,请指出R0=?,R1=?,R2=?
R0=1+2+3+4+5=15;R1=6;R2=Result地址
在ARM初始化过程中,如何给每一种模式下的SP定义一个堆栈地址?要求:(1)给出代码,(2)简要解释定义的过程。
P183
第三题
使用汇编实现下列for循环:
For (i=0; i<=10; i++) {a[i]=b[i]+i}
要求:(1)给出代码,(2)用ADS1.2验证所编程序。
N EQU 10
AREA Adding, CODE, READONLY
ENTRY
MOV R1,#0
MOV R2,=A
MOV R3,=B
REPEAT
LDR R0,[R3]
ADD R0,R0,R1
STR R0, [R2]
ADD R1,R1,#1
ADD R2,R2,#4
ADD R3,R3,#4
CMP R1,#N
BLE REPEAT
HERE B HERE
AREA DataSpace, DATA, READWRITE
A DCD 0 0 0 0 0 0 0 0 0 0 0
B DCD 0 0 0 0 0 0 0 0 0 0 0
END
基于ARM的硬件启动程序应该完成那些工作?
P182
第五题
设想使用S3C2440的UART0,以DMA方式接收串口发来的数据,并将接收到的数据存放至Nand Flash中。
试编写UART0和NAND Flash控制器的初始化C程序。
UART0初始化
//对Uart进行初始化,以所需要的波特率为输入参数
void myUart0_Init(int baud)
{
rGPHCON = rGPHCON & (~(0xffff)) ;
rGPHCON = rGPHCON | (0xaaa0) ;
rGPHUP = 0x0; // The pull up function is enable
rUFCON0=0x31; //使用FIFO,RX_FIFO=32
rUMCON0=0x00; //不使用自动流控制
rULCON0=0x03; //不采用红外线传输模式,无奇偶校验位,1个停止位,8个数据位
rUCON0=0x06; //接收改成DMA方式
rUBRDIV0=( (int)(PCLK/16./baud+0.5) -1 );
}
NandFlash 控制器初始化
void NF8_Init(void)
{
// for S3C2440
rGPACON = (rGPACON &~ (0x3f<<17)) | (0x3f<<17);
rNFCONF = (TACLS<<12)|(TWRPH0<<8)|(TWRPH1<<4)|(0<<0);
// TACLS [14:12] CLE&ALE duration = HCLK*TACLS.
// TWRPH0 [10:8] TWRPH0 duration = HCLK*(TWRPH0+1)
// TWRPH1 [6:4] TWRPH1 duration = HCLK*(TWRPH1+1)
// AdvFlash(R) [3] Advanced NAND, 0:256/512, 1:1024/2048
// PageSize(R) [2] NAND memory page size
// when [3]==0, 0:256, 1:512 bytes/page.
// when [3]==1, 0:1024, 1:2048 bytes/page.
// AddrCycle(R) [1] NAND flash addr size
// when [3]==0, 0:3-addr, 1:4-addr.
// when [3]==1, 0:4-addr, 1:5-addr.
// BusWidth(R/W) [0] NAND bus width. 0:8-bit, 1:16-bit.
rNFCONT = (0<<13)|(0<<12)|(0<<10)|(0<<9)|(0<<8)|(1<<6)|(1<<5)|(1<<4)|(1<<1)|(1<<0);
// Lock-tight [13] 0:Disable lock, 1:Enable lock.
// Soft Lock [12] 0:Disable lock, 1:Enable lock.
// EnablillegalAcINT[10] Illegal access interupt control. 0:Disable, 1:Enable
// EnbRnBINT [9] RnB interrupt. 0:Disable, 1:Enable
// RnB_TrandMode[8] RnB transition detection config. 0:Low to High, 1:High to Low // SpareECCLock [6] 0:Unlock, 1:Lock
// MainECCLock [5] 0:Unlock, 1:Lock
// InitECC(W) [4] 1:Init ECC decoder/encoder.
// Reg_nCE [1] 0:nFCE=0, 1:nFCE=1.
// NANDC Enable [0] operating mode. 0:Disable, 1:Enable.
}
void Dma_init()
{
U32 srcAddr,dstAddr;
int tc,dsz,burst;
int length;
tc=32;
dsz=0;//字节传输
burst=0;//DMA原子操作的数据传输个数
length=tc*(burst ? 4:1)*((dsz==0)+(dsz==1)*2+(dsz==2)*4);
pISR_DMA0=(int)Dma0Done;
rINTMSK&=~(BIT_DMA0);
srcAddr = (U32)URXH0;
dstAddr = (U32)string_rec;
rDISRC0=srcAddr;
rDISRCC0=(1<<1)|(1<<0); // fixed,APB
rDIDST0 =dstAddr;
rDIDSTC0=(0<<2)|(0<<1)|(0<<0); // inc,AHB
rDCON0=(0<<31)|(0<<30)|(1<<29)|(burst<<28)|(0<<27)|(1<<24)|(1<<23)|(0<<22)|(dsz<<2
0)|(tc);
rDMASKTRIG0=(1<<1);
}。