以前介绍了使用eclipse+winarm来搭建ARM开发平台。不过整体体验不是太好,特别是调试那一部分。而且eclipse对机器的性能要求比较
高,配置起来不太方面。后来一直就用VIM+GDB方式来做开发,使用Makefile来管理工程。但是这个开发环境入手时间比较长,所以一直都在寻找可
以用的方案。
KEIL MDK也支持arm
gcc工具链,但是编辑环境和使用起来总是不够顺手,加上版权问题,所以也放弃了。也使用了一段国产的TKStudio开发环境,感觉还不错,但是稳定性
欠佳。其他开发环境也有关注,大家比较用的多,开源开发环境codeblocks,codelite。两个都基于夸平台的wxWidgets。可以说两者
各有千秋。codeblocks支持的工具链比较多一些,而且相当来说稳定一点,其支持ARM GCC工具链,我们只需要根据自身使用的ARM
GCC工具链进行配置就可以了,不过缺点就是其调试器做得太差,根本不能用,所以最后放弃了。转而使用codelite。
codelite既然它支持GCC工具链,那么支持ARM
GCC工具链也应该不在话下,果然不错我所料,不费太大的力气,就完成了一个可以使用ARM
GCC工具链的codelite,不过我下的最新版本有个崩溃,再次打开就崩溃了,正郁闷了,发现就有新的更新版本了(比我使用的版本晚1-2天就发布
了),估计问题修正了,更新使用最新版本,崩溃消失了,恩,看来他们修正问题还是挺快的。相比codeblocks,codelite发布的版本更频繁一
些,codeblocks有很长一段时间没有更新,不过codeblocks有点好处就是默认配置挺好的,一般用起来比较爽,codelite就不那么好
了,花了半天的时间才把codelite各项配置使其编辑和代码阅读环境达到了自己可以接受的程度。
感觉还是不错。现在就剩下调试了。所以为了避免做无用的工作,开发先写一个简单的PC机GCC工程,因为调试器最后都是使用GDB,看看其支持得怎样就可
以大致评估其对调试的支持了。测试单步,全速,断点功能,变量观察。结果不错。哈哈,比起codeblocks要好很多。
新建了一个ARM GCC工程,而且编译连接完成。接下来就是调试了。手头有jlink
v8仿真器,并且其支持GDB.原理比较简单,在GDB这一端,jlink类似gdbserver,GDB直接将调试操作发给jlink的
GDBServer,然后jlink将调试操作转换为其对JTAG操作的时序。基本原理就是这样,仔细看了一下jlink里面有关GDB调试帮助文档,并
看了一下其给的LPC2106的例子。刚好自己有一块LPC2220的板子,将例子里面的.gdb初始化文件改成LPC2220的初始化文件,先直接用
GDB驱动,测试通过。然后试着在codelite里面去用,琢磨了好久,发现里面根本没有给传.gdb机会。然后发现里面有传连接到gdbserver
后运行命令的窗口,哈哈,这不就是正要找的吗,直接将初始化文件拷贝到这里,连接仿真器和板子,下载成功,并且程序运行起来了。整体感觉不错。
测试完成以后,接一下来就是使用这个开发环境来做些工程了。不过后续可能要的事情是考虑使用FTDI + OpenOCD方案来调试。这样一整套的开发环境就算完成了,也不用担心版权问题了。
阅读(3191) | 评论(0) | 转发(0) |