ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:36.12KB ,
资源ID:10724709      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10724709.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(现代电子系统设计习题解答5.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

现代电子系统设计习题解答5.docx

1、现代电子系统设计习题解答5第5章 习题参考答案1什么是嵌入式?目前主要有哪些硬件平台?嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。嵌入硬件平台一般包含以下部分:1) 嵌入式处理器 2) 存储器 3)I/O接口 4) 输入/输出设备2嵌入式操作系统有哪些?Linux操作系统适用于LPC2200平台吗?嵌入式操作系统有:Linux、uC/OS-、VxWorks、Windows CE、Psos、Palm OS、LynxOS、QNX、LYNX等。Linux操作系统不能直接应用于用于LPC2200平台。但Lin

2、ux的分支uCLinux可以支持 LPC2200平台。 3嵌入式系统有哪些特点?并请说说嵌入式芯片的选择原则。嵌入式系统具有以下特点:(1) 系统内核小。(2) 目标代码小。(3) 专用性强。(4) 系统精简。(5) 高实时性操作系统。(6)低功耗、体积小、集成度高、成本低。(7) 嵌入式系统开发需要专门的开发工具和环境。嵌入式芯片的选择原则:在一个系统中使用什么样的嵌入式处理器主要取决于应用领域、用户的需求、成本、开发的难易程度等因素。在开发过程中,还需要考虑其他一些工程因素,综合选择最适用的硬件平台。4嵌入式系统应用开发过程包含哪些?其中操作系统的移植步骤是必要的吗?嵌入式项目的开发过程,

3、大的方面可以分为两个阶段。第一阶段为在实验开发平台上的开发调试阶段,要完成完成项目的主要指标;第二阶段是在第一阶段实现目标的基础上,量体裁衣,再根据项目的需求剪裁或扩展,设计适合该项目的硬件工程板。设计好的工程板资源既要满足目标的需求,同时要考虑产品的集成性、低成本、小型化等,更重要的是可靠性等因素,另外要考虑设计的可升级性和兼容性等.1硬件系统的准备2C/C+、ARM汇编语言知识的学习 3ARM芯片资料的研究4熟练开发软件环境的使用5编写启动代码6编写用户代码7其他文件的编写8工程板的开发与调试对于嵌入式系统的应用,如果当设计一个简单的应用程序时,可以不使用操作系统,但是当设计较复杂的程序时

4、,可能就需要一个操作系统(OS)来管理和控制内存、多任务、周边资源等。5LPC2200系列ARM硬件结构有何特点?LPC2200系列ARM是基于ARM7TDMI-S为内核的微控制器,处理器时钟高达6075MHz,片内集成高达512KB的高速FLASH存储器(内存),128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。内部集成UART、CAN、SPI、SSP、I2C、ADC、DAC、PWMO、RTC。开放的外部总线接口可以扩展64MB的异步静态存储器设备。由于使用了3级流水线技术,处理和存储系统的所有部分都可连续工作。采用ARM7TDMI-S处理器,使用了一个被称为Th

5、umb的独特的结构化策略,因此具有两个指令集:(1) 标准32位ARM指令集。(2)16位Thumb指令集。6什么是大端模式和小端模式? 请判断下列两种情况分别是什么模式。大尾端(大端),高位优先存储。即(A3)11,22,33,44(A0);小尾端(小端),低位优先存储。即(A3)44,33,22,11(A0);(1) (MSB)11,22,33,44(LSB); 大端模式(2) (MSB)44,33,22,11(LSB)。 小端模式7请在下划线上指明以下ARM指令的寻址方式。(1)ADD R0,R1,R2,LSL #3 寄存器移位寻址 寻址方式(2)LDR R0,R1,4 基址寻址 寻址方

6、式(3)LDMIA R0,R1,R2,R3 多寄存器寻址 寻址方式(4)MOV PC,R14 相对寻址 寻址方式(5)ADD R0,R0,0x3f 立即寻址 寻址方式(6)STR R0,R1 寄存器间接寻址 寻址方式(7)ADD R0,R1,R2 寄存器寻址 寻址方式(8)LDR R0,R1,R2 基址寻址 寻址方式8在MDK350集成开发环境中,若要达到以下要求如何进行设置?(1) 项目编译链接后可以生成HEX格式的编程文件;方法:右击Target选项,在弹出的快捷菜单中选择Options for Target Target1命令进行工程参数设置,在Output选项卡下选中Create HE

7、X File复选框,以便编译后自动生成HEX编程文件。(2) 项目编译链接后自动进入软件仿真模式;方法:右击Target选项,在弹出的快捷菜单中选择Options for Target Target1命令进行工程参数设置,在Debug选项卡下选中左边的Use Simulator单选按钮及Limit Speed to Real-Time复选项,以便在没有硬件环境情况下采用软件模拟器来进行模拟调试。(3) 文件中包含的头文件不在工程文件夹内时引导路径的设置;方法1:右击Target选项,在弹出的快捷菜单中选择Options for Target Target1命令进行工程参数设置,在C51选项卡下

8、Include File Path输入框中选择正确路径。方法2:直接添加相应头文件到工程中。(4) 项目编译链接后通过JLINK编程器自动下载程序至ARM芯片上的FLASH中;uVision 3为FLASH编程工具提供了一个命令接口,在Project-Option for Target对话框的Utilities选项卡中可配置FLASH编程器,通过选择Flash Configure Flash Tools命令也可进入此对话框。一旦配置好了命令接口方式,就可以通过Flash菜单下载(Download)或擦除(Erase)目标板中FLASH存储器的内容。(5) 项目编译链接后通过JLINK编程器自动

9、下载程序至ARM芯片上的RAM中并运行;方法:在Linker选项卡下取消选中Use Memory Layout from Target Dialog复选框,此时Scatter File文本框中程序分散加载地址文件有效。该文件的路径或内容可以通过右边的和按钮进行修改,引导编程器自动下载程序至ARM芯片上的RAM中并运行。(6) 在软件模拟仿真中能够观察程序中各语句的执行时间。方法:在调试状态下,进入“调试”菜单下“执行”进入点击“时间”即可。9在MDK350中如何进行LPC2292系统启动程序的开发设计?Keil uVision3会自动生成启动文件Startup.s,方便用户在该模板基础上根据需

10、要进行修改。10MDK350可以利用JLINK编程调试器进行编程下载和调试的步骤是什么?使用JLINK编程下载的过程:JLINK仿真器允许用户进行程序调试,并且下载到目标板的flash存储器。使用过程如下。 (1) 连接JLINK到目标板的JTAG接口。(2) 上电目标板。 (3) 在Project Options for Target Utilities对话框中配置Flash编程。 (4) 配置Flash Download Setup对话框。在RAM for Algorithm选项区域中,设置Start参数为0x;Size参数为0x3FE0。(5) 单击Add按钮,根据目标板中的Flash芯

11、片型号,并选择加入相应编程算法。然后,单击OK按钮来保存Flash下载设置。 (6) 将应用程序下载到Flash。使用Download to Flash工具栏按钮来下载应用程序到LPC2292器件及外挂Flash芯片。下载成功后断电,然后断开JLINK编程器。 (7) 重新加电,目标板独立工作,进行功能验证。11嵌入式ARM项目开发过程及要点有哪些?嵌入式ARM项目开发过程及要点如下:1.硬件系统的准备2.C/C+、ARM汇编语言知识的学习 3.仔细研究所用的芯片的资料4.熟练开发软件环境的使用5.编写启动代码6.编写用户代码7.其他文件的编写8.10工程板的开发与调试12C/OS-操作系统移

12、植文件有哪些?其中哪几个文件需要用户进行修改?移植工作主要集中在与处理器相关的4个文件,即OS_CPU.H、OS_CPU_C.C、OS_CPU_A.S和IRQ.INC。其中 OS_CPU.H移植代码头文件,文件中主要包含与编译器相关的数据类型定义、 堆栈类型定义、两个宏定义和几个函数说明。13设计一GPIO独立式按键输入电路及使用GPIO直接驱动LED电路,并编写通过按键控制LED点亮程序。按键按下时LED灯亮,按键松开时LED灯灭。#include config.hconst uint32 LED = 1 7; / P0.7控制LEDconst uint32 KEY1 = 1 16; / P

13、0.16连接KEY1/* 函数名称 :main()* 函数功能 :GPIO输入实验测试。* 检测按键KEY1。KEY1按下 ,LED亮,LED灭。*/int main (void) PINSEL0 = 0x; / 所有管脚连接GPIO PINSEL1 = 0x; IO0DIR = LED; / LED控制口输出,其余输入 while (1) if (IO0PIN & KEY1) = 0) IO0CLR = LED; / 如果KEY1按下,LED亮 else IO0SET =LED; / 松开则LED灭 return 0;/* End Of File*/14设计一个具有按键选择状态功能的16位流

14、水灯项目,演示状态不少于8个,并能够实现脱机独立运行。#include config.h/* LED16LED1 16个LED分别由P1.25 P1.10控制 */const uint32 LEDS16= (0XFF0; dly-) for (i=0; i50000; i+);/* 函数名称 :main()* 函数功能 :LED流水灯显示实验。*/int main (void) uint8 i; PINSEL1 = 0x; / 设置管脚连接GPIO IO1DIR = LEDS16; / 设置IO1控制口为输出 while (1) for (i=0; i8; i+) /* 流水灯花样显示 */

15、IO1SET = (LEDS16& (15 (10+i); DelayNS(20); IO1CLR = LEDS16 & (15 (10+i); DelayNS(20); return 0;/* End Of File*/15写出最小系统的定义,并画出最小系统原理框图。嵌入式最小系统是由保证微处理器可靠工作所必需的基本电路组成的。最小系统一般由微处理器、电源电路、晶体振荡器电路、复位电路和JTAG接口电路等组成。如果微处理器芯片没有片内程序存储器,则还要加上存储器系统,然后嵌入式处理器芯片才可能工作。16请在空格中注释出mem_c.SCF文件中各行语句的含义。ROM_LOAD 0x0;/内部R

16、OM起始地址, 因为LPC系列的ROM地址是从0x开始的 ROM_EXEC 0x;/可执行代码存放的起始地址, 即所写的代码编译成二进 制之后往ROM存放的起始代码 Startup.o (vectors, +First) ;/文件Startup存放在ROM的第一个块, 即 ;/Startup文件存放在低地址单元, 这是启动代 ;/码的存放位置 * (+RO) ;/接着放置其它代码(即* (+RO),* 是通配符 IRAM 0x ;/内部RAM的起始地址是0x, 这是针对 ;/LPC系列来说的, 如果其他芯片不是这样就需 ;/要修改 Startup.o (MyStacks) ;/ 放置Start

17、up.o (MyStacks) * (+RW,+ZI) HEAP +0 UNINIT ; /+0表示接着上一段,UNINIT 表示不初始化 Startup.o (Heap) ; / 放置堆底 STACKS 0x UNINIT ;/这是RAM的最高地址, LPC2292有16KB的空 ;/间, 所以为0x, 要根据实际情况进 ;/行修改 Startup.o (Stacks) ;/Stacks区域数据存放在最高地址单元中, 这是用 ;/户堆栈 17上题中,若改为在片上RAM(地址0x)中进行调试,请你设计相应的.SCF加载文件。在DebugInRam模式下,有如下分散加载文件:ROM_LOAD 0

18、xROM_EXEC 0x/加载映像文件(通用RAM首地址)Startup.o (vectors, +First)* (+RO)IRAM 0x/用户堆栈Startup.o (MyStacks)STACKS 0x UNINIT/系统堆栈Startup.o (Stacks)ERAM 0x7fe* (+RW,+ZI)HEAP +0 UNINITStartup.o (Heap)18LPC2000微控制器的UART有何特点?若要和PC RS-232串口进行通信,应该如何连接?并试设计UART串口收发程序。/* Descriptions: UART0通讯实验,中断方式,使用FIFO。*/#include c

19、onfig.h/* 定义串口模式设置数据结构 */typedef struct UartMode uint8 datab; / 字长度,5/6/7/8可选 uint8 stopb; / 停止位,1/2可选 uint8 parity; / 奇偶校验位,0-无校验,1-奇校验,2-偶校验UARTMODE;uint8 rcv_buf8; / UART0数据接收缓冲区volatile uint8 rcv_new; / 接收新数据标志/* 函数名称 :IRQ_UART0()* 函数功能 :串口0接收中断服务程序* 入口参数 :无* 出口参数 :无*/void _irq IRQ_UART0 (void)

20、uint8 i; if (U0IIR & 0x0F) = 0x04) rcv_new = 1; / 设置接收到新的数据标志 for (i=0; i8; i+) rcv_bufi = U0RBR; / 读取FIFO的数据,并清除中断 VICVectAddr = 0x00; / 中断处理结束/* 函数名称 :UART0_SendByte()* 函数功能 :向串口0发送1字节数据* 入口参数 :dat 要发送的数据* 出口参数 :无*/void UART0_SendByte (uint8 dat) U0THR = dat; / 要发送的数据/* 函数名称 :UART0_SendBuf()* 函数功能

21、 :向串口发送8字节数据* 入口参数 :dat 要发送的数据* 出口参数 :无*/void UART0_SendBuf (void) uint8 i; for (i=0; i ) return (0); if (set.datab 8) return (0); if (set.stopb = 0) | (set.stopb 2) return (0); if (set.parity 4) return (0); /* 设置串口波特率 */ U0LCR = 0x80; / DLAB = 1 bak = (Fpclk 4) / baud; U0DLM = bak 8; U0DLL = bak &

22、0xFF; /* 设置串口模式 */ bak = set.datab - 5; / 设置字长 if (set.stopb = 2) bak |= 0x04; / 判断是否为2位停止位 if (set.parity != 0) set.parity = set.parity - 1; bak |= 0x08; bak |= set.parity 4; / 设置奇偶校验 U0LCR = bak; return (1);/* 函数名称 :main()* 函数功能 :从串口UART0接收字符串ABCDEFGH,并发送回上位机显示。* 调试说明 :需要PC串口显示终端软件如EasyARM.exe。*/int main (void) UARTMODE set; set.datab = 8; set.stopb = 1; set.parity = 0; rcv_new = 0; PINSEL0 = 0x; / 设置I/O连接到UART0 UART0_Init(, set); /

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2