eCos是gnu的产物,无论采用eclipse开发环境或者其他商业的开发环境如果要单步调试eCos的代码,
都需要通过gdb,这些ide无非是把gdb做了一次包装或者是提供了图形化的gdb命令执行方式。
既然gdb盛行于linux,如果在Windows下想应用gdb必须有linux的仿真环境。或者是Cygwin或者是MingW。
(本文原创转载请注明出处http://blog.youkuaiyun.com/rickleaf)
另外一点就是运行gdb调试必须有gdb server和gdb client连接,在eCos中有可以通过redboot的eCos stub作为gdb server。
然后应用程序编译成ram方式,通过串口或者网口连接redboot的gdb server。
GNU的强大毋庸置疑,所以很多ARM硬件仿真器已经开始内置GDB server,这样调试ecos就可以直接利用仿真器了,
segger公司的JLink就是一个性价比比较高的仿真器。下面以stm32为例,分别介绍一下gdb连接redboot的调试方法。
选择eCos的STM3210e模板,指定为redboot类型

指定redboot的启动类型为ROM方式,这里会以stm32内部的flash作为启动资源

编译生成redboot.bin,烧入到芯片中,可以通过串口看到redboot的命令窗口

以ram的启动方式编译ecos的测试应用程序

设定ecos的启动方式为ram

然后参考本博客的其他帖子编译eCos的简单测试程序
关掉串口终端,打开Cygwin,按照图片上的命令连接redboot。

通过Jlink GDB server连接调是eCos 请参考另一篇文章
使用GDB调试eCos代码于Windows平台的详细指南
本文提供了一套详尽的方法,教你如何在Windows环境下使用GDB进行eCos代码的单步调试,包括设置环境、编译生成可调试文件以及与redboot的连接调试流程。
638

被折叠的 条评论
为什么被折叠?



