1、打开CodeWarrior for ARM Developer Suite软件
2、新建工程,工程类型为ARM Executalbe Image,注意工程名称和路径一定不能用中文,否则无法打开
3、向工程中添加文件,[file]->new,选择File标签页,输入文件名,如main.c,选择Add to Project复选框,在Targets中只选择DebugRel(生成的镜像里只包含基本的信息)
4,添加已有的系统文件,将系统文件复制到工程目录下,在工程页面中选择【Project】菜单下的Add files,加入相应的文件,在Targets中选择DebugRel。
5、在工程页面中选择【Project】菜单下的Create Group,对文件进行分类
6、配置工程选项,点击工具栏上的【DebugRel Setting…】工具按钮,在DebugRel Setting对话框中进行配置:
[Target Settings]项将Post-Linker选择为ARM fromELF,则编译生成可执行文件
[Language Settings]项,将每种语言的Architecture or Processor都选择为ARM920T
[Linker]项,将ARM Linker下,Output标签页中的Simple image的RO Base(内存起始地址)改为0x30000000,将Options标签页下的Image entry point也改为0x30000000,将Layout标签页下的Object/Symbol填上2440init.o(初始化代码的目标文件,如初始化代码为2440init.s,编译后生成2440init.o),在Section中填写Init(在2440init.s中主函数的入口处,用AREA定义了一个名为Init的只读代码段),ARM Linker设置完成,在Equivalent Command Line中列出设置的参数;将ARM fromELF下,可执行文件的输出格式output format中选择Plain binary。
7、 系统代码分析
2440init.s:系统初始化代码,设置系统的工作方式,初始化堆栈和中断向量表,配置存储控制器,指定函数的入口地址等等
2440slib.s:主要是初始化MMU
2440lib.c:是一些系统函数,Delay函数为毫秒级延时函数,一些系统时钟函数
2440lib.h
2440addr.h:定义了所有的寄存器,中断请求标志位
def.h:定义了数据类型,和常用的Size的值
Uart.c:和串口相关的函数定义
uart.h
设计资源 培训 开发板 精华推荐
- 用作温度-频率转换器的传感器输出的直接数字化
- 用于 16 位 ADC AD7701 的 ADR421 超精密、低噪声、2.048 Vout XFET 电压基准的典型应用
- 使用 Diodes Incorporated 的 PT8A 3516C 的参考设计
- LTC1522 的典型应用 - 微功率、稳压 5V 电荷泵 DC/DC 转换器
- AL8805EV1,基于 AL8805 LED 驱动器的评估板
- LTM4637 的典型应用 - 20A DC/DC 模块降压稳压器
- ADR433A 3 Vout 超低噪声 XFET 电压基准的典型应用,具有灌电流和拉电流能力
- REF193 精密微功耗、低压差电压基准的典型应用
- tuya多模网关(已验证)
- 用于开/关控制应用的 AM2G-2403SZ 3.3V 2 瓦 DC-DC 转换器的典型应用
- 有奖直播:Keysight World Tech Day 2024 汽车分论坛|汽车自动驾驶与新能源
- 预约有礼:预约理想配电网络的电源完整性设计等直播,涨知识赢好礼
- 有奖直播|是德科技感恩月—遇见KeysightCare - 贵重仪器安全避坑指南
- 直播已结束【ST 宽禁带高性能碳化硅(SiC)与氮化镓(GaN)产品技术及不同应用案例分享】(9:30入场)
- 了解数字功能的模拟控制器,千元好礼等你来拿!
- 有奖直播 | 英飞凌新型固态隔离器的创新技术与应用设计
- 您的电源符合能耗标准吗?关注PI InnoSwitch3系列,答题赢好礼!
- 【答题有奖】赛灵思工业与医疗专题有奖问答
- 与英飞凌一起,探索Matter奥义!
- 看视频,读资料,参与PI答题有惊喜!