Browsing All posts tagged under »gnu«

A nasty string initialization bug in C

May 31, 2011

5

Today I encountered a bug that was quite difficult to find regarding strings. In order for strings to work they must be null-terminated, and this implies that an array of characters can contain a string with a length equal to the array size minus one, because there must be space for the null character. I […]

Inline assembly instructions in GCC

May 17, 2011

1

In embedded software programming there’s often the need to use assembly-level instructions to reach all the functionalities of the processing core. But when the developing is done almost exclusively in C, it is sometimes a burden, often an added complexity and possibly a nuisance to code separate assembly files containing the needed functions. Other than […]

Coding styles comparison in the Open Source Software world

December 28, 2010

22

While looking for existing C coding standards I discovered that the GNU and Linux projects officially suggest very different styles. Inside the Linux kernel documentation, Linus Torvalds goes so far as to mock GNU coding standards: First off, I’d suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, […]

Using Ubuntu ARM cross-compiler for bare metal programming

December 5, 2010

25

Ubuntu 10.10 Maverick Meerkat includes an ARM cross-compiler to compile programs for Linux. The compiler can also be used for bare-metal programming with a few arrangements.

QEMU ARM semihosting

November 4, 2010

9

QEMU is able to emulate ARM architectures with many details. One thing that the qemu-system-arm program implements is the Angel interface, that enables semihosting. Semihosting involves two machines: a target (the embedded device), and a host (such as a PC) that is connected to the target through a debug interface. An embedded program running in […]

Trace and profile function calls with GCC

October 6, 2010

45

Software debugging is a complex task. There is always the need to collect all available information, in order to detect and understand the problem fast and to think of a proper solution. Sometimes it’s more convenient to debug step-by-step, sometimes it’s better to make the program run completely, and then trace the execution flow “offline”. […]

Debugging ARM programs inside QEMU

August 17, 2010

50

A tutorial that shows how to debug an ARM Linux program inside a platform emulated with QEMU. The tutorial uses gdbserver to connect the program executing in the guest system to the debugger running on the host system.

Follow

Get every new post delivered to your Inbox.

Join 453 other followers