



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、墨白制作计算机等级考试三级嵌入式系统开发技术LDR是存储器到寄存器的数据传送指令,题中是基址加变址寻址,且存储器值改变伪指令在源程序中的作用是为完成汇编程序作各种准备工作, 这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。DCB为数据定义伪指令,用于分配一片连续的字节存储单元,并用伪指令中指定的表达式初始化。DCB为 ARM汇编器所支持的数据定义伪指令,用于分配一片连续的字节存储单元并用指定的数据初始化;CODE16;伪指令通知编译器,其后的指令序列为CODE32伪指令通知编译器,其后的指令序列为16 位的 Thumb指令32 位的 ARM指令MyTestEQU 15000;
2、定义一个32 位常量 MyTest,值为 15000EXPORT伪指令用于在程序中声明一个全局的标号,该标号可在其他的文件中引用,可用 GLOBAL代替,D项解释正确,故此题选择 A、B。EQU是等于伪指令,用于为程序中的常量、 标号等定义一个等效的字符名称,最大数为 32 位,C正确;墨白制作EXTERN是外部标号引用声明伪指令,用于通知编译器要使用的标号在其他的源文件中定义,但要在当前文件中引用。条件码标志N=1负数Z=1零C=1加法包括(CMN)进位,减法包括( CMP)不进位V=1溢出EQ为相等CS为无符号数大于或等于VS溢出LS 为无符号数小于或等于在 ARM汇编语言程序中,子程序的
3、调用一般是通过BL 指令来实现的。墨白制作IMPORT伪指令用于通知编译器要使用的标号在其他的源文件中定义但要在当前源文件中引用;MOV PC,LR在 ARM汇编中用于子程序的返回。CPRS为当前程序状态寄存器, 记录了 ARM运行过程中的标志状态; 其中 T 为ARM与 11111Thumb指令切换,F 为禁止快速中断 FIQ 的控制位。ARM对异常的响应过程如下:将 CPRS的值保存到将要执行的异常中断对应的各自SPSR中;设置 CPSR的相应位;将引起异常指令的下一条地址(断点地址)保存到R14中;给 PC强制赋值,转入向量地址,以便执行相应的处理程序。MMU是 MemoryManage
4、mentUnit 的缩写,中文名是内存管理单元, 它是 CPU)中用来管理虚拟存储器、 物理存储器的控制线路, 同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权;MMU进行虚拟地址到物理地址的转换通过查找页表来完成, 每次在访问内存时先查 TLB,查不到时再到内存中去查整个页表。故 MMU通过查 TLB表得到的是物理地址墨白制作MMU控制存储器访问顺序MMU控制存储器的访问权限RS-232接口标准的最长通信距离为15m基于 UART可以构成 RS-232 接口和 RS-485 接口。RS-232接口标准的最长通信距离为 15m,而 RS-485 接口标准的最长通信距离为 120
5、0m。RS-485 通常用于主从式多机通信系统, 采用轮询方式, 由主机逐一向从机寻址, 当从机地址与主机发送的地址一致时,才建立通信链接,进行有效数据通信。-COS-II-OSTickISR() 时钟节拍中断服务子程序,与时间管理相关。OS_Sched() 任务调度OSIntExit()中断退出函数OSTaskCreate()任务创建OSQCreate( )创建事件控制块真正实现任务切换的函数是OSCtxSw()任务级的调度是由函数OSSched()完成中断级的调度是由函数OSIntExit() 完成墨白制作main() 函数在执行过程中, 除了用户函数和硬件初始化函数之外, 需要按顺序执行
6、以下三个主要的 C/OS-II 函数:OSInit() ;OSTaskCreate();OSStart() 。C/OS-II 不支持时间片轮转调度法, 因此赋给每一个任务的优先级是不相同的。C/OS-II 是抢占式实时操作系统内核且每个任务拥有自用栈。C/OS-II 属于源码公开的实时嵌入式操作系统。C/OS-II 的每个任务都是一个无限的循环。 每个任务都处在以下 5 种状态之一的状态下。这 5 种状态是休眠态、就绪态、 运行态、挂起态(等待某一事件发生)和被中断态。C/OS-II 基本不包含设备驱动程序,只是一个纯内核。C/OS-II 驱动程序属于底层,需要系统开发商自行开发。使用C/OS
7、-II的栈空间校验函数, 可以确定每个任务到底需要多少栈空间。OSSched()函数是任务调度的前导函数,判断进行任务调度的三个条件是否满足。这三个条件是:(1)中断嵌套层数共享全程变量 OSIntNesting=0, 也就是所有的 ISR 已经执行完毕。(2)任务调度加锁层数共享全程变量 OSLockNesting=0,也就是调度没有被禁止。调度器上锁函数 OSSchedlock()对共享变量 OSLockNesting 做加 1 操作,用于禁止任务调度,直到任务完成后,再调用给调度器开锁函数 OSSchedUnlock ()对共享变量 OSLockNesting 做减 1 操作。(3)就绪
8、表查找到的最高优先级任务的优先级比当前任务的优先级高。墨白制作OS_CPU_C.C用于创建任务的自用栈空间、定义用户接口hook 函数原型等。OS_CORE.为C核心调度代码,功能包括系统初始化、启动多任务调度开始运行、任务创建管理与调度、 TCB 初始化、就绪表初始化、 ECB 初始化、任务事件就绪表、空闲任务等。OS_MEM.为C内存管理,包括创建分区、获得存储块等。OS_TASK.C为任务管理,包括改变一个任务的优先级、创建或者删除一个任务、挂起一个任务、恢复一个被挂起的任务等。在C/OS-II 中,OSInit() 函数先建立最初的任务就绪表,然后建立 4 个空白的数据链表。 它们分别
9、是任务控制块链表、 事件控制块链表、 标志链表和内存控制块链表。一旦 OSStart() 函数开始执行,就标志着 C/OS-II 进入了多任务调度的正常运行状态。基于C/OS-II 的嵌入式系统,其一般具有四层软件结构:最上层是应用软件层,然后是应用程序接口层,内核层,最下面是设备驱动层。C/OS-II 系统内核提供的基本功能有: _任务管理_、任务间通信与同步、任务调度、时间管理和 _内存管理_等。墨白制作C/OS-II 允许中断嵌套,嵌套层数可达255 层集成电路的工作速度主要取决于组成逻辑门电路的晶体管的尺寸。 晶体管的尺寸越小,其极限工作频率越高,门电路的开关速度就越快。Unicode
10、/UTF-16 采用的是双字节可变长编码。 ASCII 字符、标点符号、希腊字母、阿拉伯文和 CJK汉字等均使用双字节编码, 其他不常用字符则使用 4 字节编码。嵌入式处理器的体系结构按指令集可分为两大类:复杂指令集结构( CISC)和精简指令集结构( RISC) 。进一步细分,按存储机制分为冯·诺依曼结构及哈佛结构。冯·诺依曼结构中数据和程序统一, 使用一条总线; 而哈佛结构中使用两条独立的总线,不允许指令和数据并存。指令集和存储机制可以共存。 ARM处理器采用 RISC结构。ARM状态是 32 位指令的状态,指令代码全部是4 个字节长度Thumb状态为 16 位指令状态
11、,指令长度为16 位Thumb-2状态兼容 16 位指令和 32 位指令编码ARM与 Thumb间可以互相切换。如果Thumb状态进入异常处理(异常处理要在 ARM状态下进行),则当异常返回时,将自动切换到Thumb状态。复位后为 ARM状态墨白制作堆栈指针 SP使用的寄存器是R13,链接寄存器 LR使用的寄存器是R14,程序计数器 PC使用的寄存器是R15。CPSR是当前程序状态寄存器;ARM处理器支持 8 位、16 位和 32 位数据处理MMU是 MemoryManagementUnit 的缩写,中文名是内存管理单元, 它是 CPU)中用来管理虚拟存储器、 物理存储器的控制线路, 同时也负
12、责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权; 嵌套向量中断控制器缩写是 NVIC;MPU为 ARM处理器的存储器保护单元MMU为 ARM处理器的存储器管理单元ARM复位后 PC指针指向某个唯一的地址除复位异常,其他所有异常处理完毕之后必须返回到原来程序处继续向下执行:恢复原来被保护的用户寄存器;墨白制作将 SPSR_mode寄存器值复制到 CPSR中;根据异常类型将 PC值恢复成断点地址;清除 I 和 F 标志,允许 IRQ 和 FIQ 中断。ARM公司把 ARM11之后的基于 ARM Cortex-R 内核和 ARM Cortex-M内核的系列处理器称为嵌入式Cortex 处理
13、器。ARM处理器中的 R13被用作堆栈指针 SP。当不使用堆栈时, R13 也可以用做通用数据寄存器,R14(link register )存储子程序的返回地址。异常:1 复位,6 未定义指令,6 软件中断,5 指令预取中止,2 数据中止,4 外部中断请求,3 快速中断请求墨白制作在 ARM汇编语言程序中,子程序的调用一般是通过 BL 指令来实现的。B 为(无)条件转移, BL 为带链接转移, BX为带状态切换的转移, BLX为带链接和切换的转移。-I2C-I2C 即集成电路互连总线I2C 可用于连接嵌入式处理器及其外围器件,它是广泛采用的一种串行 _半_双工传输的总线标准。 I2C总线中,发
14、起数据传输操作的I2C 器件是 _主_控器件。I2C 总线可以挂接多个器件, 其中主动发起数据传输操作的I2C 器件是主控器件(主器件),否则它就是从器件。I2C 传送数据时,每次传送的字节数目没有限制I2C 总线只有两条信号线,一条是数据线SDA,另一条是时钟线SCL,所有操作都通过这两条信号线完成。墨白制作I2C 总线属于多主总线, 即允许总线上有一个或多个主控制器件和若干从器件同时进行操作,通过总线仲裁的方式确定总线控制权;I2C 只有两条信号线,数据线SDA和时钟线 SCL,所有操作都通过这两条信号线完成;USB有多个版本,如USB 1.0、USB 1.1、USB 2.0、USB 3.
15、0等。USB总线(1.1和 2.0 )有 4 根信号线,采用半双工差分方式,用来传送信号并提供电源。Mini USB也提供电源。USB总线通常采用主从方式,它有一个主机,负责管理所有USB设备的连接与删除、发起与USB设备的通信等。对 SPI 的操作,首先要选择让基于SPI 接口的从设备的SSEL处于被选中状态,表示将要对该从设备进行操作,然后才能按照SPI 时序要求进行数据操作;CAN总线是针对实时性要求很强的工业控制领域推出的适应多主系统的有线通信接口,能够实现多主通信; CAN 总线的数据帧由7 个不同的域组成,其中域的长度可选为08 B;墨白制作CAN协议采用 CRC检验并可提供相应的
16、错误处理功能,保证了数据通信的可靠性;一般面向控制应用领域的ARM芯片内部已经嵌入了CAN总线控制器,外部仅需要连接 CAN的收发器即可构建完整的CAN网络。UART即通用异步收发器,是可以用于全双工串行异步通信的;它由发送器、接收器、控制单元以及 _波特率_发生器等构成。ARM芯片中的 UART收发信息时,可以采用 FIFO模式,也可以采用普通模式;UART传送信息的格式以起始位开始,以停止位结束;UART传送信息时,一次传送的数据位可为5、6、7、8 位,由编程决定;基于 UART可组成 RS-232 接口。AMBA是 ARM公司公布的总线协议, 其中文名为" 先进微控制器总线体
17、系结构" ;用于连接和管理片上系统中各功能模块的开放标准和片上互连规范;墨白制作AMBA有多个版本,至 2011 年,AMBA已从 AMBA1.0发展到了 AMBA4.,0性能随版本的发展而逐步提高, ARM7 采用 AMBA1,而 ARM9采用 AMBA2。按照 AMBA规范,以 ARM内核为基础的嵌入式处理芯片采用系统总线与外围总线的层次结构构建片上系统。AMBA的系统总线主要用于连接高带宽快速组件。AMBA的外围总线主要连接低带宽组件以及与外部相连的硬件组件。系统总线通过桥接器与外围总线互连。AMBA是 ARM公司公布的总线协议,是用于连接和管理片上系统(SoC)中功能模块的开
18、放标准和片上互连规范。标准规定了 ARM处理器内核与处理器内部高带宽 RAM、DMA以及高带宽外部存储器等快速组件的接口标准, 也规定了内核与 ARM处理器内部外围端口及慢速设备接口组件的接口标准。按照 AMBA总线规范,以 ARM内核为基础的嵌入式处理器芯片采用系统总线与外围总线两层结构的方式构建片上系统。连接到系统总线上高带宽组件主要包括: 电源管理与时钟控制器、 测试接口、外部存储器控制接口、 DMA 控制器、USB 主机、中断控制器等;RTC是与外围总线连接的硬件组件。墨白制作ARM内部的 DMA控制器(直接存储器访问控制器)是一种硬件组件,使用它可以将数据块在内存与外设以及内存与内存
19、之间互相传送,且传输过程不需要CPU参与,可显著降低处理器负荷;DMA主控制器与 AMB的系统总线部分相连;在 ARM处理芯片中,许多与外部打交道的通道如串行通信端口、 USB 接口等既可以由 ARM内核控制其数据传输,也可以通过 DMA控制器控制数据传输。DMA连接在 AMBA的系统总线上;DMA一般采用向量中断或嵌套向量中断方式管理中断,向量中断区分中断的优先级,并且每个中断都有各自的中断处理程序地址,高优先级的中断可以进入低优先级中断的处理过程中, 待高优先级中断处理完成后再继续执行低优先级中断处理。GPRS是 GSM用户可用的一种移动数据业务,通常支持用AT 指令集进行呼叫、短信、传真
20、、数据传输等业务;凡使用 802.11 系列协议的无线局域网又称为WiFi;蓝牙是一种支持短距离通信的无线低速通信技术, 它采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信;墨白制作嵌入式系统中的常用无线模块主要包括GPS、GPRS、WiFi、蓝牙及通用射频通信模块等,通信连接接口有UART,也有基于USB的。GPC和 GPD作为 LCD液晶屏接口引脚。RTC 组件的寄存器读/ 写有一个使能位,这是与其他模块不同的地方,在访问 RTC寄存器之前需要先打开这个使能位, 在读或者写结束以后关闭此位, 其他时间里此位也是关闭的,这是为了保护系统的实时时钟不受误写。实时时钟模块 RTC
21、采用单独的供电引脚和单独的时钟源, 采用 32.768KHz 晶体,由 XTIrtc 和 XTOrtc 引脚接入,通过 215 时钟分频器得到 1Hz 的脉冲,进而得到时钟的最小单位时间 1s。-Linux-Linux 的源代码与Unix 的源代码是完全不同的,尽管函数和命令的功能、墨白制作处理结果、函数名称和参数十分相同,以及 Unix 的行命令、驱动程序和应用程序在 Linux 上能够运行。Unix 是优秀的主流操作系统, Linux 属于一种" 类 Unix" 系统,Linux 的运行效率还没有超过 Unix。 同一个应用程序在 UNIX环境下的运行速度和效率往往高于
22、 Linux 环境Linux 内核主要由 5 个子系统组成: 进程调度(SCHED),内存管理(MM),虚拟文件系统(VFS),网络接口(NET),进程间通信(IPC) 。Linux 内核包含进程管理、内存管理、文件管理、网络接口和进程间通信等模块;Linux 内核的主要作用是:进程管理与调度、内存管理、文件管理、网络接口和进程间通信。进程调度模块负责控制进程对 CPU资源的使用,所采取的调度策略是使得各个进程能够公平合理地访问 CPU,同时保证内核能及时地执行硬件操作。Linux内存管理模块的功能之一是屏蔽各种硬件内存结构的差异并向上返回统一的访问接口支持进程之间各种通信机制,其通信机制主要
23、包括信号、管道、消息队列、信号量、共享内存和套接字墨白制作Linux 内核为用户进程提供了一个虚拟接口(系统调用)。系统调用是 Linux 中用户进程与操作系统之间的重要接口。嵌入式 Linux 操作系统由用户进程、 OS 服务组件和 Linux 内核 3 个子系统组成。用户进程是在 Linux 系统上运行的应用程序集合, 某个应用程序在 Linux 操作系统环境下运行时,它就成为一个用户进程;OS服务组件是位于Linux 操作系统内核之上的一层服务模块或实用程序的集合;Unix、嵌入式 Linux 、WinCE、Mac OS、Android OS 和 DOS操作系统是典型的单内核操作系统。
24、属于微内核结构的典型嵌入式操作系统有 Symbian、VxWorks、QNX、C/OS-II 、iOS 等。IEEE 的实时 UNIX 分委会认为实时操作系统应该具备7 个特征:具有异步I/O和中断处理能力;任务切换时间和中断延迟时间确定;优先级中断和调度;抢占式调度;内存锁定;连续文件;同步。墨白制作Tiny OS 是 UC Berkeley 开发的开放源代码操作系统,属于深度轻量级的操作系统;专为嵌入式无线传感网络设计, 功耗较低,特别适合传感器这种受内存、功耗限制的设备;Tiny OS的技术特点是轻线程、主动消息、事件驱动和组件化编程。C/OS-II/III 是小型嵌入式操作系统内核,
25、不含设备驱动程序和文件系统; C/OS-II 是开放源代码的操作系统,而它的升级版 C/OS-III 是商用操作系统;C/OS-II 具有良好的可裁剪性和可移植性,能够支持的任务数最多为 64;任务按优先级抢占式调度方式进行。Android(安卓)是一种以 Linux 为基础的半开放源代码操作系统,主要使用于移动便携设备; 如果使用不同的软件开发包, 则使用的编程语言也不同。 谷歌公司不对基于 Android 操作系统的第三方软件进行严格控制, 从而促使第三方应用软件发展迅速。VxWorks操作系统属于大型商用操作系统, CLinux RTLinuxC/OS-II均属于开源操作系统,四个选项中
26、仅有 C 选项的 RTAL是典型的嵌入式Linux 操作系统之一,其中文含义是实时应用接口。墨白制作QNX是由加拿大 QSSL公司(QNX Software SystemLtd. )开发的分布式实时操作系统,符合POSIX基本标准和实时标准,使其应用可以方便的进行移植;它具备一个很小的内核,即微内核的操作系统;内核提供 4 种服务:进程调度、进程间通信、底层网络通信和中断处理。iOS 的系统结构分为以下 4 个层次:核心操作系统,核心服务层,媒体层,触摸框架层(the Cocoa Touch Layer ) ,因此 A 正确;WinCE的主要优点是源代码数量庞大,API 函数丰富,B 正确;W
27、indows Phone 8 针对 Windows Phone7的不足之处进行了大量技术升级,因此 C错误;Android 是国际上目前最流行的手持设备开发平台之一,微内核操作系统是对单内核做了结构改进后推出的, 在这种操作系统内核机构中,将任务管理、调度器、中断管理和进程间通信模块编译成一个功能精简、空间紧凑的模块, 称为微内核; 内核小巧,传统操作系统内核中的许多部分都被移出内核,采取服务器方式实现; 所有进程请求使用统一接口, 进程不需要区分内核模式和用户模式服务。单内核结构是传统操作系统采用的结构,也称为宏内核( Macro Kernel ) 。其缺点是占内存空间大, 缺乏可扩展性,
28、维护困难,任务执行时间的可预测性较低,可靠性较低, 排除故障和增加新功能需要重编译。 其优点是应用程序生成效率高,系统花在内核功能切换上的开销非常小, 对外来事件反应速度快, 操作系统内核的运行效率高; Android 是典型的单内核操作系统。墨白制作-开发-嵌入式系统的开发平台包含大量开发工具, 软件开发工具通常包括: 项目管理器、编辑器、编译器、连接器、定位器等;这些软件开发工具往往都使用统一的用户界面并作为一个整体提供给开发人员使用,以提高开发工作效率;有的开发平台中还包含一些中间件和软件组件, 以满足特定应用领域的各种应用开发;嵌入式系统的开发平台大多采用宿主机 - 目标机的架构, 宿
29、主机是开发用机,目前大多数运行 Windows操作系统,而应用软件的开发和调试都是通过宿主机开完成。利用 ADS1.2工具软件来开发基于ARM微处理器的嵌入式系统应用程序时一个工程项目中至少应包含一个生成目标, ARM提供的可执行输出文件的模板包括了下面 3 个生成目标:Debug、Release、DebugRel。ADS1.2 采用工程项目形式来管理应用程序中涉及的源文件、库文件、头文件等。工程项目中可以按照一定的逻辑关系来分组管理文件。当地址映射关系比较简单时, 使用编译、连接选项来确定输入文件的连接顺序。当地址映射关系比较复杂时,使用 scatter (分散加载)格式的文件来确定输入文件
30、的连接顺序。墨白制作RVDS是 ARM公司推出的基于 ARM系列 CPU进行开发的工具套件,支持所有ARM芯片,还支持其他内核的处理器,如 51 系列;与 ADS1.2比较而言,其生成的代码紧凑,执行效率高;RVDS的开发工具套件中, 主要包括工程管理器、 编译连接器、 调试器和指令集仿真器等;支持汇编、C 和 C+对源程序进行编译。仿真平台(仿真开发平台) 一般指嵌入式系统开发过程中使用的虚拟机管理软件、仿真软件或者 指令集模拟器。JATG 可用于实现嵌入式系统的在线编程功能,其标准允许多个芯片通过JTAG接口串联在一起,实现对多个器件的测试;目前大多数嵌入式CPU、DSP、FPGA器件都支
31、持 JTAG标准;SWD是 Cortex-M 内核提供的功能与JTAG类似的调试接口。边界扫描测试技术是对芯片或印制电路板进行片上调试最常用的一种技术;JTAG是 IEEE的一个下组织, 任务是研究测试访问端口和边界扫描结构的标准,其研究结果即俗称的JTAG标准;使用 JTAG进行嵌入式系统的调试,无需目标存储器,也不占用目标机任何墨白制作I/O 端口;对于不支持 JTAG调试标准的嵌入式 CPU,如 MCS-51单片机,其软件固化要使用称为" 编程器" 的设备来进行。与人们日常使用的个人计算机相比,嵌入式系统具有许多不同的特点。1)专用型,嵌入式系统与具体应用紧密结合,具
32、有很强的专用型;2)隐蔽性,嵌入式系统通常总是非计算机设备(系统)中的一个部分,它们隐藏在其内部,不为人知;3)资源受限,嵌入式系统通常要求小型化、轻量化、低功耗及低成本,因此其软硬件资源受到严格的限制;4)高可靠性;5)实时性;6)软件固化。-NOR Flash和 NAND Flash-墨白制作NOR Flash 和 NAND Flash是现在市场上两种主要的闪存技术;NOR Flash ROM的特点是以字节为单位随机存取,但NOR Flash ROM写入和擦除速度较慢,影响了它的性能。NANDFlash ROM以页(行)为单位随机存取,在容量、使用寿命和成本方面有较大优势。 但是它的读出速
33、度稍慢, 编程较为复杂, 因此大多作为数据存储器使用。数码相机存储卡和U 盘中的 Flash 均采用 NANDFlashNANDFlash 主要用于片外程序存储器, 为了节省引脚, 降低体积,地址线和数据线一般采用分时复用技术。ALE、CE、RE、R/B 分别表示地址锁存允许、 低电平有效的芯片使能、 低电平有效的读使能、准备就绪 / 忙输出。-S3C2410-S3C2410 的电源管理模块具有正常模式( NORMALMODE)、慢速模式(SLOWMODE)、空闲模式(IDLE MODE)和掉电模式(POWER_OFF MODE)共四种模式;任何情况下复位操作均自动进入正常工作模式;在掉电模式
34、和休眠模式下,只要有任何一个外部中断EINT0:23 或RTC时钟中断发生,也均将返回到正常模式;正常模式下电源管理模式为内核及ARM芯片内部所有硬件组件提供时钟源,墨白制作即所有设备处于开启状态, 因此功耗比较大。 用户可以通过软件控制内置硬件组件的开启和关闭,暂时不用的硬件可以关闭以降低功耗。_休眠_ 模式下,电源管理模块仅断开ARM内核时钟 FCLK,但仍为外围硬件组件提供时钟。_掉电_模式下,电源管理模块将断开内部电源,除非唤醒逻辑有效,内核不产生功耗。S3C2410存储器控制组件包括存储器控制器、 总线控制器、外部主控器、NANDFlash 控制器等。存储器控制器提供访问外部存储器所
35、需的存储器控制信号,支持大 / 小端模式,地址空间共 1GB(8个 BANK,每个 BANK大小为 128MB)。以 ARM芯片为核心的嵌入式系统其 I/O 与存储器采用统一编址方式, 并不像 x86 那样采用的是 I/O 映射编址(独立编址)方式。BANK0只能是16 位和32 位总线宽度的访问,其他所有BANK可访问8 位、16 位和 32 位。S3C2410的 GPIO端口有 GPA/GPB/GPC/GPD/GPE/GPF/GPG/GPH多个并行 I/O接口。GPIO端口的多个并行I/O 接口中,有的接口的功能是单一的,有的接口的功能是复用的GPIO端口的每个并行I/O 接口都有控制寄存
36、器、数据寄存器以及上拉寄存器墨白制作GPIO端口属于芯片内部的低带宽组件S3C2410有三个 UART接口 UART0、UART1和 UART2,其对应的线路控制寄存器为 ULCON0、ULCON1和 ULCON2,用于确定传输帧的格式;UART的波特率由除数寄存器决定,也取决于外部时钟,还可以是UEXTCLK,由相应控制寄存器决定;通过对 UART的控制器寄存器进行编程可确定每个UART的相关中断是否允许;S3C2410有两个中断挂起寄存器:源中断挂起寄存器 SRCPND和中断挂起寄存器 INTPND;当多个中断源请求服务时, SRCPND 相应的位被写 1,通过优先级仲裁当前最高优先权的中
37、断源对应的 INTPND位写入 1;中断模式寄存器的功能是决定中断源的中断属于普通中断IRQ 还是快速中断中断屏蔽寄存器的功能是屏蔽中断源的中断请求子源中断挂起寄存器的功能是记录子中断源中断请求的挂起状态-实时-墨白制作RTOS响应中断请求并且完成相应 _ 中断服务子程序 (ISR)的时间非常快,且这个时间必须具有某种程度的一致性。 精细衡量这个时间一致性变化的术语是抖动。实时操作系统 (RTOS)是一种专门服务于实时系统应用请求的操作系统。 它的实时性能指标主要根据三个指标来衡量:响应时间、吞吐量( throughout )和生存时间。RTOS响应时间的具体指标是:中断延迟时间( Inter
38、ruptLatency)和任务切换时间(Task Switching Latency ) 。在操作系统中,术语 " 任务" 和" 进程" 基本上是通用的。在实时系统中,在给定时间内系统可以处理的事件总数称为 _吞吐量_。实时系统中的另一个指标用于衡量输入数据的有效等待时间,超过了这个时间,处理器即使接收到输入数据, 也不能够给出有用的输出数据, 这个时间的名称是_生存时间_。按响应时间划分,通常可将实时系统分为三类: (1)普通实时系统,响应时间一般在秒级;(2)响应时间在毫秒级和 _微_级的强实时系统; (3)响应时间在数十秒级的 _弱_实时系统。-引
39、导-墨白制作嵌入式系统加电后执行的第一批最初操作称为引导或者自举( Boot)的程序称为引导程序或者加载程序,其英文术语是 Bootloader ;,对应引导加载程序主要完成内存加电自检、 外设存在自检、 内存地址映射、 初始化外围设备、内存寻址定位、加载和启动操作系统。对于嵌入式 Linux 而言,Bootloader主要完成的工作步骤如下:初始化处理器及外设的硬件资源配置;建立内存空间的映射关系, 使能 MMU,将系统的外存和内存地址变换激活,为最终调用操作系统内核做好准备;装载操作系统映像到内存;对 Flash 存储器编程;运行操作系统;传递系统启动参数;命令行解析和输入 / 输出控制。
40、由于 Bootloader 的实现依赖于 CPU的体系结构,因此大多数 Bootloader 都分为 stage1 和 stage2 两大部分。依赖于 CPU体系结构的代码, 比如设备初始化代码等,通常都放在 stage1 中,且使用 _汇编_语言来实现,以达到短小精悍的目的。而 stage2 则通常用 C 语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和 _可移植_性。墨白制作U-Boot 是一种通用的引导加载程序, 对_PowerPC 系列处理器支持最为丰富,对_Linux_操作系统的支持最为完善。引导加载程序在引导加载操作系统时, 设置相关的寄存器和资源, 跳转到_操作
41、系统_所在的空间, 执行其引导,这个过程中可以给_内核_传递参数,可以控制系统启动的模式。BSP实际上一些汇编程序和C语言代码相结合的操作系统底层软件。包括初始化程序、设备驱动程序、配置文件和引导加载程序等。系统设计也成为概要设计或总体设计, 这个阶段要根据规格说明书中所描述的系统需要实现的功能, 确定如何实现这些功能的硬件和软件结构, 即哪些功能由硬件完成,哪些功能由软件完成,还必须同时描述非功能上的需求如何实现,即不仅需要描述系统所需求如何实现,且必须要符合系统需求中关于处理速度、功耗、成本和其他性能的约束;在构件设计阶段,设计者需要设计或选择符合系统结构和规格说明中所需要的具体构件,既包
42、括硬件也包括软件模块;在系统集成时, 应该分步的、 按阶段的构建系统, 并且每次只对一部分构建或模块所集成的系统进行测试,各部测试完成后,再整体测试。墨白制作著名的摩尔定律表示单块集成电路的集成度平均每1824个月翻一番;当前,世界上集成电路批量生产的主流技术已经达到1214英寸晶圆、45nm或32nm的工艺水平,并还在进一步提高。芯片的集成度越高 , 同时电路的工作频率也越来越高,因此功耗将越来越高,而不是低,这也是集成电路的瓶颈问题。最小系统包括 微处理器、 _ 电源_电路、时钟电路、复位电路、存储器、JTAG接口电路-开发工具-利用 ADS1.2工具来进行地址映射,即在编译连接其工程项目
43、时,有两种方式,即 Simple 连接类型和 Scattered 连接类型;在采用 Scattered 连接类型时,需要提供一个 scatter 格式的配置文件,该配置文件是一个文本文件,描述 ARM 连接器在完成连接操作时所需要的分组及定位信息等。 一个 scatter 文件中通常要描述一个下载时域的首地址、 域的大小、 域的属性,以及若干个运行时域的首地址、域的大小、域的属性、包含的输入段等信息。GNU开发工具套件中的 C语言编译器,其英文简称是 gcc 。它所能编译的目标机处理器包括 X86、ARM、PowerPC 等体系结构的处理器。针对于 ARM体系结构的目标机而言, 该 C 语言编译器的命令书写格式中, 其带前缀的命令是 ARM_Linux_GCC。墨白制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料员考试试题及答案
- 常德市石门县县直单位选调工作人员考试真题2024
- 阿勒泰地区法院招聘聘用制书记员考试真题2024
- 2025个体租赁商业店铺合同范本
- 逻辑思维与批判性思维训练行业跨境出海战略研究报告
- 配饰与珠宝设计行业深度调研及发展战略咨询报告
- 河南开封昱华高级中学招聘教师笔试真题2024
- 广元市中心医院专业技术人员招聘笔试真题2024
- 福建泉州发展集团有限公司招聘笔试真题2024
- 艺术主题文具行业深度调研及发展战略咨询报告
- 2025年河南水利与环境职业学院单招职业技能测试题库审定版
- 教学课件:密织法律之网和强化法治之力
- 新疆润田科技发展有限公司选煤厂建设项目环境影响报告表
- 【人教】七下英语不规则动词表(背诵+默写)
- 文化娱乐行业2023年度艺人经纪工作总结
- GB/T 45155-2024质量管理理解、评价和改进组织的质量文化指南
- Unit 3 Faster,highter,stronger Understanding Ideas The road to success群文阅读说课稿 2024-2025学年高中英语人教版选择性必修第一册
- 沈阳市地图课件
- 医院医疗废弃物管理制度
- 上海大学通信学院复试专业课英语
- 企业管理基础知到智慧树章节测试课后答案2024年秋山东经贸职业学院
评论
0/150
提交评论