codelite + arm gcc toolchain + jlink

        以前介绍了使用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方案来调试。这样一整套的开发环境就算完成了,也不用担心版权问题了。

你可能感兴趣的:(eclipse,测试,gcc,工具,平台,makefile)