当前位置: 技术问答>linux和unix
问大家一个基础问题,嵌入式arm的linux开发的调试一般怎么调?
来源: 互联网 发布时间:2017-01-26
本文导语: 以前是在window下做开发的,基于vs或者vc 现在,转入嵌入式linux,不知道在嵌入式下面怎么调试,只能是把程序写好了以后在arm板子上面测试功能吗? 在上位机有什么好的调试方法,希望大家能介绍几种硬件仿真方式的调试...
以前是在window下做开发的,基于vs或者vc
现在,转入嵌入式linux,不知道在嵌入式下面怎么调试,只能是把程序写好了以后在arm板子上面测试功能吗?
在上位机有什么好的调试方法,希望大家能介绍几种硬件仿真方式的调试和基于某种集成开发环境的调试方法!
现在,转入嵌入式linux,不知道在嵌入式下面怎么调试,只能是把程序写好了以后在arm板子上面测试功能吗?
在上位机有什么好的调试方法,希望大家能介绍几种硬件仿真方式的调试和基于某种集成开发环境的调试方法!
|
1. 非嵌入式应用程序开发:
编译时加上调试信息, 在Makefile里加上 CFLAGS += -g, 使用gdb(文本界面)调试, 或者境加型cgdb, 图形界面有DDD等等。
2. 嵌入式应用程序开发:
编译时加上调试信息, 在Makefile里加上 CFLAGS += -g, 在开发机上运行gdb通过网络连接到目标机,目标机运行gdbserver.
3. Linux内核调试方法:
源代码级调试:kgdb,kgdb调试需要在make menuconfig内核选项中选上gdboc(串口),或者gdboe(以太网)和相应在的选项。kgdboc需要特别的串口驱动程序,例如8250。
源代码级调试:JTAG调试,需要硬件“仿真器”,例如Jlink, BDI3000等。
我的经验:gdb, gdbserver, Jlink都使用过。Jlink调试时,在开发机windows平台上运行“Jlink自带的gdb服务器”,通过Linux的gdb网络连接到“Jlink自带的gdb服务器”。kgdbc在Mini2440上不成功, 因为需要特别的串口驱动。
编译时加上调试信息, 在Makefile里加上 CFLAGS += -g, 使用gdb(文本界面)调试, 或者境加型cgdb, 图形界面有DDD等等。
2. 嵌入式应用程序开发:
编译时加上调试信息, 在Makefile里加上 CFLAGS += -g, 在开发机上运行gdb通过网络连接到目标机,目标机运行gdbserver.
3. Linux内核调试方法:
源代码级调试:kgdb,kgdb调试需要在make menuconfig内核选项中选上gdboc(串口),或者gdboe(以太网)和相应在的选项。kgdboc需要特别的串口驱动程序,例如8250。
源代码级调试:JTAG调试,需要硬件“仿真器”,例如Jlink, BDI3000等。
我的经验:gdb, gdbserver, Jlink都使用过。Jlink调试时,在开发机windows平台上运行“Jlink自带的gdb服务器”,通过Linux的gdb网络连接到“Jlink自带的gdb服务器”。kgdbc在Mini2440上不成功, 因为需要特别的串口驱动。
|
nfs文件系统+gdb调试,在服务器上编好程序,arm板子通过nfs方式mount到板子上运行,gdb调试
|
给你个网址http://blog.21ic.com/user1/4187/archives/2007/40624.html