算算接触ARM已经很长时间了,但是一直都没法入门,网上的教材也很多,但都面向不同的芯片、不同的开发板,各式各样的,要么跟我手上的开发板有差别,要么是开发环境不一致。总是没有办法下决心好好的熟悉下ARM,熟悉下手头上的2410.
唠叨的太多了,直接入主题吧!
最近使用IAR+JLINK 开始学习手头上的2410开发板。
一开始开始按照网上http://hi.baidu.com/mystreetzone 这位仁兄交的博客进行,写了一个最简单的LED测试程序,用JFLASH烧录到NORFLASH中去运行,发现只能点亮1个灯(程序设计是2个led等循环闪烁),于是认为是自己的程序有问题,就花费了好几天的时间去检查程序。认为除了ICF文件有问题以外,其他应该没有问题,因为网上的是定义的2410内部的4k ram,我用的是外部的2M norflash。但是这并不会影响程序的执行,因为2个的起始地址都是0x0,我编写的那个程序也就1k大小。因此排除了icf文件的问题。
后来想着为什么不去直接调试程序呢,反复的下载程序到NORFLASH也很麻烦的。于是还是在网上搜索了一下,发下有人用MINI2440+JLINK实现了调试功能,参考后发现与我的工程文件有不同:
1.网上的直接使用了系统的启动文件,使用的也是可以进行图形化配置的icf文件
2.最重要的是它使用了内部的sdram地址,来对程序进行了链接。
于是从新修改了自己的工程文件,使用系统默认的启动文件+SDRAM的icf设置。重新make-rebuild all 然后发现程序竟然可以调试了,那个爽啊,哈哈!
之后思考了一下,发现其实可以