When working with a big project on a resource constrained embedded hardware, it might be difficult to debug it properly on the target board. In this article I'll show a technique to load the symbol tables on the board when needed, and how to instruct gdb to correctly translate addresses into source code lines.
Abstract We have a board on which an AllWinner ARM processor is running Linux. The bootloader is U-boot and we have to use the USB port to flash it. When flashing the device for the first time, after loading the bootloader via FEL protocol, we need to use tftp to load the SPL (Secondary program Loader) image and the uboot version for use with the spl. Unfortunately, a couple of issues in the default Ubuntu configuration prevent us from doing this apparently simple operation in a straight way, and we need to tweak some system configuration file. The issue After using the sunxi-fel tool to run the bootloader in memory,…