




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.嵌入式系统的概念嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置。嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。系统中可以共存多个嵌入式系统。(ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式,)2.嵌入式处理器可以分为以下几大类:嵌入式微处理器;必须包括ROM、RAM、总线接口、各种外设等器件嵌入式微控制器;典型代表是单片机一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设嵌入式DSP处理器;嵌入式片上系统(SOC)。嵌入式片上可编程系统(SOPC)3.嵌入式操作系统:操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。 4.常见嵌入式系统: Wince Linux Uclinux Ucos5.Thumb指令集与ARM指令集的区别ARM指令与Thumb指令 ARM 体系结构除了支持执行效率很高的 32 位 ARM指令集以外,同时支持 16 位的Thumb 指令集。 Thumb 指令集是 ARM 指令集的一个子集,允许指令编码为 16 位的长度。与等价的 32 位代码相比较,Thumb 指令集在保留 32 代码优势的同时,大大的节省了系统的存储空间。ARM 指令集和 Thumb 指令集各有其优点,若对系统的性能有较高要求,应使用 32 位的存储系统和 ARM指令集,若对系统的成本及功耗有较高要求,则应使用 16 位的存储系统和Thumb指令集 Thumb 指令集是 ARM 指令集的一个子集。Thumb指令集较ARM指令集有如下限制:只有B指令可以条件执行,其它指令都不能条件执行;分支指令的跳转范围有更多限制;数据处理指令的操作结果必须放入其中一个;单寄存器访问指令,只能操作R0R7;LDM和STM指令可以对R0R7的任何子集进行操作6.实指令和伪指令的区别伪指令在编译时被等效的ARM指令代替。ARM伪指令有四条,分别为ADR伪指令:(小范围的地址读取) ADR伪指令将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中。在汇编编译器编译源程序时,ADR伪指令被编译器替换成一条合适的指令。通常,编译器用一条ADD指令或SUB指令来实现该ADR伪指令的功能,若不能用一条指令实现,则产生错误,编译失败。ADRL伪指令: (中等范围的地址读取)ADRL伪指令将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中,比ADR伪指令可以读取更大范围的地址 。在汇编编译器编译源程序时,ADRL伪指令被编译器替换成两条合适的指令。若不能用两条指令实现,则产生错误,编译失败。LDR伪指令:(大范围的地址读取) LDR伪指令用于加载32位的立即数或一个地址值到指定寄存器。在汇编编译源程序时,LDR伪指令被编译器替换成一条合适的指令。若加载的常数未超出MOV或MVN的范围,则使用MOV或MVN指令代替该LDR伪指令,否则汇编器将常量放入文字池,并使用一条程序相对偏移的LDR指令从文字池读出常量。NOP伪指令:(空操作伪指令 )NOP伪指令在汇编时将会被代替成ARM中的空操作,比如可能是“MOV R0,R0”指令等。NOP可用于延时操作。7.LDR与STRLDR和STR字和无符号字节加载/存储指令LDR/STR指令用于对内存变量的访问、内存缓冲区数据的访问、查表、外围部件的控制操作等。若使用LDR指令加载数据到PC寄存器,则实现程序跳转功能,这样也就实现了程序散转。 LDR指令用于从内存中读取单一字或字节数据存入寄存器中,STR指令用于将寄存器中的单一字或字节数据保存到内存。以PC作为基地址的相对偏移寻址指令只有LDR,而没有STR指令。8.UART是通用异步串行通信接口的总称,UART允许在串行链路上进行全双工的通信,输出/输入的电平为TTL电平。一般来说,全双工UART定义了一个串行发送引脚(TXD)和一个串行接收引脚(RXD),可以在同一时刻发送和接收数据。通信时只要三根线RXD,TXD,GND。16C500:是一种工业标准的UART,此类UART芯片内部集成了可编程的波特率发生器、发送/接收FIFO、处理器中断系统和各种总线状态错误检测电路等等,并具有完全的MODEM控制能力RS232: RS232是一个全双工的通讯标准,它可以同时进行数据接收和发送的工作。采用了负逻辑15v至3v代表1, 15v至3v代表0RS485和RS422:以差动方式发送和接受,不需要数字地线。抗干扰和传输距离远,主要应用于工业。RS422通过两对双绞线可以全双工工作收发 互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。RS422和RS485在19kpbs下能传输 1200米。用新型收发器线路上可连接台设备。9.什么情况会导致ucos的任务切换1) 高优先级的任务因为需要某种临界资源,主动请求挂起,让出处理器,此时将调度就绪状态的低优先级任务获得执行,这种调度也称为任务级的上下文切换。 2) 高优先级的任务因为时钟节拍到来,在时钟中断的处理程序中,内核发现高优先级任务获得了执行条件(如休眠的时钟到时),则在中断态直接切换到高优先级任务执行。这种调度也称为中断级的上下文切换10.Ucos移植为什么不用int double等数据类型int,short,long,double的数据宽度与CPU的数据的宽度有关。比如对于16位处理器来说,编译器将int编译成16位宽度的整型数据;而对于32位处理器来说,编译器将int编译成32位宽度的整型数据。如果将ucos中的数据类型是用int,short,long,double定义,就会导致在不同的处理器中数据宽度是不一样的,很容易导致溢出等一些问题。用BOOLEAN,INT8U,INT8S, INT16U,INT16S, INT32U,INT32S, FP16, FP32, OS_STK.作为数据变量类型。需要把这些类型转换成编译器能识辨的类型。11.B和BL的区别分支指令B;带链接的分支指令BL;分支指令B指令,该指令跳转范围限制在当前指令的32M字节地址内(ARM指令为字对齐,最低2位地址固定为0)。PClabel带链接的分支指令BL指令适用于子程序调用,使用该指令后,下一条指令的地址被拷贝到R14(即LR) 连接寄存器中,然后跳转到指定地址运行程序。跳转范围限制在当前指令的32M字节地址内。LRPC-4, PClabel 12.R0-R15寄存器在汇编语言中寄存器R0R13为保存数据或地址值的通用寄存器。其中R0R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。寄存器R8R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器寄存器R8R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。寄存器R13常作为堆栈指针(SP)。在ARM指令集当中,没有以特殊方式使用R13的指令或其它功能,只是习惯上都这样使用。但是在Thumb指令集中存在使用R13的指令。R14为链接寄存器(LR),在结构上有两个特殊功能:在每种模式下,模式自身的R14版本用于保存子程序返回地址;当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。寄存器R15为程序计数器(PC),它指向正在取指的地址。可以认为它是一个通用寄存器,但是对于它的使用有许多与指令相关的限制或特殊情况。如果R15使用的方式超出了这些限制,那么结果将是不可预测的。伪指令伪指令在编译时被等效的ARM指令代替。ARM伪指令有四条,分别为ADR伪指令、ADRL伪指令、LDR伪指令、NOP伪指令。 LDR与STR以PC作为基地址的相对偏移寻址指令只有LDR,而没有STR指令。UART是通用异步串行通信接口的总称,UART允许在串行链路上进行全双工的通信,输出/输入的电平为TTL电平。一般来说,全双工UART定义了一个串行发送引脚(TXD)和一个串行接收引脚(RXD),可以在同一时刻发送和接收数据。通信时只要三根线RXD,TXD,GND。16C500:是一种工业标准的UART,此类UART芯片内部集成了可编程的波特率发生器、发送/接收FIFO、处理器中断系统和各种总线状态错误检测电路等等,并具有完全的MODEM控制能力RS232:RS232是一个全双工的通讯标准,它可以同时进行数据接收和发送的工作。采用了负逻辑15v至3v代表1, 15v至3v代表0RS485和RS422:以差动方式发送和接受,不需要数字地线。抗干扰和传输距离远,主要应用于工业。RS422通过两对双绞线可以全双工工作收发 互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。RS422和RS485在19kpbs下能传输 1200米。用新型收发器线路上可连接台设备。什么情况会导致ucos的任务切换1)高优先级的任务因为需要某种临界资源,主动请求挂起,让出处理器,此时将调度就绪状态的低优先级任务获得执行,这种调度也称为任务级的上下文切换。 2) 高优先级的任务因为时钟节拍到来,在时钟中断的处理程序中,内核发现高优先级任务获得了执行条件(如休眠的时钟到时),则在中断态直接切换到高优先级任务执行。这种调度也称为中断级的上下文切换Ucos移植为什么不用int double等数据类型int,short,long,double的数据宽度与CPU的数据的宽度有关。比如对于16位处理器来说,编译器将int编译成16位宽度的整型数据;而对于32位处理器来说,编译器将int编译成32位宽度的整型数据。如果将ucos中的数据类型是用int,short,long,double定义,就会导致在不同的处理器中数据宽度是不一样的,很容易导致溢出等一些问题。用BOOLEAN,INT8U,INT8S, INT16U,INT16S, INT32U,INT32S, FP16, FP32, OS_STK.作为数据变量类型。需要把这些类型转换成编译器能识辨的类型。嵌入式的概念和定义: 国际定义:根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。 概念:嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。 国内普遍认同的定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 概念:嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。arm7的七种处理模式: 用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式arm7寄存器的作用: 其中R0R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。 寄存器R8R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器 寄存器R8R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器 寄存器R13常作为堆栈指针(SP)。在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高处安装、维护、拆除高处作业(复审)模拟考试题库试卷(附答案)
- 2025年《煤矿安全生产标准化管理体系》专项培训试卷(B)有答案
- 棉花基因改良创新创业项目商业计划书
- 宠物沐浴露销售创新创业项目商业计划书
- 数字化建筑供应链管理创新创业项目商业计划书
- 2025年中考实验考试卷子及答案
- 油料生物燃料创新创业项目商业计划书
- 无人机航拍数据快速处理与建模服务创新创业项目商业计划书
- 果蔬茶运输物流创新创业项目商业计划书
- 外梯安全技术培训课件
- 机加工安全生产培训考核试题及答案(班组级)(精)
- 电梯从业证考试试题及答案解析
- 第二十四届上海市青少年计算机创新应用竞赛 python校内选拔试题及答案
- 2024年武汉商学院公开招聘辅导员笔试题含答案
- 江苏省宿迁市泗阳县2024-2025学年高二下册期末调研测试语文试题【附答案】
- 2025年《传染病防治法》综合培训试题(附答案)
- 储能电站项目实施方案
- 墙布工厂工程定制方案(3篇)
- 企业融资计划书2022
- 多发性大动脉炎
- 光纤损耗测试记录
评论
0/150
提交评论