好久没有更新blog了。今天有空就上来更新吧。
最近又拿起u-boot来调,虽然说之前移植、调试成功,但是那个苦啊,GDB的光标跳来跳去,而且变量根本无法跟踪,只能靠猜,或者用串口output出来。考虑了一下,应该是编译的时候使用了优化选项,所以只要把GCC的优化选项去掉,或者选择不优化,就可以顺利进行调试了。不讲太多,动手吧!
在uboot根目录打开config.mk文件,找到下面这行
- OPTFLAGS= -Os #-fomit-frame-pointer
这行就是优化选项,把-Os改成-O0
- OPTFLAGS= -O0 #-fomit-frame-pointer
接着重新编译,生成u-boot文件,使用arm-linux-gdb进行调试,
- arm-linux-gdb u-boot
或者
- arm-linux-gdbtui u-boot
即可进入调试模式,现在光标不再跳来跳去,而且观察变量也方便了。哈哈~~~~
PS:下一步,如果使用Eclipse对项目进行管理。包括编辑、生成、调试一条龙,真正集成开发。