The desktop where I do most of my stuff is a Debian testing 32bit. Recently Google Chrome team declared the end of support of 32bit Linux distributions, and I decided to take the occasion to migrate towards a 64bit Debian. I read some guides around, some old, some with big warnings and disclaimers, some interesting. Ultimately I […]
The news site lwn just posted a guide on GCC inline assembly. The guide is written in plain colloquial language and is a great complement to GCC documentation on the matter, which is more of a reference of the various functionalities. I found that the extended form of inline assembly is a powerful way to use the machine special […]
I was thinking of starting a new open source project that should run on STM32 boards, and I realized that it would need a lot of low level code that accesses many different peripherals. One of the first libraries that comes to mind, and I bet it’s the same for many Cortex-M developers, is ARM CMSIS. ARM […]
esr (of The Cathedral & the Bazaar fame) has just written a comprehensive guide on the many functions, structures and styles for dealing with time in C, mostly for UNIX, Linux and POSIX operating systems. It’s especially direct in marking obsolete functionalities, stuff that shouldn’t be used, pitfalls and recommendations. I’m sure he struggled with these APIs […]
This new blog called Ångstroms And Algorithms has a complete tutorial on developing and debugging for ARM microcontrollers on Windows. In particular he’s using a STM32-E407 board, an ARM-USB-TINY-H JTAG adapter, ARM GCC toolchain and Eclipse. The tutorial is divided in 4 parts: Free Eclipse ARM GCC OpenOCD Toolchain for Windows Introduction ARM GCC Eclipse IDE GDB / OpenOCD Debugger Personally I am not […]
This post shows an approach to draw graphs representing the dependency of C source files and modules throughout a complete program. The implementation of this method uses the functionalities of GNU ld to create a cross reference table, then NetworkX to create a graph and Graphviz to visualize it. The approach is applied to a simple example and a real embedded application (U-Boot).
This is a tutorial to:
1. Get Linux kernel 3.2 source code
3. Configure and compile for Versatile Express ARM Cortex-A9 platform
4. Prepare and create a ramdisk using initramfs schema
5. Emulate kernel boot and ramdisk execution using QEMU
There’s a simple way to include binary data inside an executable, when using a GCC toolchain. The trick relies on using objcopy to transform the binary blob of data into an object file that can be linked. In this example I am creating a binary blob of 16 bytes of random data in file “blob.bin“: […]
Linux Conference Australia, Ballarat 2012. The creator of Busybox and co-founder of Debian makes a compelling and rational argument about who should speak for Open Source, and then offers a hopeful perspective on the new frontiers of Open Source Hardware. He is convinced that today there’s plenty of enabling factors to make Open Source Hardware […]
This completely slipped under my radar: Mentor Graphics acquired CodeSourcery’s toolchain products some time ago. I found out when I got to their site and it redirected me to Mentor. In my tutorials I often make use of the Lite editions of the Codesourcery toolchains, so this is the new site for reference: Sourcery CodeBench […]
May 16, 2016
1