有
我刚刚学习了如何使用buildroot,并按照其中的教程之一将linux内核,U-Boot等构建的映像刷新到了beagle骨骼。一切都很好。因此,我在stm32f429-disc1上应用了buildroot并将映像刷新到板上。 busybox上有一个错误,我想对其进行调试。问题是如何修改下面的openocd脚本,以便调试引导过程,大概是在另一个终端中打开gdb(服务器)?
flash:
cd $(dir_buildroot)/output/build/host-openocd-0.10.0/tcl && ../../../host/usr/bin/openocd \
-f board/stm32f429discovery.cfg \
-c "init" \
-c "reset init" \
-c "flash probe 0" \
-c "flash info 0" \
-c "flash write_image erase ../../../images/stm32f429i-disco.bin 0x08000000" \
-c "flash write_image erase ../../../images/stm32f429-disco.dtb 0x08004000" \
-c "flash write_image erase ../../../images/xipImage 0x08008000" \
-c "reset run" -c shutdown
我一直在Windows下使用Atollic Truestudio调试stm32板,并且Atollic使得调试引导加载程序等非常容易。我在Google上搜索了很多教程,但是在我看来,大多数教程都需要安装用于调试用户空间中的应用程序。我使用Linux作为主机,我相信我需要的只是st-link / v2-1,openocd和gdb吗?
任何评论表示赞赏。
关于, 埃里克
答案 0 :(得分:1)
要调试用户空间应用程序,将不使用OpenOCD,而是使用gdb和gdbserver进行纯软件调试。您可以从幻灯片275开始阅读https://bootlin.com/doc/training/buildroot/buildroot-slides.pdf,了解更多详细信息。