ARM嵌入式技术复习总结

时间:2019-05-12 02:48:04下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《ARM嵌入式技术复习总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《ARM嵌入式技术复习总结》。

第一篇:ARM嵌入式技术复习总结

第一章 1.嵌入式系统定义/概念:嵌入式系统就是嵌入到对象体中的专用计算机系统。三要素:嵌入、专用、计算机。嵌入性:嵌入到对象体系中,有对象环境要求,专用性:软、硬件按对象要求裁减,计算机:实现对象的智能化功能。广义的讲,一个嵌入式系统就是一个具有特定功能或用途的计算机软硬件集合体,即以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用对功能。可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统发展的最高形式——片上系统(SOC)2.嵌入式系统的特性:a.只执行特定功能;b.以微控制器、外围器件为中心,系统构成可大可小;c.有严格的时序性和稳定性要求;d.自动操作循环,等待中断控制;e.程序被烧写在存储芯片中。(开发时应注意的a.嵌入式系统是面向具体应用的产品b.嵌入式软件特征:具有实时性,高质量、高可靠,程序固化c.需要软硬件开发工具和系统软件d.需要应用专家参与开发e.嵌入式系统分散而不可垄断)3.嵌入式系统的分类:a.按表现形式分(硬件范畴):芯片级嵌入(含程序或算法的处理器)、模块级嵌入(系统中的某个核心模块)、系统级嵌入(完整系统并有嵌入软件)b.按实时性要求分(软件范畴):非实时系统(PDA)、实时系统(软实时系统:消费类产品。硬实时系统:工业和军工系统)4.嵌入式微处理器(发展趋势:经济性、微型化、智能化)主要分类: 微控制器(MCU)(51单片机)、微处理器(MPU)(ARM、PowerPC)、数字信号处理器(DSP)(一般用在快速执行算法,做控制比较困难)、混合处理器和片上系统(SOC)(结构简洁,体积小、功耗低,可靠性高,设计生产效率高。Smart XA)、可编程片上系统(SOPC)5.嵌入式系统组成:粗略划分:嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件。稍细划分:嵌入式处理器、外围设备、驱动程序、嵌入式操作系统、应用接口、嵌入式应用软件。6.嵌入式操作系统简介:a.嵌入式操作系统是支持嵌入式系统的操作系统,它是嵌入式应用软件的基础和开发平台。b.功能:进程调度、内存管理、设备管理、文件管理、中断管理、系统功能接口(API调用,如网络功能)、设备驱动。c.特点:系统可裁减、可配置,系统具有实时性,系统稳定、可靠。d.实时系统的定义:能够对外部事件做出及时响应的系统,响应时间要有保证。硬实时系统:对系统响应时间有严格的要求,如果系统响应时间不能满足,就会引起系统崩溃或致命的错误。软实时系统:对系统响应时间有要求,但是如果系统响应时间不能满足,它并不会导致系统出现致命的错误或崩溃,只是降低系统的吞吐量。e.几种主流的嵌入式操作系统:µC/OS-II:教学的免费、面向中小型嵌入式系统应用。Vxworks:具有可靠、实时、可裁减特性。WinCE:它是微软针对个人电脑以外的电脑产品所研发的嵌入式操作系统。Linux/µCLinux:免费、源码开放的操作系统,µclinux面向没有MMU的硬件平台。PalmOS :具有开放的操作系统应用程序接口(API),可让用户灵活方便地定制操作系统。

第二章1.ARM体系的特点:a.低功耗、低成本、高性能(3/5级流水线)。b.采用RISC体系结构。c.使用大量的寄存器(37个寄存器31个通用6个状态)d.高效的指令系统(Thumb指令与等价的ARM代码相比较可节省30~40%以上的存储空间)e.在保证高性能的前提下尽量缩小芯片面积、降低功耗;所有的指令都可以根据前面的执行结果决定是否被执行。2.ARM7采用3级流水线(是把一个重复的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行):取指(从程序存储器中取指令,放入指令流水线,占用存储器访问操作)、译码(指令译码,占用译码逻辑)、执行(执行指令/读写reg,占用ALU及数据路径)。一条指令有3个时钟周期的执行时间,但吞吐量是每个周期1条指令。PC 指向处于读取级的指令地址,而不是处于执行级的指令地址PC=当前执行指令地址+8。比较:ARM9是5级流水线(取指、译码、执行、存储器、写),哈佛架构,拥有独立的指令和数据总线;指令和数据的读取可以在同一周期进行。3级流水的ARM7内核是指令和数据总线复用的冯.诺依曼架构,指令和数据的读取不能在同一周期进行;5级流水线设计把寄存器读取、逻辑运算、结果回写分散在不同的流水当中,每一级流水的操作简洁,提升了处理器的主频。3.ARM微处理器的工作状态与模式:两种工作状态:ARM状态,此时处理器执行32位的字对齐的ARM指令;Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。状态切换:ARMTHUMB:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法;当处理器处于Thumb状态时发生异常,则异常处理返回时,自动切换到Thumb状态。THUMBARM:当操作数寄存器的状态位为0时,执行BX指令;在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可使处理器切换到ARM状态。模式:用户模式:ARM处理器正常的程序执行状态,大部分任务执行在这种模式;快速中断模式:当一个高优先级中断产生时将会进入这种模式,用于高速数据传输或通道处理;外部中断模式:当一个低优先级中断产生时将会进入这种模式,用于通用的中断处理;管理模式:当复位或软中断指令执行时将会进入这种模式,供操作系统使用的一种保护模式;中止模式:当存取异常时将会进入这种模式,用于虚拟存储及存储保护;未定义模式:当执行未定义指令时会进入这种模式,软件仿真硬件协处理器;系统模式:供需要访问系统资源的操作系统任务使用,运行具有特权的操作系统任务。模式特点:1)用户模式特点:应用程序不能够访问受操作系统保护的系统资源;应用程序不能进行处理器模式的切换。2)系统模式特点:不属于异常模式,不是通过异常进入的。系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行模式的切换。它主要供操作系统使用。3)特权模式:除用户模式之外的工作模式,特点:应用程序可以访问所有的系统资源;可以任意地进行处理器模式的切换 4)异常模式:除用户模式、系统模式之外的五种模式,特点:以各自的中断或异常方式进入,并且处理各自的中断或异常。模式切换:软件控制进行切换(在特权模式下通过改变CPSR中的运行模式位[4:0]);通过外部中断和异常进行切换。4.数据类型: 8位、16位(半字对齐)、32位(字对齐)的有符号和无符号型。5.存储字数据:两种方法(大端、小端格式)。大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中;小端格式:与大端存储格式相反。缺省设置为小端格式。6.ARM状态下寄存器:程序计数器PC(R15)(ARM状态下,位[1:0]为0,位[31:2]用于保存PC;Thumb状态下,位[0]为0,位[31:1]用于保存PC)。R13常用作堆栈指针(SP)。R14也称作子程序连接寄存器或连接寄存器LR。当执行BL子程序调用指令时,可以从R14中得到R15的备份。寄存器R16用作CPSR(当前程序状态寄存器)。7.ARM/Thumb下寄存器区别:Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,Thumb和ARM状态下的R0~R7、CPSR和所有的SPSR是相同的;Thumb状态下的SP对应于ARM状态下的R13;Thumb状态下的LR对应于R14;Thumb状态下的PC对应于R15。8.异常:ARM有7种异常:复位、未定义指令、软件中断、指令预取中止、数据中止、IRQ、FIQ。异常响应:复位异常立即中止当前指令。其他:保存返回地址(将引起异常指令的下一条指令的地址保存到新的异常模式下的R14);保存当前状态寄存器CPSR的内容(将CPSR的内容保存到将要执行的异常中断对应的SPSR中);设置当前状态寄存器CPSR中的相应位(设置控制位使进入响应执行模式;禁止FIQ、IRQ);转去执行中断处理程序(取相应的中断向量给程序计数器PC)。返回:将返回地址装入PC ;恢复CPSR的值 ;清除中断屏蔽位。9.异常向量地址:复位-0x00000000(管理模式);未定义-0x00000004(未定义);软件中断-08(管理);中止(预取指令)-0c(中止);中止(数据)-10(中止);保留-0x00000014;IRQ-18(IRQ);FIQ-1C(FIQ)。10.异常优先级:复位>数据中止>FIQ>IRQ>预取指令中止>未定义中止、SWI

第五章1.编写应用程序都要用到的文件:a.INC目录下的文件: Def.h(基本数据类型重定义头文件U32,S16等)Option.h(是硬件系统重要设置头文件,修改系统的工作频率,总线宽度,一些重要地址的值)2410addr.h(是2410的寄存器的地址宏定义头文件)2410lib.h(调试时常用函数,还有一些其它的常用函数的头文件)b.SRC目录下的文件: 2410init.s 是2410初始化启动程序,由汇编语言写成2.ARM的启动过程—系统的初始化:包括两个级别的操作:系统运行环境初始化、应用程序初始化。a.运行环境初始化(对于嵌入式应用系统来说,由于没有操作系统的支持,存放在ROM的代码必须进行所有的初始化工作):①设置初始入口点(初始入口点是映象文件运行时的入口点,每个映像文件只有一个唯一的初始入口点,它保存在ELF头文件中。初始入口点必须位于映像文件的可执行区域;包含初始入口点的可执行域不能被覆盖,它的加载时地址和运行时地址必须是相同的)②设置中断向量表(如果系统运行时,地址0x00处为RAM,则系统初始化时必须重建异常中断向量表)③初始化存储系统④初始化数据栈指针⑤初始化关键的IO设备⑥设置中断昔日需要的RAM变量⑦使能异常中断(通过清除CPSR寄存器的中断禁止位实现)⑧切换处理器模式(系统还处于特权模式,如果下面要运行的应用程序是在用户模式下运行,就需要将处理器切换到用户模式。)⑨切换程序状态(所有的RAM内核都是从ARM状态开始执行的)b.应用程序初始化①将已经初始化的数据搬运到可写的数据区(这部分数据就是映像文件中的RW属性的数据)②在可写存储区建立ZI属性的可写数据区3.ARM的启动过程—初始化程序分析:①定义程序入口地址(由AREA伪操作定义: AREA Init,CODE,READONLYENTRY)②建立异常向量以及中断处理:1)建立中断向量入口2)建立中断服务程序入口地址表3)看门狗与中断禁止(当系统复位后,看门狗与中断要被首先禁止与被初始化,否则,当看门狗溢出产生的系统复位,引起中断,其它中断源产生中断时,CPU会进入一个未知的状态,出现程序跑飞等现象)4)系统时钟初始化5)电源低功耗模式6)内存控制器初始化(接口时序优化)7)模式的堆栈初始化地址(对程序中需要用到的每一种模式都要给SP定义一个堆栈地址)8)初始化用户执行环境(应用程序执行环境的初始化,就是完成必要的从ROM到RAM的数据传输和内容清零)9)呼叫主应用程序(IMPORT main或B main)4.ARM映像文件:arm映像文件其实就是可执行文件,包括bin或hex两种格式,可以直接烧到rom里执行。映像文件一般由域组成。域最多由三个输出段组成(RO、RW、ZI)组成,输出段又由输入段(代码和数据)组成。5.中断(☆注:异常包含5种模式:管理(复位、软件中断SWI)、中止(指令预取中止、数据中止)、未定义、快速中断FIQ、外部中断IRQ。中断分两类:SWI、硬件(FIQ、IRQ)。异常包含中断,中断都属于异常)中断仲裁:决定中断的优先级,当中断控制器接收到多个中断请求时,其内的优先级仲裁器裁决后向CPU发出优先级最高的中断请求信号或快速中断请求信号,中断系统有6个分仲裁器和1个总仲裁器,每一个仲裁器可以处理6路中断。在编写中断服务程序时需要满足如下要求:(1)不能向中断服务程序传递参数;(2)中断服务程序没有返回值;(3)中断服务程序应要尽可能短,来减少中断服务程序的处理时间,保证实时系统的性能。使用中断的步骤:(1)在使用中断前先设置好相应模式下的堆栈。如当发生快速中断FIQ 时,CPU进入“快中断模式”,这时使用“快中断模式”下的堆栈。(2)对于“Request sources”中的中断,将INTSUBMSK 寄存器中相应位设为0。(3)将INTMSK 寄存器中相应位设为O。(4)确定使用的方式:是FIQ 还是IRQ。如果是FIQ,则在INTMOD 寄存器设置相应位为1。如果是IRQ,则在PRIORITY 寄存器中设置优先

级(5)准备好中断处理函数:①中断向量:在中断向量设置好当FIQ 或IRQ 被触发时的跳转函数。②对于IRQ,在跳转函数中读取INTPND 寄存器或INTOFFSET 寄存器的值来确定中断源,然后调用具体的处理函数。③对于FIQ,因为只有一个中断可以设为FIQ,无须判断中断源。④中断处理函数进入和返回。(6)设置CPSR 寄存器中的F位对于FIQ,或I位对于IRQ,其值为0时,表示开中断。

第六章1.Nor Flash与Nand Flash比较:Nor flash:读速度高,而擦、写速度低,容量小,价格高。Nand flash:读速度不如Nor flash,但擦、写速度高,容量大,价格低。有取代磁盘的趋势。现在不少用户从Nand flash启动和引导系统(开始 4KB代码,BANK0中,自动复制到内部SRAM中,利用这4KB的代码把更多的代码从Nand flash中读到SDRAM中),而在SDRAM上执行主程序代码。2.串口介绍:(1)UART(通用异步串行口):有三个独立的异步串行I/O 端口,每个串口(11个专用寄存器,共39个)都可以在中断和DMA 两种模式下进行收发。UART支持的最高波特率达230.4kbps。每个UART 包含:波特率发生器(以PCLK或UCLK为时钟源)、接收器、发送器和控制单元。发送器和接收器各包含1个16 字节的FIFO 寄存器和移位寄存器。工作原理:(FIFO模式)当发送数据的时候,数据先写到FIFO 然后拷贝到发送移位寄存器,然后从数据输出端口(TxDn)依次被移位输出。被接收的数据也同样从接收端口(RxDn)移位输入到移位寄存器,然后拷贝到FIFO 中。使用FIFO与不使用FIFO的比较:前者是通过对FIFO状态寄存器UFSTATn的查询,确定进行收发,后者是通过对收/发状态寄存器UTRSTATn的查询,确定进行收发。中断或DMA请求: 7种中断请求事件是:溢出错误、奇偶校验错误、帧格式错误、传输中断信号、接收缓冲器数据就绪、发送缓冲器空、发送移位器空。分成3类:错误中断请求、接收中断请求、发送中断请求。RS232:全双工,采用负逻辑,单端传送,适合短距离传输;RS422:单工差分,两条线相对电压传送,至少需要四条线传输;RS485:半双工,单工差分,差分异步传输,适合远距离传输。(2)USB接口(通用串行总线)(49个reg):主要用于PC与外围设备互连,数据传输速度为:低速1.5Mb/s,全速12Mb/s,高速480Mb/s。主要由5部分组成:USB芯片及协议程序(固件)、控制器(控制USB芯片)、控制器程序、USB设备驱动程序、USB设备。USB总线主要特点:USB端口不区分设备,即插即用、可热插拔,传输速度高,易扩展、可扩展到127个USB设备,对设备提供电源,成本低等。(3)I2C串行总线接口:(4个reg)总线信号为两线,一个能够双向传输的数据线SDA、另一个能够双向传输的时钟线SCL。是信号线

2最少的串行总线。总线的特点:a.有一个IC总线接口。b.I2C总线的速度:可以标准速度传输(100kb/s),也可以高速传输(高达400kb/s)。c.可以查询方式

和中断方式工作。d.可以主设备身份传输,也可以从设备身份传输,因此共有4种操作模式(主机、从机发送、接收)。主要有5部分构成:数据收发寄存器、数据移位寄存器、地址寄存器、时钟发生器、控制逻辑等部分。系统要求:a.各个节点设备必须具有I2C接口功能;b.各个节点设备必须共地;c.两个信号线必须接上拉电阻。(4)I2S串行总线接口:a.1通道音频I2S总线接口,可基于 DMA方式工作;b.串行,每通道 8/16 位数据传输;c.发送和接收具备 128 字节(64 字节加64 字节)FIFO;d.支持 IIS 格式和 MSB-justified数据格式。(5)网络接口:支持8位、16位的微处理器,可以工作在I/0方式或Memory方式。片内集成了双工SA总线接口,可以直接和有双工SA总线的微处理器系统无缝连接。(6)JTAG接口:硬件仿真器可以通过JTAG接口对开发板进行在线仿真调试,也可以使用sjf2410等烧写工具通过JTAG接口对其扩展的Flash存储器进行编程。(7)SPI 接口:a.兼容 2 通道 SPI 协议 2.11版;b.发送和接收具有 2×8 位的22移位寄存器;c.可以基于 DMA或中断模式工作3.串口总结:芯片级(IC、IS、SPI、USB),系统级(网络接口、JTAG接口、USB、UAR T :RS232/485/422)。URAT

传输距离:RS232<485(差分)<光缆。4.看门狗:看门狗是一种电路,具有监视并恢复程序正常运行的功能,是一个定时器电路。基本原理:设一系统程序完整运行一周期的时间是Tp,看门狗的定时周期为Ti,要求Ti>Tp。在程序运行一周期后,修改定时器的计数值,只要程序正常运行,定时器就不会溢出。若由于干扰等原因使系统不能在Tp 时刻修改定时器的计数值,定时器将在Ti 时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。功能:定时器功能、复位功能。构成:时钟、看门狗计时器、看门狗数据寄存器、复位信号发生器、控制逻辑等。5.补充:(1)I/O端口寄存器:引脚配置寄存器、数据reg、引脚上拉reg、保留reg。(2)LCD(液晶显示器):是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。组成:LCD显示屏、显示控制器、缓冲存储器。

第七章1.Linux系统及特点:Linux是一套免费使用和自由传播的类Unix操作系统。特点:自由软件,开放源代码;真正的多用户、多任务操作系统;可灵活裁剪配置;支持多种硬件平台;提供强大的管理功能;完全符合POSIX标准;具有丰富的图形界面;具有强大的网络功能。2.Linux组成:①Linux内核,功能是:进程管理(负责创建和撤销进程以及处理他们和外部世界的连接)、内存管理(内核在有限的可用资源上为每个进程都创建了一个虚拟寻址空间)、文件系统(内核在没有结构硬件上构造结构化的文件系统)、设备控制(内核必须为系统中的每件外设嵌入相应的驱动程序)、网络功能(处理路由和地址解析问题)。②Linux Shell:常用的有:Bourne Shell(sh,最初始的Shell,并且在每种Unix上都可以使用),C-Shelll(csh),Korn Shell(ksh),Bourne Again Shell(bash,大多数Linux系统的默认Shell)。③Linux文件结构:文件结构是文件存放在磁盘等存储设备上的组织方法,主要体现在对文件和目录的组织上,目录提供了管理文件的一个方便而有效的途径。Linux目录采用多级树形结构,用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件,目录树只有一个,不管OS管理几个磁盘分区。④Linux实用工具,分三类:编辑器:用于编辑文件;过滤器:用于接收数据并过滤数据;交互程序:允许用户发送信息或接收来自其他用户的信息。

第八章1.交叉编译环境的软件工具1)Binutils:Binutils是一组针对目标系统的二进制开发工具,包括连接器、汇编器和其他用于目标文件和档案的工具。2)GCC:编译器,gcc不但能够支持C/C++语言的编译,而且能够支持FORTRAN JAVA ADA等编程语言。3)Glibc:Glibc库是提供系统调用和基本函数的C库,可以编译生成静态库和动态库。4)GDB:GDB可以调试C和C++语言程序,功能:a.启动被调试程序。b.让被调试的程序在指定的位置停住。c.当程序被停住时,可以检查程序状态(如变量值)。5)Crosstool:实际上是一个脚本,用于编译和测试大多数体系结构的各gcc和glibc的版本组合。2.Linux开发环境组建:可分别建立以LINUX为操作系统的开发环境或者在Windows下安装模拟Linux环境的软件。几种组建方案:① Windows+ Linux +目标系统(可以解决开发环境问题,但同时用两个操作系统,来回切换,浪费时间)、②Windows+cygwin+目标系统(cygwin是运行于windows下的linux模拟运行环境,但是在使用某些特殊功能时,需要添加一些补丁)、③Windows+虚拟机(Linux)+目标系统(在不破坏原有操作系统的基础上,虚拟一台‘真实’计算机,在它上面安装linux和操作真实的linux一样)、④Windows+Linux服务器 +目标系统(只需要一台linux服务器即可,对客户机和服务器的硬件要求没什么特别需求)。3.用户、Shell、Linux之间关系:Shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。Shell是用户和操作系统之间最主要接口。通过Shell,可以同时在后台运行多个应用程序,并且在把需要与用户交互的程序放在前台运行。4.makefile文件的作用:使用make 工具,可以将大型的开发项目分解成为多个易于管理的模块,make在执行时,需要一个命名为Makefile的文件。Makefile文件描述了整个工程的编译,连接等规则。Makefile说明了组成程序的各模块间的相互关系及更新模块时必须进行的动作,make按照这些说明自动地维护这些模块。在makefile(Makefile)中,自顶向下说明各模块之间的依赖关系及实现方法。

第九章1.BootLoader概念:系统上电之后,需要一段程序来进行初始化,如果它能将操作系统内核(从本地Flash或通过网络)复制到内存中运行,就称这段程序为Bootloader。其作用是,在系统上电时开始执行,初始化硬件设备、准备好软件环境,最后调用操作系统内核。2.两种操作模式:①启动加载模式,即Bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入;②下载模式,目标机上的Bootloader将通过串口连接或网络连接等通信手段从主机下载文件,这种模式通常在第一次安装内核与根文件系统时被使用,以后的系统更新也会使用Bootloader的这种工作模式。3.启动方式:①网络启动方式,使用这种启动方式之前,需要把Bootloader安装到板上的EPROM或者Flash中。Bootloader通过以太网接口远程下载Linux内核映像或者文件系统。②磁盘启动方式,传统的Linux系统运行在台式机或者服务器上,这些计算机一般都使用BIOS引导,并且使用磁盘作为存储介质,在硬盘的主引导区,需要一个Bootloader可以从磁盘文件系统中把操作系统引导起来。③Flash启动方式,Bootloader的入口位于处理器上电执行第一条指令的位置,Bootloader引导Linux内核,就是要把内核映像解压到RAM中去,然后跳转到内核映像入口执行,从而实现自举启动,与磁盘启动相似。4.种类与特点:Bootloader种类繁多,比如x86上有LILO、GRUB等;对于ARM架构的CPU,有U-Boot、Vivi等。特点:LILO是Linux磁盘引导程序,GRUB是GNU的LILO替代程序;ViVi支持串口下载功能,代码量小;U-boot通用引导程序,支持串口、网络下载功能,代码量大;Redboot支持串口、网络下载功能,代码量最大;Blob:支持串口、网络下载功能,代码量小5.基本原理:①操作模式:„ ②通信:目标机上的Bootloader一般可通过串口与主机之间进行文件传输,也可以通过以太网连接并借助TFTP协议来下载文件,这样传输更快; ③Bootloader 的功能与结构:由于Bootloader的实现依赖于CPU的体系结构,大多数Bootloader都分为stage1和 stage2两大部分。stage1通常包括以下工作:硬件设备初始化、为加载Bootloader的stage2准备RAM空间、拷贝Bootloader的stage2到RAM空间中、设置堆栈、跳转到stage2的C入口点。stage2的代码通常用C语言来实现,stage2 执行映像的入口点是用汇编语言写一段trampoline小程序,用这段trampoline小程序来作为main()函数的外部包裹。

补充:1.LCD屏的主要技术参数:(1)像素:显示屏上所能控制的最小单位(2)分辨率:分辨率指 LCD 上象素的数目3)色深:在某一分辨率下,每一个像点可以有多少种色彩来描述,单位是“bit”,色深和分辨率之积决定了显示缓存区的大小(4)刷新频率:图像在屏幕上更新的速度,也即屏幕上的图像每秒钟出现的次数,单位是赫兹(5)物理尺寸:LCD的外观尺寸对角线长度,单位为英寸

2.分散装载技术:ARM的连接器提供了一种分散加载机制,在连接时可以根据分散加载文件中指定的存储器分配方案,将可执行镜像文件分成指定的分区并定位于指定的存储器物理地址,当嵌入式系统在复位或重新上电时,在对CPU相应寄存器进行初始化后,首先执行ROM存储器的Bootloader代码,根据连接时的存储器分配方案,将相应代码和数据由加载地址拷贝到运行地址,定位在RAM存储器的代码和数据就在RAM存储器中运行,而不再从ROM存储器中取数据或取指令,从而大大提高了CPU的运行速率和效率。最常用的2种情况:(1)把中断程序作为一个单独的运行域,放在32位的RAM,(2)将启动代码以外的所有代码都复制到RAM中运行。

3.PWM:只对一方波序列信号的占空比按照要求进行调制,而不改变方波信号的其它参数,即不改变幅度和周期,因此脉宽调制信号的产生和传输,都是数字式的。只要带宽足够(频率足够高或周期足够短),任何模拟信号都可以使用PWM 来实现。应用:借助于微处理器,使用脉宽调制方法实现模拟信号是一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

第二篇:实习总结-嵌入式ARM

实训总结

班级 卓越1301姓名***

通过这段时间的学习使我学到了很多知识,并且了解到ARM的应用以及对开发板的应用,为以后的学习奠定了一定的基础。

嵌入式系统一般定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统这是从技术角度。从系统角度上是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。

广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。如各类单片机和DSP系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于他们没有操作系统,管理系统硬件核软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现。从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的嵌入式系统。

嵌入式的应用也比较广泛涉及军事国防、工业控制、消费电子和网络。在家用方面更是数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。

在ARM指令集中了解到ARM的寻址方式以及它的的特性,具有高效、快速的特点,还有Thumb指令集具有灵活、小巧的特点。

在这次实训中做了两个项目,一个是LED灯,实现LED灯的点亮是比较简单的,通过查找手册可以很快的了解到要使用的寄存器和方法,另一个项目是DS18B20这个比较复杂,除了要掌握对寄存器的使用,还要对了解对串口的初始化,读写字节等等。

感谢这次实训,通过这次的实训项目,使我大体了解制作项目的步骤,了解了嵌入式技术的掌握是需要一个过程的。实事求是的说,嵌入式技术的全面掌握是有相当难度的,通过积累和动手总会有收获的,从实验中也明白了一个大的项目并不是一个人可以完成的,团队协作很重要。

姓名:***

年级:卓越1301

2014-7-5

第三篇:ARM嵌入式linux复习心得总结1

2011.10.9 Evo杨

ARM嵌入式linux复习心得总结1:

一、Linux定制安装:

从新安装配置了一遍Linux,我使用的是Vmware7.0安装RHEL5.5,对于Linux的安装主要是要选择定制安装也就是Vmware7.0(下面简称Vm)中新建虚拟机开始部分选择”Custom(advanced)”,因为这里我所使用的FTP、sumba等服务器是需要定制加上的一开始没有注意结果悲剧了…(以后一定要仔细的选择!),在next后面应该选择最后一个选项这样自定义的选项会更加多,同样可以选择定制安装的一些选项,在这里同样有个地方要注意:

1、最好使用默认的内存分配方式

2、*(重要)选择bridged networking 的网络连接方式(这里要注意,第一次安装的时候没有注意使用的是默认值也就是NET模式,最后在设置NFS和sumba服务器的时候(也可能是其他的操作错误)无法与PC机ping通讯这里花费了大量的时间研究!后面就是Linux系统的安装了,这里我使用的是图形化界面的安装(以前大一的时候用命令行安过一次自己英语太垃圾了,安了整整一上午…)

3、在最后配置的时候防火墙要禁用,因为这里防火墙会阻止一切自发的与本机联网的事件,在后面使用NFS以及sumba服务器的时候是不能打开的,第一次安装的时候吃过这方面的亏以后要注意!

4、禁用SELinux,这个也是与安全有关的,现在暂时禁用就可以了。

二、再次回顾了一下Linux的命令,这里比较熟悉,跟走路一样这里必须专业起来!总的来说有一下几个命令必须灵活运用:

1、useradd(添加用户名,后面使用sumba服务器的时候需要用到,使用率较低)

2、passwd(添加用户密码,一般配合useradd使用,使用率较低)

3、su(切换用户,经常用)

4、shutdown(关机命令,用法有多种,我一般不用,虚拟机直接断电就行了)

5、cp(拷贝,不解释)

6、mv(移动或更名,不解释)

7、rm(删除,不解释)

8、mkdir(创建目录)

9、cd(改变工作目录,经常用)

10、pwd(显示当前目录)

11、ls(查看目录)

12、tar(针对tar.gz打包和解压,这里主要记住 tar cvzf * 和tar xvzf * 一个是压缩,一个是解压)

13、tar(针对tar打包和解压,这里主要记住 tar cvf * 和tar xvf * 一个是压缩,一个是解压)

14、unzip(解压zip文件)

15、chmod(更改权限)

16、df(查看磁盘使用情况)

17、ifconfig(查看网络配置、查看ip等)

18、netstat(查看网络状态)

19、grep(查找字符串,这个其实很重要,但自己总是忘记可能是一般不用的原因)20、rpm(用于软件安装)

21、mount(挂载,很重要用语挂载CDROM、硬盘以及共享文件等)

22、find(找到*文件存在路径)

三、vi编辑器的使用,使用比较熟练好像加“!”的都是强制执行的。

四、安装tftp服务器:

常用命令:*netstat –a | grep tftp 这里检测当前tftp的情况,在资料上是说检测安装情况,我觉得不是应该是检测启动情况,当然这个也是包括安装与否的,这里要注意!有的时候他是安装上的但是没有打开,查看配置文件是就会发现disable 默认是 = yes 意思是默认是关闭的我们有几种方法将他打开:

1、使用setup命令启动tftp

2、配置 #vi /etc/xinetd.d/tftp 中把disable中的yes改为no

3、使用命令启动 #/etc/init.d/xinetd start

五、安装NFS服务器: 这个功能是共享Linux与Linux之间文件的,后面开发ARM的时候联通内核与文件系统使用

六、安装samba服务器

首先是要配置samba服务器的配置文件位置在:#vi /etc/samba/smb.conf 在Share Definitions中添加 【root】

Comment

= Root Ditectories

Browseable

= yes

Writable

= yes

Path

= /

valid users

=

smb

valid users

=

MYDOMAIN%s 其中可以在【home】前在命令模式下输入“6yy”(复制这六行!)然后再输入“p”(粘贴)然后再修改,这样修改起来比较方便,也是绝大多数教程都使用的方法,其中要注意几点:

1、要是使用复制方法然后修改的话要注意看清楚Comment这行后面Root Ditectories 这行的Root是不要忘了修改【homes】中式Home而【root】中是Root切记!(这里自己在前一次安装的时候没有留意导致后面Samba 服务器不能使用!!)

2、smb 这是用户名这里引用一下教材的语言:添加用户,注意添加用户的用户与修改配置文件部分valid users = smb相同,如果smb用户存在则不需要添加!

配置完毕要重新启动samba服务器 #/etc/init.d/smb restart

最后在windows中运行即可。

七、Samba、NFS等PC与虚拟机的网络配置(重点)这里着重总结一下这次网络的配置,虚拟机的网络配置非常重要,即使Linux不需要上网可是他们之间的数据传送也是十分必要的,例如Vmtools这个工具,smb、NFS、tftp等,我在这里的网络配置花费了大量的时间研究,主要是samba服务器总不能配置成功,网上也有许多的方法不过讲的都很细许多功能的实现都比较抽象,我之所以总是没有成功在上面的几个方面上已经详细的解释了,这里不再次做总结,其中有几点与老师或查资料得到的几点信息在这里要总结一下:

1、在所有的服务器等联网活动之前一定要把网络通信配置好!在PC中首先要ipconfig一下查询一下PC机网络配置情况(ip、网关等)然后再在虚拟机中使用命令setup打开网络配置去掉自动分配IP选用静态ip然后将ip等项目输入进去,这里要输入的一共三项,后两项是相同的只有ip是需要改变的,切记要分配在同一个网段!这样才能实现局域网功能

2、我问了问教授Linux的一位老师他曾经因为更改了本地连接的IP导致虚拟机上的网络服务器不能用了,当更改回原来的ip才能使用,这里我并没有出现这种情况因为我在设置ip的时候使用的是动态分配地址的ip路由器,在设置完成后并没有出现服务器失效的情况所以我认为这里老师可能使用了某个ip绑定了吧。

八、Vmtools的安装使用

这个工具很好用在XP中安装比较方便,但在Linux中有点儿复杂,当然只是有点儿而已,使用Vmware自动下载就可以完成后Linux自动加载了一个cdrom里面就有一个vmtools的tar 解压包(有时需要自己加载)他在文件中找到安装文件安装即可。这里引用一下网络同仁的资源我觉得他写的吧、简单明了(http://www.xiexiebang.comtl.h> void create_file(char *filename){ If(create(filename,0666)<0)

//创建文件函数判断创建是否成功 后面的是文件的权限:可读可写不可执行!

{ printf(“create file %s failure!n”,filename);

exit(EXIT_FAILURE);} Else { Printf(“create file %s success!”,filename);} }

Int main(int argc,char *argv[])// 这里的argc是程序参数个数(如ls –a 这就是两个参数,也就是说是两个字符串,而argv【】表示的是参数名字 argv【0】=ls argv【1】=-a 后面应该还有一个参数char *env 代表的是环境变量的字符串(各种路径)){

If(argc<2)

//判断文件是否符合要求,这个一般小于0就行 { Perror(“you haven’t input the filename,please try again!n”);

Exit(EXIT_FAILURE);//这个最后等于1 其实就是个return 1; } Create_file(argv[1]);Exit(EXIT_SUCCESS);

//这个最后等于0 其实就是个return 0;

}

十一、今天心得体会:错误与进步同在!正视错误,解决错误,取得进步!

第四篇:ARM嵌入式linux复习心得总结1

2011.10.9 Evo杨

ARM嵌入式linux复习心得总结1:

一、Linux定制安装:

从新安装配置了一遍Linux,我使用的是Vmware7.0安装RHEL5.5,对于Linux的安装主要是要选择定制安装也就是Vmware7.0(下面简称Vm)中新建虚拟机开始部分选择”Custom(advanced)”,因为这里我所使用的FTP、sumba等服务器是需要定制加上的一开始没有注意结果悲剧了…(以后一定要仔细的选择!),在next后面应该选择最后一个选项这样自定义的选项会更加多,同样可以选择定制安装的一些选项,在这里同样有个地方要注意:

1、最好使用默认的内存分配方式

2、*(重要)选择bridged networking 的网络连接方式(这里要注意,第一次安装的时候没有注意使用的是默认值也就是NET模式,最后在设置NFS和sumba服务器的时候(也可能是其他的操作错误)无法与PC机ping通讯这里花费了大量的时间研究!后面就是Linux系统的安装了,这里我使用的是图形化界面的安装(以前大一的时候用命令行安过一次自己英语太垃圾了,安了整整一上午…)

3、在最后配置的时候防火墙要禁用,因为这里防火墙会阻止一切自发的与本机联网的事件,在后面使用NFS以及sumba服务器的时候是不能打开的,第一次安装的时候吃过这方面的亏以后要注意!

4、禁用SELinux,这个也是与安全有关的,现在暂时禁用就可以了。

二、再次回顾了一下Linux的命令,这里比较熟悉,跟走路一样这里必须专业起来!总的来

说有一下几个命令必须灵活运用:

1、useradd(添加用户名,后面使用sumba服务器的时候需要用到,使用率较低)

2、passwd(添加用户密码,一般配合useradd使用,使用率较低)

3、su(切换用户,经常用)

4、shutdown(关机命令,用法有多种,我一般不用,虚拟机直接断电就行了)

5、cp(拷贝,不解释)

6、mv(移动或更名,不解释)

7、rm(删除,不解释)

8、mkdir(创建目录)

9、cd(改变工作目录,经常用)

10、pwd(显示当前目录)

11、ls(查看目录)

12、tar(针对tar.gz打包和解压,这里主要记住 tar cvzf * 和tar xvzf * 一个是压缩,一个是解压)

13、tar(针对tar打包和解压,这里主要记住 tar cvf * 和tar xvf * 一个是压缩,一个是解压)

14、unzip(解压zip文件)

15、chmod(更改权限)

16、df(查看磁盘使用情况)

17、ifconfig(查看网络配置、查看ip等)

18、netstat(查看网络状态)

19、grep(查找字符串,这个其实很重要,但自己总是忘记可能是一般不用的原因)

20、rpm(用于软件安装)

21、mount(挂载,很重要用语挂载CDROM、硬盘以及共享文件等)

22、find(找到*文件存在路径)

三、vi编辑器的使用,使用比较熟练好像加“!”的都是强制执行的。

四、安装tftp服务器:

常用命令:*netstat –a | greptftp这里检测当前tftp的情况,在资料上是说检测安装情况,我觉得不是应该是检测启动情况,当然这个也是包括安装与否的,这里要注意!有的时候他是安装上的但是没有打开,查看配置文件是就会发现disable 默认是 = yes 意思是默认是关闭的我们有几种方法将他打开:

1、使用setup命令启动tftp2、配置 #vi /etc/xinetd.d/tftp 中把disable中的yes改为no3、使用命令启动 #/etc/init.d/xinetd start

五、安装NFS服务器: 这个功能是共享Linux与Linux之间文件的,后面开发ARM的时候

联通内核与文件系统使用

六、安装samba服务器

首先是要配置samba服务器的配置文件位置在:#vi /etc/samba/smb.conf

在Share Definitions中添加

【root】

Comment=Root Ditectories

Browseable=yes

Writable=yes

Path=/

valid users=smb

valid users=MYDOMAIN%s

其中可以在【home】前在命令模式下输入“6yy”(复制这六行!)然后再输入“p”(粘贴)然后再修改,这样修改起来比较方便,也是绝大多数教程都使用的方法,其中要注意几点:

1、要是使用复制方法然后修改的话要注意看清楚Comment这行后面Root

Ditectories 这行的Root是不要忘了修改【homes】中式Home而【root】

中是Root切记!(这里自己在前一次安装的时候没有留意导致后面Samba

服务器不能使用!!)

2、smb 这是用户名这里引用一下教材的语言:添加用户,注意添加用户的用户与修改配置文件部分valid users = smb相同,如果smb用户存在则不

需要添加!

配置完毕要重新启动samba服务器 #/etc/init.d/smb restart

最后在windows中运行即可。

七、Samba、NFS等PC与虚拟机的网络配置(重点)

这里着重总结一下这次网络的配置,虚拟机的网络配置非常重要,即使Linux不需要上

网可是他们之间的数据传送也是十分必要的,例如Vmtools这个工具,smb、NFS、tftp等,我在这里的网络配置花费了大量的时间研究,主要是samba服务器总不能配置成功,网上也有许多的方法不过讲的都很细许多功能的实现都比较抽象,我之所以总是没有成功在上面的几个方面上已经详细的解释了,这里不再次做总结,其中有几点与老师或查资料得到的几点信息在这里要总结一下:

1、在所有的服务器等联网活动之前一定要把网络通信配置好!在PC中首先要ipconfig

一下查询一下PC机网络配置情况(ip、网关等)然后再在虚拟机中使用命令setup打开网络配置去掉自动分配IP选用静态ip然后将ip等项目输入进去,这里要输入的一共三项,后两项是相同的只有ip是需要改变的,切记要分配在同一个网段!这样才能实现局域网功能

2、我问了问教授Linux的一位老师他曾经因为更改了本地连接的IP导致虚拟机上的网

络服务器不能用了,当更改回原来的ip才能使用,这里我并没有出现这种情况因为我在设置ip的时候使用的是动态分配地址的ip路由器,在设置完成后并没有出现服务器失效的情况所以我认为这里老师可能使用了某个ip绑定了吧。

八、Vmtools的安装使用

这个工具很好用在XP中安装比较方便,但在Linux中有点儿复杂,当然只是有点

儿而已,使用Vmware自动下载就可以完成后Linux自动加载了一个cdrom里面就有一个vmtools的tar 解压包(有时需要自己加载)他在文件中找到安装文件安装即可。这里引用一下网络同仁的资源我觉得他写的吧、简单明了(http:///viewarticle.php?id=66813)

安装linux时,一定要安装gcc和kernel-source,VMware要对内核头文件进行编译。注:linux区分大小写,例如,用户名root和Root就是两个用户了。你想进入tmp目录,而你输入的是Tmp,嘿嘿,肯定是进不去的!

按下alt+f2,输入konsole 新建一个终端。

注:如果你不是以root用户登录,你不能安装程序。用su命令可以切换到root用户,不会用命令的话,注销后用root登录。

输入 /sbin/telinit

3用root登录,输入root的密码,如果你忘了,我只能同情你了。按下alt+ctrl把鼠标切出来,点击菜单上的“安装VMware-tools”。

回到虚拟机中,挂载cdrom。

mount /dev/cdrom /mnt/cdrom进入cdrom目录

cd /mnt/cdrom将光盘中的内容复制到tmp目录下

cp VM* /tmp/

注:*号是通配符。还有,输入单个命令时按Tab自动输入。

进入tmp目录

cd /tmp

解压缩.tar.gz文件

tar zvxf VMware*.tar.gz

屏幕哗哗的闪呀!进入解压后的vmware-tools-distrib目录

cd vmware-tools-distrib

执行安装文件

./vm*.pl

一路默认回答,皆按回车键。

以上都很顺利,很多人都卡在了这里,这个该死的目录怎么也找不到,why?是因为你没安装gcc或kernel-source,回本文开头去看吧!

配置你的x windows 设置。输入yes并按回车键。

选择你linux的显示屏幕大小。

Enioy!

最后显示的是VMware开发组的注记。要让他们知道中国有这么多用破解版的,他们就不这么写了。呵呵。

输入startx启动Xwindows

OK。

我就是参考这个文章安装完成的它使用的是红旗的Linux不过我在红帽的Linux5中同样使用顺利所以将此贴贴上便于以后参考!

九、Makefile

Makefile是个将多个文件链接编译的工具使用方法很简单假设有两个文件一个是main.c 一个是fun.c以及同文件 fun.h

建立Makefile文件输入:

main:main.o fun.ogcc main.o fun.o –o main main.o:main.c fun.hgcc –c main.c –o main.o fun.o:fun.c fun.hgcc –c fun.c –o fun.o clean:rm –f main *.o(这部分代码在make clean时执行!)从中可以看出编译的规律

目标:汇编文件…..gcc 汇编文件

1、汇编文件

2、…..–o 目标文件名(这里同编译一条代码时相同)

十、文件编程-文件创建

#include

#include

#include

#include

#include

void create_file(char *filename)

{

If(create(filename,0666)<0)//创建文件函数判断创建是否成功 后面的是文件的权限:可读可写不可执行!

{printf(“create file %s failure!n”,filename);exit(EXIT_FAILURE);

}

Else

{

Printf(“create file %s success!”,filename);

}

}

Int main(int argc,char *argv[])// 这里的argc是程序参数个数(如ls –a这就是两个参数,也就是说是两个字符串,而argv【】表示的是参数名字 argv【0】=lsargv【1】=-a后面应该还有一个参数char *env 代表的是环境变量的字符串(各种路径)){

If(argc<2)//判断文件是否符合要求,这个一般小于0就行 {Perror(“you haven’t input the filename,please try again!n”);Exit(EXIT_FAILURE);//这个最后等于1其实就是个return 1;

}

Create_file(argv[1]);

Exit(EXIT_SUCCESS);//这个最后等于0其实就是个return 0;

}

十一、今天心得体会:错误与进步同在!正视错误,解决错误,取得进步!

第五篇:ARM嵌入式基础教程知识点总结

1、举出书本中未提到的嵌入式在每种异常模式下都有一个对统:嵌入式μCLinux、Windows 系统的例子:红绿灯控制,数字应的物理寄存器——程序状态CE、VxWorks、μC/OS-II 空调,机顶盒、键盘、鼠标、扫保存寄存器SPSR。当异常出现

18、ARM是什么样的公司?它是描仪 时,SPSR用于保存CPSR的状态,一家微处理器行业的知名企业,2、嵌入式系统:嵌入到对象体以便异常返回后恢复异常发生该企业设计了大量高性能、廉系中的专用专用计算机应用系时的工作状态。价、耗能低的RISC处理器。特统。特点:嵌入性、内含计算机、12、ARM7TDMI 产生异常的条点是只设计芯片,而不生产。它专用性。件?ARM的异常有哪几种,各进将技术授权给世界上许多著名

3、嵌入式处理器:为完成特殊入何种工作模式?他们退出各的半导体、软件和OEM厂商,并的应用而设计的特殊目的的处采用什么指令? 提供服务。理器。嵌入式处理器分为三类:答:当正常的程序被暂时中止,19、RISC是精简指令集计算机的1)注重尺寸,能耗,价格2)关处理器就进入异常模式。1)复缩写。CISC是复杂指令集计算机注性能3)关注全部四个需求。位异常(管理模式);2)未定的缩写。集体分为四类:嵌入式微处理义指令异常(未定义模式);3)20、ARM处理器核:ARM7系列、器、嵌入式微控制器、嵌入式DSP 软件中断异常(管理模式);4)ARM9系列、ARM10系列、ARM1130、寄存器CPSR,SPSR的功能

各是什么?

答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存 CPSR的状态,以便异常返回后恢复异常发生时的工作状态。

31、LPC2000系列ARM7微控制器具有哪两种低耗模式?如何降处理器、嵌入式片上系统

4、嵌入式操作系统:是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的发展而来的。首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。

5、ARM7TDMI中的T高密度 16 位的Thumb指令集扩展、D支持片上调试、M64 位乘法指令、Embedded ICE 硬件仿真功能模块

6、ARM7TDMI采用三级流水线(取指 译码 执行)。存储器编址方式:使用了冯·诺依曼结构,指令和数据共用一条32 位总线。

7、处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。

8、ARM的处理器模式:用户模式(usr)-正常程序执行的模式。快中断模式(fiq)-FIQ异常响应时进入此模式。中断模式(irq)-IRQ异常响应时进入此模式。、管理模式(svc)-系统复位和软件中断响应时进入此模式。中止模式(abt)-用于虚拟存储及存储保护。未定义模式(und)-未定义指令异常响应时进入此模式。系统模式(sys)-与用户类似,但有直接切换到其它模式等特权。状态:ARM状态,32 位,这种状态下执行的是字方式的ARM 指令。Thumb状态,16 位,这种状态下执行半字方式的 Thumb 指令。

9、堆栈指针R13(SP):用于保存堆栈的出入口地址,保存待使用寄存器的内容。链接寄存器R14(LR):当使用BL指令调用子程序时返回地址将自动存入R14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址,其他时候为通用寄存器。程序计数器R15(PC):R15总是指向正在“取值”的指令。

10、ARM状态和Thumb状态的寄存器之间的关系:1)R0-R7相同;2)CPSR相同,Thumb状态无SPSR。Thumb状态下不能更新CPSR中的ALU标志位。Thumb指令对R8-R15寄存器访问受限。

11、ARM7TDMI(-S)寻址方式: 1)寄存器寻址2)立即寻址3)寄存器移位寻址4)寄存器间接寻址5)基址寻址6)多寄存器寻址7)堆栈寻址8).相对寻址.寄存器CPSR,SPSR的功能各是什么?答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2)指令预取中止异常(中止模式);系列、Intel的XScale系列和5)数据访问中止(中止模式);MPCore系列。6)快速中断请求(FIQ模式);

21、LPC2000系列器件有几种常7)外部中断请求(IRQ模式)。见的封装形式和其封装特点?异常返回指令:1)SWI,未定义常见的封装有64脚封装,144脚的返回:MOVS PC,R14;2)IRQ,FIQ,封装,功耗低,有多个32位定预取中止的返回:SUBS 时器,多达9个外部中断,16KPC,R14,#4;3)数据中止返回并字节静态RAM,1/128/256k字节重新存取:SUBS PC,R14,#8异常片Flash存储器,128为宽度接中断的优先级:复位(最高优先口加速器,4路10位ADC或8路级)--> 数据异常中止--->FIQ 10位ADC(64脚和144脚封装),---> IRQ--->预取指异常中止46或76~112个GPIO(64脚和--->SWI---->未定义指令(包括144脚封装)。缺协处理器)。

22、简要说明一下LPC2000系列

13、小端存储器组织是较高的有器件片内存储器的特点?片内效字节存放在较高的存储器地存储器分为片内Flash和片内静址,较低的有效字节存放在较低态RAM。片内Flash通过128位的存储器地址(同同小)。大端宽度的总线与ARM内核相连,具存储器组织是较高的有效字节有很高的速度,特有的存储器加存放在较低的存储器地址,较低速功能,可以将程序直接放在的有效字节存放在较高的存储Flash上运行。SRAM支持8位、器地址(正反大)。16位和32位的读写访问。

14、描述一下LPC2210的PO.14、23、存储器重映射是为了实现引P1.20、P1.26、BOOT1和BOOT0导块和异常向量表地址的固定。引脚在芯片复位时分别有什么重映射引导块,有利于用户调用作用?并简单说明LPC2000系列其中的某些程序,增加代码的可ARM7微控制器的复位处理流程。移植性;异常向量表重映射为了 P0.14的低电平强制片内引能让ARM内核通过访问0x0000~导装载程序复位后控制器件的0x003F地址访问到其他存储区操作,即进入ISP 状态。P1.20域的向量表。的低电平使 P1.25~P1.16复

24、LPC2000系列ARM7微控制器位后用作跟踪端口。P1.26的对向量表有什么要求(向量表中低电平使 P1.31~P1.26复位的保留字)? 后用作一个调试端口。当RESET 向量表中有一个空隙以确保软为低时,BOOT0 与BOOT1 一同控件能与不同的ARM结构兼容;表制引导和内部操作。引脚的内部中异常入口地址处放置的是跳上拉确保了引脚未连接时呈现转指令,已转向中断子程序。FIQ高电平。外部复位输入:当该引地址要放在向量表的最后。脚为低电平时,器件复位,I/O25、FLASH是128位宽度的接口,口和外围功能进入默认状态,处通过存储器加速模块提高其访理器从地址0 开始执行程序。复问速度。位信号是具有迟滞作用的TTL

26、FIQ、IRQ有什么不同?向量电平。IRQ和非向量IRQ有什么不同?

15、LDR/STR指令的偏移形式有FIQ是快速中断,具有最高优先哪4种?LDRB和LDRSB有何区级,中断处理转入FIQ模式;IRQ别? 是普通中断,优先级低于FIQ,1)零偏移;2)前索引偏移;3)中断处理转入IRQ模式。向量IRQ程序相对偏移;4)后索引偏移。支持16个向量IRQ中断,16个LDRB:读出指定地址的数据并存优先级,能为每个中断源设置服入指定寄存器,LDRSB:读出指务程序地址;非向量IRQ支持一定地址的数据,并高24位用符个非向量IRQ中断,所有中断都号位扩展,再存入指定寄存器。共用一个相同的服务程序入口

16、ARM7TDMI指令集包括1)ARM地址。指令集:指令32位,效率高,27、LPC2000系列芯片共有共有代码密度低,所有ARM指令都是4个外接中断输入,它们既可以可以有条件执行的。Thumb指令是IFQ也可以是IRQ。集:指令16位,代码密度高,28、LPC2000系列芯片常用的开Thumb指令仅有一条指令具备条发工具:ADS、IAR、JATG、ISP 件执行功能保持ARM的大多数性

29、嵌入式处理器的最小系统是能上的优势,是ARM指令集的子指提供嵌入式处理器运行所必集。须的条件的电路与嵌入式处理

17、广泛使用的三种类型的操作器共同构成的系统。嵌入式处理系统:多道批处理操作系统、分器的最小系统的基本电路包含:时操作系统以及实时操作系统。时钟系统、供电系统、复位及其常见的4种嵌入式实时操作系配置系统、存储器系统(可选)、调试测试系统(可选)。

低系统的功耗?空闲和掉电。目前大多数电路采用CMOS工艺,静态功耗很小,可以忽略,起主要作用的是动态功耗,因此降低功耗主要从降低动态功耗入手。低功耗设计技术:低功耗器件、低功耗电路形式、降低或动态改变处理器的时钟频率、降低持续工作电流、减少处理器工作时间、采用快速算法。

32、内部寄存器特点:ARM7TDMI处理器内部有37个用户可见的寄存器,31个通用32位寄存器,6个状态寄存器。这些寄存器不能在同一时间被访问,究竟何时才能访问上述寄存器完全取决于处理器状态和模式。

33、用户模式CPSR模式位的值:1000034、系统模式CPSR模式位的值:1111134、列举异常向量的向量地址。复位 0x00000000未定义 0x00000004软件中断 0x00000008

中止 0x0000000c中止(数据)0x00000010保留 0x00000014IRQ 0x00000018FIQ0x0000001c35、异常优先级顺序:复位数据中止FIQIRQ中止未定义 SWI36、最大中断延时27个周期,最小中断延时4个周期 N负标志位、运算结果的第31位值,记录标志设置的结果Z零标志位、如果标志设置操作的结果为0,则置位。C进位标志位、记录无符号加法溢出,减法无错位,循环移位。V溢出标志位、记录标志设置操作的有符号溢出。控制位:I、F、T、M【4:0】中断禁止位:I、F(I=1:禁止IRQ中断F=0:禁止FIQ中断)标志位:T反映处理器的运行状态。T=1时,程序运行Thumb状态,否则运行于ARM状态。模式控制位:M【4:0】决定了处理器的运行模式

总线就是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共

路。总线的主要参数有:总线的带宽、总线的位宽、总线的工作时钟频率。

预分频功能:通过设置某个常量来控制pclk(定时器的时钟源)的分频。匹配功能:当定时器值等于预设的匹配值时,从引脚输出特定的信号。捕获功能:如果输入信号满足设定的要求,将触发捕获动作,将定时器的计数值保存到捕获寄存器中。

。除了用户模式外,其他模式均可视为特权模式。后五个为异常模式。

下载ARM嵌入式技术复习总结word格式文档
下载ARM嵌入式技术复习总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    ARM嵌入式linux复习心得总结2(5篇)

    2011.10.10 Evo YangARM嵌入式linux复习心得总结2:一、文件编程综合实验—文件拷贝这里的文件拷贝实验是在昨天创建文件的基础之上的综合练习,由于是Linux应用编程的基础所以......

    嵌入式系统ARM实验报告

    南京邮电大学通信与信息工程学院 实验报告 实验名称:实验一基于ADS开发环境的设计 实验二嵌入式Linux交叉开发环境的建立 实验三嵌入式Linux环境下的程序设计课程名称嵌入式......

    嵌入式复习总结

    一:嵌入式系统概述 1嵌入式定义 2嵌入式与通用计算机 A.嵌入式系统具有应用针对性 B.嵌入式系统硬件一般对扩展能力要求不高 C.嵌入式一般采用专门针对嵌入式应用设计的处理......

    ARM与嵌入式实验报告(5篇)

    ARM与嵌入式技术 实验报告 专业班级:通信工程 姓名:**** 学号:****** 实验日期:2012年6月7日 指导老师:***** 一、实验目的 1.学习使用Embest IDE开发环境及ARM 软件模拟器; 2.......

    ARM嵌入式系统的问题总结分析.

    ARM嵌入式系统的问题总结分析 摘要:本文是作者关于嵌入式系统一些基本问题的思考和总结。主要是从嵌入式处理器与硬件、ARM处理器的优势、嵌入式软件、嵌入式系统教学等方面......

    哈工大ARM嵌入式系统考试知识点总结(5篇)

    接VIC部分 一旦产生IRQ中断,微控制器切换到IRQ模式,并跳转到向量表0x0018地址执行指令。一旦产生FIQ中断,微控制器切换到FIQ模式,并跳转到向量表0x001C地址执行指令,然后跳转到FI......

    嵌入式复习总结a4

    一、嵌入式系统基本知识 1、什么是嵌入式系统、分层结构:根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”, 此定义是从......

    嵌入式期末复习总结整理

    《嵌入式整理提纲》——YOYO左转 题型: 1、选择题:20分 2、填空题:20分 3、判断题:8分 4、简答题:16分 5、程序分析题:20分 6、编程题16分 第一章 1、 嵌入式系统的定义: 根据IEEE......