最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

嵌入式系统作业

IT圈 admin 37浏览 0评论

2024年1月24日发(作者:抗贞芳)

嵌入式系统作业:

1资料调研:简述嵌入式系统的定义、基本结构、用途及开发过程。

答:

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

嵌入式系统包括:硬件层,中间层,系统软件层,应用软件层。

硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。

硬件层与软件层之间为中间层,该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。

嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。

系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。

嵌入式系统开发流程一般可分为4个阶段:需求分析阶段、硬件开发阶段、软件开发阶段和程序固化阶段。

2简述ARM器件的发展过程、ARM的优势及基本框架结构

答:ARM器件的发展过程:1983年开始到目前为止,ARM内核共有ARM1、ARM2、ARM6、ARM7、ARM9、ARM10、ARM11和Cortex以及对应的修改版或增强版,随着内核版本的增强,其初始频率越高、架构越先进、功能也越强。ARM处理器内核,有早期的ARM9、ARM11核芯,目前主要有Cortex A5、A8、A9、A15核芯,以及基于以上架构的MPCore多核架构硬件核芯[2]。ARM在国际上主要的制造设计伙伴包括德仪、高通、英伟达、迈威科技、意法爱立信、三星、瑞萨、飞思卡尔等,他们的最新处理器大多为40 nm或28 nm、双核或者四核芯产品。

ARM的优势:耗电少功能强、16位/32位双指令集和合作伙伴众多。

(1)体积小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;(3)大量使用寄存器,指令执行速度更快;(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定。

基本框架结构:CISC、RISC、寄存器结构、指令结构

3简要说明ARM的指令系统,ARM和THUM指令的区别

答:ARM处理器支持32位的ARM指令集,也支持16位的Thumb指令集,从ARMv6开始,新的ARM处理器支持16/32位的Thumb-2指令集,而ARMv7-M仅支持Thumb-2。

Thumb 指令可以看作是 ARM 指令压缩形式的子集,是针对代码密度的问题而提出的,它具有 16 位的代码密度但是它不如ARM指令的效率高 .Thumb 不是一个完整的体系结构,不能指望处理只执行Thumb 指令而不支持 ARM 指令集.

Thumb指令集与 ARM 指令的区别一般有如下几点:

(1)跳转指令

程序相对转移,特别是条件跳转与 ARM 代码下的跳转相比,在范围上有更多的限制,转向子程序是无条件的转移.

(2) 数据处理指令

数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第 3 个寄存器中.数据处理操作比 ARM 状态的更少,访问寄存器 R8~R15 受到一定限制.除 MOV 和 ADD 指令访问器 R8~R15

外,其它数据处理指令总是更新 CPSR 中的 ALU 状态标志.访问寄存器 R8~R15

的 Thumb 数据处理指令不能更新 CPSR 中的 ALU 状态标志.

(3)单寄存器加载和存储指令

在 Thumb 状态下,单寄存器加载和存储指令只能访问寄存器 R0~R7

(4)批量寄存器加载和存储指令

LDM 和 STM 指令可以将任何范围为 R0~R7 的寄存器子集加载或存储. PUSH 和

POP 指令使用堆栈指令 R13 作为基址实现满递减堆栈.除 R0~R7 外,PUSH 指令还可以存储链接寄存器 R14,并且 POP 指令可以加载程序指令PC

4绘图并简要说明S3C2410的基本结构

5简述使用ADS1.2软件实现汇编程序的开发过程

6通过例子说明ARM汇编程序的基本结构

7什么是伪指令,通过资料调研给出ARM9中的伪指令,并说明具体功能

8简述NOR FLASH和NAND FLASH在功能和使用方面的区别

9资料调研说明:如何实现NAND FLASH的读、写、擦除操作

10如何通过C语言实现NAND FLASH操作?给出举例代码例子

11简述S3C2410的GPIO分配及功能

12如何利用S3C2410的GPIO实现数据输入和输出?给出举例的C程序例子

13编写一个UART通信的C代码,向计算机发送字符串信息,并接收计算机通过串口发出的字符串指令。通过宏函数调用实现,端口配置:8数据位、2停止位,9600BPS

14在PROTEL中绘制S3C2410的最小系统图:包括CPU、1 NAND FLASH、2 SDRAM、时钟及电源。系统供电为直流5V,自己选择器件型号。

15利用S3C2410实现1路模拟量的采集,输入信号为+-5V,给出具体的接口电路。运放采用LM324.

16利用C程序实现1路ADC采集,利用DMA实现数据传输,给出程序流程图和代码

17通过网络调研,给出S3C2410的一个应用实例

18阐述S3C2410上电复位后从NAND FLASH中的启动过程

19什么是BOOTLOADER,并说明具体的功能和工作过程,如何设计BOOTLOADER?

20对比分析U-BOOT和VIVI两种BOOTLOADER

21简述ARM-LINUX的开发流程

2024年1月24日发(作者:抗贞芳)

嵌入式系统作业:

1资料调研:简述嵌入式系统的定义、基本结构、用途及开发过程。

答:

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

嵌入式系统包括:硬件层,中间层,系统软件层,应用软件层。

硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。

硬件层与软件层之间为中间层,该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。

嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。

系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。

嵌入式系统开发流程一般可分为4个阶段:需求分析阶段、硬件开发阶段、软件开发阶段和程序固化阶段。

2简述ARM器件的发展过程、ARM的优势及基本框架结构

答:ARM器件的发展过程:1983年开始到目前为止,ARM内核共有ARM1、ARM2、ARM6、ARM7、ARM9、ARM10、ARM11和Cortex以及对应的修改版或增强版,随着内核版本的增强,其初始频率越高、架构越先进、功能也越强。ARM处理器内核,有早期的ARM9、ARM11核芯,目前主要有Cortex A5、A8、A9、A15核芯,以及基于以上架构的MPCore多核架构硬件核芯[2]。ARM在国际上主要的制造设计伙伴包括德仪、高通、英伟达、迈威科技、意法爱立信、三星、瑞萨、飞思卡尔等,他们的最新处理器大多为40 nm或28 nm、双核或者四核芯产品。

ARM的优势:耗电少功能强、16位/32位双指令集和合作伙伴众多。

(1)体积小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;(3)大量使用寄存器,指令执行速度更快;(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定。

基本框架结构:CISC、RISC、寄存器结构、指令结构

3简要说明ARM的指令系统,ARM和THUM指令的区别

答:ARM处理器支持32位的ARM指令集,也支持16位的Thumb指令集,从ARMv6开始,新的ARM处理器支持16/32位的Thumb-2指令集,而ARMv7-M仅支持Thumb-2。

Thumb 指令可以看作是 ARM 指令压缩形式的子集,是针对代码密度的问题而提出的,它具有 16 位的代码密度但是它不如ARM指令的效率高 .Thumb 不是一个完整的体系结构,不能指望处理只执行Thumb 指令而不支持 ARM 指令集.

Thumb指令集与 ARM 指令的区别一般有如下几点:

(1)跳转指令

程序相对转移,特别是条件跳转与 ARM 代码下的跳转相比,在范围上有更多的限制,转向子程序是无条件的转移.

(2) 数据处理指令

数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第 3 个寄存器中.数据处理操作比 ARM 状态的更少,访问寄存器 R8~R15 受到一定限制.除 MOV 和 ADD 指令访问器 R8~R15

外,其它数据处理指令总是更新 CPSR 中的 ALU 状态标志.访问寄存器 R8~R15

的 Thumb 数据处理指令不能更新 CPSR 中的 ALU 状态标志.

(3)单寄存器加载和存储指令

在 Thumb 状态下,单寄存器加载和存储指令只能访问寄存器 R0~R7

(4)批量寄存器加载和存储指令

LDM 和 STM 指令可以将任何范围为 R0~R7 的寄存器子集加载或存储. PUSH 和

POP 指令使用堆栈指令 R13 作为基址实现满递减堆栈.除 R0~R7 外,PUSH 指令还可以存储链接寄存器 R14,并且 POP 指令可以加载程序指令PC

4绘图并简要说明S3C2410的基本结构

5简述使用ADS1.2软件实现汇编程序的开发过程

6通过例子说明ARM汇编程序的基本结构

7什么是伪指令,通过资料调研给出ARM9中的伪指令,并说明具体功能

8简述NOR FLASH和NAND FLASH在功能和使用方面的区别

9资料调研说明:如何实现NAND FLASH的读、写、擦除操作

10如何通过C语言实现NAND FLASH操作?给出举例代码例子

11简述S3C2410的GPIO分配及功能

12如何利用S3C2410的GPIO实现数据输入和输出?给出举例的C程序例子

13编写一个UART通信的C代码,向计算机发送字符串信息,并接收计算机通过串口发出的字符串指令。通过宏函数调用实现,端口配置:8数据位、2停止位,9600BPS

14在PROTEL中绘制S3C2410的最小系统图:包括CPU、1 NAND FLASH、2 SDRAM、时钟及电源。系统供电为直流5V,自己选择器件型号。

15利用S3C2410实现1路模拟量的采集,输入信号为+-5V,给出具体的接口电路。运放采用LM324.

16利用C程序实现1路ADC采集,利用DMA实现数据传输,给出程序流程图和代码

17通过网络调研,给出S3C2410的一个应用实例

18阐述S3C2410上电复位后从NAND FLASH中的启动过程

19什么是BOOTLOADER,并说明具体的功能和工作过程,如何设计BOOTLOADER?

20对比分析U-BOOT和VIVI两种BOOTLOADER

21简述ARM-LINUX的开发流程

发布评论

评论列表 (0)

  1. 暂无评论