周立功LPC2200开发板ARM引导代码分析
需积分: 33 194 浏览量
更新于2024-09-14
收藏 634KB PDF 举报
“ARM实验指导书,适用于学习ARM嵌入式系统,主要介绍周立功LPC2200开发板的引导代码分析。”
在ARM架构的嵌入式系统开发中,LPC2200系列微控制器是常用的一款芯片,尤其在教育和实验环境中。本实验指导书聚焦于如何使用周立功公司的LPC2200开发板进行开发工作。该开发板配备的工具包括ADS1.2编译器和AXD+EASYJTAG调试仿真器,提供了6种不同的工程模板,分别针对ARM指令集和Thumb指令集,以及是否使用UCOSII操作系统进行了区分。
在分析LPC2200开发板的引导代码时,我们可以看到文件功能模块的清晰划分:
1. `Config.h`:配置文件,定义了基本数据类型和系统时钟设置,这对于微控制器的运行速度和时序控制至关重要。
2. `Target.h`:包含软复位函数和目标板初始化函数,这些函数在系统启动时执行,用于设置硬件环境。
3. `Lpc2294.h`:此文件定义了LPC2294芯片的内部寄存器地址映射,并提供了一些固件函数。这些函数可能是在芯片出厂时已经预置的,开发者可以通过声明的函数调用来使用它们。
4. `Target.c`:包含了异常处理程序和目标板初始化程序,开发者可以根据项目需求对这部分代码进行修改。
5. `Heap.s`:负责堆空间的初始化,堆是动态内存分配的主要区域。
6. `IRQ.s`:中断处理代码,处理来自外部设备的中断请求。
7. `Stack.s`:栈空间初始化,最新的模板中可能已经将这部分整合到了其他文件中。
8. `Startup.s`:启动引导代码,这是系统上电后执行的第一段代码,通常包括设置堆栈指针、初始化全局变量等工作。
9. `Mem_a.scf, Mem_b.scf, Mem_c.scf`:可能与存储器配置相关,用于设定内存布局和分区。
10. `Main.c`:主程序入口,通常是应用程序的起点。
在LPC2294.h中,固件函数如`rm_init_entry()`、`rm_undef_handler()`和`rm_prefetchabort_handler()`等被定义,它们是指向预设在芯片内部地址的函数指针,这些函数可能在处理器启动或遇到特定错误时被调用。
通过这个实验指导书,读者可以深入了解ARM体系结构,学习如何使用ADS1.2进行编译,以及如何编写和调试针对LPC2200的嵌入式程序。对于希望掌握ARM微控制器开发的人来说,这是一个宝贵的资源。
2010-06-27 上传
2009-03-23 上传
2013-07-06 上传
2023-07-09 上传
2024-01-19 上传
2024-10-30 上传
2024-10-28 上传
2023-07-13 上传
2023-06-23 上传
fedala
- 粉丝: 0
- 资源: 3
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析