采用AXD1.2开发平台(基于虚拟机的XP系统)和Jlink下载啊调试工具,开发2440裸机程序点亮LED灯,看似简单但是碰到了许多小问题。需要AXD1.2的安装包,以及后续所需文件的同学,自行提取。 百度云盘链接:https://pan.baidu.com/s/1xAnhFSH-NwQN-2vExsXIOQ 提取码:kznk
利用已分享的LED例程,和参考文件《实验手册_2440》的3.2.1和3.2.3两章节,即可大致开发完成。
1.在make后,出现error:Cannot call ARM symbol ‘Main’ in non-interworking object Main.o from THUMB code in 2440init.o(Init) 原因: 没有开启交叉编译,导致ARM与Thumb指令无法同时编译 解决方法 :将ARM C Ccompiler -> ATPCS 中 ARM/Thumb interworki 前面√打上。对于ARM Assembler也是同样处理。
2.AXD调试无法正常运行 原因:Jlink配置没设置好 解决方法: a.将Jlink的Configuration 打开,CPU选项的配置如下图所示。 b.最重要的是,新建一``个文本2440init.txt,粘贴一下内容
Setmem 0x53000000 0x00000000 32 Setmem 0x4A000008 0xFFFFFFFF 32 Setmem 0x4A00001C 0x000007FF 32 Setmem 0x53000000 0x00000000 32 Setmem 0x56000050 0x000055AA 32 Setmem 0x4C000014 0x00000007 32 Setmem 0x4C000000 0x00FFFFFF 32 Setmem 0x4C000004 0x00061012 32 Setmem 0x4C000008 0x00040042 32 Setmem 0x48000000 0x22111120 32 Setmem 0x48000004 0x00002F50 32 Setmem 0x48000008 0x00000700 32 Setmem 0x4800000C 0x00000700 32 Setmem 0x48000010 0x00000700 32 Setmem 0x48000014 0x00000700 32 Setmem 0x48000018 0x0007FFFC 32 Setmem 0x4800001C 0x00018005 32 Setmem 0x48000020 0x00018005 32 Setmem 0x48000024 0x008E0459 32 Setmem 0x48000028 0x00000032 32 Setmem 0x4800002C 0x00000030 32 Setmem 0x48000030 0x00000030 32c.打开AXD的option->Configure InterFace…,如下图配置
