ARM9(裸机版)程序结构.doc

ARM9(裸机版)程序结构.doc

ID:59256900

大小:12.00 KB

页数:2页

时间:2020-09-08

ARM9(裸机版)程序结构.doc_第1页
ARM9(裸机版)程序结构.doc_第2页
资源描述:

《ARM9(裸机版)程序结构.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ARM9(裸机版)程序结构32位机的资料很多,但不系统,学习起来不仅不方便,而且云山雾海,难以理解。谈到系统的移植,就更多的不理解了。如何在短时间有效的学好32位机,一定要和8位机工作过程做比较。32位也是一个单片机,其程序结构和单片机是一样的。写程序时要掌握以下几点:一初始化处理器。和8位的单片机一样的要初始化。换句话说就是设置堆栈,初始化变量等等。由于以上的操作均与处理器体系结构和系统配置密切相关,所以一般由汇编来编写,但在你熟练掌握32位机后,完全可以用C来写的。为了能够进行系统初始化,通常

2、采用一个汇编或C文件作启动代码。它可以实现向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、地址重映射等操作。是芯片复位后进入c语言的main函数前执行的一段代码,主要是为运行c语言程序提供基本运行环境。(与单片机8位的一样,把堆栈、PC指针复位。)启动程序要完成的任务包括:硬件初始化,系统存储系统的配置,复制二级中断向量表。(1)系统硬件初始化系统上电或复位后,程序从位于地址0x0的ResetExceptionVector处开始执行,因此需要在这里放置bootloader的第

3、一条指令:bReset,跳转到标号为Reset处进行第一阶段的硬件初始化,主要内容为:关看门狗定时器,关中断,初始化PLL和时钟,初始化存储器系统。执行完以上程序后,系统进行堆栈和存储器的初始化。系统堆栈初始化取决于用户使用了哪些中断,以及系统需要处理哪些错误类型。一般情况下,管理者堆栈必须设置,如果使用了IRQ中断,则IRQ堆栈也必须设置。如果系统使用了外设,则需要设置相关的寄存器,以确定其刷新频率、总线宽度等信息。(2)代码复制到RAM中运行因为嵌入式系统的代码通常都是固化在ROM或Flash

4、中,上电后开始运行。由于ROM和Flash的读取速度相对较慢,这样无疑会降低代码的执行速度和系统的运行效率。因此,需要把系统的代码复制到RAM中运行。这点和8086是一样的。(3)建立二级中断向量表在ARM系统中,中断向量表位于0x0开始的地址处,意味着无论运行什么样的上层软件,一旦发生中断,程序就得到Flash存储器的中断向量表里去,降低系统的运行效率。因此在RAM中建立自己的二级中断向量表,当中断发生后,程序直接从RAM中取中断向量进入中断子程序。二呼叫主程序。在初始化完成后立即进入主程序即可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。