2022年ARM在嵌入式应用中启动程序的实现与 .pdf
《2022年ARM在嵌入式应用中启动程序的实现与 .pdf》由会员分享,可在线阅读,更多相关《2022年ARM在嵌入式应用中启动程序的实现与 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ARM7 在嵌入式应用中启动程序的实现与设计王京林岳春生张海英 (解放军信息工程大学) 【摘要】本文给出了基于ARM7 嵌入式系统的启动程序的实现流程,并针对存储器控制单元的使用以及目标文件的分布装载等技术难点进行详细分析。【关键词】嵌入式系统、启动程序、ARM7 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统的核心部件是各种类型的嵌入式处理器,随着嵌入式系统不断深入到人们生活中的各个领域,嵌入式处理器得到前所未有的飞速发展。典型的 32 位 RISC 芯片 ARM 处理器 ,不论是在 PD
2、A,STB,DVD等消费类电子产品中,还是在 GPS,航空 ,勘探 ,测量等军方产品中都得到了广泛的应用。越来越多的芯片厂商早已看好ARM 的前景,如Intel,NS,Ateml ,Philips,NEC,CirrusLogic 等公司都有相应的产品。在1999 年, ARM 突破 1.5 亿个,市场份额超过了 50%,已经成为业界的龙头。在我们研制开发基于ARM7 的嵌入式系统过程中,发现技术难点主要在于系统启动程序的编写,为此本文详细论述了在ARM7 基础上开发嵌入式系统时启动程序的实现。1.启动程序流程嵌入式系统的资源有限,程序通常都是固化在ROM 中运行。 ROM 中程序执行前, 需要
3、对系统硬件和软件运行环境进行初始化,这些工作由用汇编语言编写的启动程序完成。启动程序是嵌入式程序的开头部分,应与应用程序一起固化在ROM 中,并首先在系统上运行。它应包含进各模块中可能出现的所有段类,并合理安排它们的次序。写好启动程序是设计好嵌入式程序的关键,系统启动程序所执行的操作依赖于正在开发其软件的系统,一般流程如下 : 2详细步骤设置入口指针启动程序首先必须定义入口指针,而且整个应用程序只有一个入口指针。设置中断向量ARM7 要求中断向量表必须设置在从0 地址开始,连续84 字节的空间,分别是复位、未定义指令错误、软件中断、预取指令错误、数据存取错误、IRQ、FIQ 和一个保留的中断向
4、量。如果 ROM 定位于 0 地址,向量表包含一系列指令跳转到中断服务程序,否则向量必须被动态初始化。可名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 以在启动程序中添加一段代码,使其在运行时将向量表拷贝到0 地址开始的存储器空间。对于各未用中断,使其指向一个只含返回指令的哑函数,以防止错误中断引起系统的混乱。初始化堆栈和寄存器系统堆栈初始化取决于用户使用了哪些中断,以及系统需要处理哪些错误类型。一般来说管理者堆栈必须设置,如果
5、使用了IRQ 中断,则 IRQ 堆栈也必须设置。如果系统使用了DRAM 或其它外设,需要设置相关的寄存器,以确定其刷新频率,数据总线宽度等信息。初始化存储器系统有些芯片可通过寄存器编程初始化存储器系统,而对于较复杂系统通常集成有MMU 来管理内存空间。 如有必要改变处理器模式、状态如果系统应用程序是运行在用户模式下,可在此处将系统改为用户模式并初始化用户堆栈指针。初始化 C 语言所需的存储器空间。为正确运行应用程序,在初始化期间应将系统需要读写的数据和变量从ROM 拷贝到 RAM 里;一些要求快速响应的程序,如中断处理程序,也需要在RAM 中运行;如果使用FLASH ,对 FLASH 的擦除和
6、写入操作也一定要在RAM 里运行。 ARM 公司软件开发工具包中的链接器提供了分布装载功能,可以实现这一目的。呼叫 C 程序。ARM 有两种指令集 :16 位 THUMB 指令集和 32 位 ARM 指令集。 使用 16 位的存储器可以降低成本,在这种情况下,Thumb 指令集的整体执行速度比ARM 32 位指令集快, 而且提高了代码密度, 所以一般用Thumb编译器将 C 语言程序编译成16 位的代码。处理器一开始总在arm 状态,可使用BX 指令转换到thumb 状态呼叫 C 程序。要注意的是用语言编写嵌入式程序时,要避免使用不能被固化到中的库函数。3技术难点分析.MMU 的使用MMU 是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年ARM在嵌入式应用中启动程序的实现与 2022 ARM 嵌入式 应用 启动 程序 实现
限制150内