您现在的位置:网站首页答辩论文计算机毕业设计其他计算机专业毕业资源

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

  • 简介:如果ROM定位于0地址,向量表包含一系列指令跳转到中断服务程序,否则向量必须被动态初始化。可以在启动程序中添加一段代码,使其在运行时将向量表拷贝到0地址开始的存储器空间。 对于各未用中断,使其指向一个只含返回指令的哑函数,以防止错误中断引...
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载
目录 1. 启动程序流程
2.详细步骤
3.技术难点分析
4.结束语:
参考资料 参考资料:
《嵌入式微处理器及其应用开发》 计算机世界第四十三期 姜桥 罗蕾
《面向二十一世纪的嵌入式系统综述》 北京诺浩数字基因研究所
中国单片机公共实验(BOL)吕京建 肖海桥
《EP7211数据手册》
《ARM7TDMI数据手册》
如果ROM定位于0地址,向量表包含一系列指令跳转到中断服务程序,否则向量必须被动态初始化。可以在启动程序中添加一段代码,使其在运行时将向量表拷贝到0地址开始的存储器空间。

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

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

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

初始化存储器系统

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

⑸ 如有必要改变处理器模式、状态

如果系统应用程序是运行在用户模式下,可在此处将系统改为用户模式并初始化用户堆栈指针。

初始化C语言所需的存储器空间。
为正确运行应用程序,在初始化期间应将系统需要读写的数据和变量从ROM拷贝到RAM里;一些要求快速响应的程序,如中断处理程序,也需要在RAM中运行;如果使用FLASH,对FLASH的擦除和写入操作也一定要在RAM里运行。ARM公司软件开发工具包中的链接器提供了分布装载功能,可以实现这一目的。

呼叫C程序。
查看评论 已有0位网友发表了看法
  • 验证码: