保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 计算机信息技术 >> 正文

ARM7在嵌入式应用中启动程序的实现


嵌入式系统的资源有限,程序通常都是固化在ROM中运行。ROM中程序执行前,需要对系统硬件和软件运行环境进行初始化,这些工作由用汇编语言编写的启动程序完成。

启动程序是嵌入式程序的开头部分,应与应用程序一起固化在ROM中,并首先在系统上运行。它应包含进各模块中可能出现的所有段类,并合理安排它们的次序。

写好启动程序是设计好嵌入式程序的关键,系统启动程序所执行的操作依赖于正在开发其软件的系统,一般流程如下:

 

2.详细步骤

⑴设置入口指针

启动程序首先必须定义入口指针,而且整个应用程序只有一个入口指针。

  1. 设置中断向量

    ARM7要求中断向量表必须设置在从0地址开始,连续8×4字节的空间,分别是复位、未定义指令错误、软件中断、预取指令错误、数据存取错误、IRQFIQ和一个保留的中断向量。

    如果ROM定位于0地址,向量表包含一系列指令跳转到中断服务程序,否则向量必须被动态初始化。可以在启动程序中添加一段代码,使其在运行时将向量表拷贝到0地址开始的存储器空间。

    对于各未用中断,使其指向一个只含返回指令的哑函数,以防止错误中断引起系统的混乱。

  2. 初始化堆栈和寄存器

    系统堆栈初始化取决于用户使用了哪些中断,以及系统需要处理哪些错误类型。一般来说管理者堆栈必须设置,如果使用了IRQ中断,则IRQ堆栈也必须设置。

    如果系统使用了DRAM或其它外设,需要设置相关的寄存器,以确定其刷新频率,数据总线宽度等信息。

  3. 初始化存储器系统

 

有些芯片可通过寄存器编程初始化存储器系统,而对于较复杂系统通常集成有MMU来管理内存空间。

《ARM7在嵌入式应用中启动程序的实现(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/141324.html

★温馨提示:你可以返回到 计算机信息技术 也可以利用本站页顶的站内搜索功能查找你想要的文章。