• gcc does not generate correct code while building PIC

    Hey guys,

    I have been exploring building PIC using the gcc toolchain and I think there is a bug.

    I first build a shared library using 

    arm-none-eabi-gcc -shared -mcpu=cortex-m4 -mthumb -Wall -g -fPIC -fmessage-length=0 --specs=nosys.specs mylib.c -o libmylib…

  • Saving processor state for power-down and resume

    I'm working on a SoC that can power-off the ARM (Cortex-M4) while retaining the system RAM, and I'm interested in saving the processor state then restoring it when the ARM is restarted.  So prior to power-off the software would save all necessary…

  • Linker in gnu arm toolchain says "group ended without start" thought there is no such option in my build

    shyam@shyam:~/projects/zynq/microzed/linux_source/Test_Chips$ make
    make -C  /home/shyam/projects/zynq/microzed/linux_source/Test_Chips/../dev_tools/build
    make[1]: Entering directory `/home/shyam/projects/zynq/microzed/linux_source/dev_tools/build'
    Making…

  • Decoding the Startup file for Arm Cortex-M4

    Introduction

    This is my attempt to understand the startup file for an Arm Cortex M4 processor, specifically the STM32F4 (Cortex M4) processor. This document should help in giving a feel of assembly language for Arm and understanding how the Cortex M4…

  • Code Size – a comprehensive comparison of microMIPS32 and Thumb code size using many Megabytes of customer code

    In this blog I take a close look at the code size of ARM’s Thumb instruction set against the microMIPS32 instruction set, as used in the microAptiv processor family.  More specifically I look at recent claims that microMIPS32 has 17%-30% better code…