ARM microcontroller development

Some notes about developing software for ARM microcontrollers on
linux, more specifically:

     - Atmel AT91SAM7 (ARM7TDMI)
     - OpenOCD
     - Olimex ARM-USB-OCD

20200517 fractional multiplication in C
20190528 system level emulation
20180915 uc_tools bootloader + rust code?
20170420 git-private/armdev
20170328 openocd stlink
20160325 qemu-arm-static
20150920 rust bare metal arm
20150831 fakeroot + qemu-arm-static
20150718 semaphores
20150627 multiarch cross-compile
Qemu binfmt
20150509 STM32F level triggered interrupts
20150216 rust
20150207 Bit-banded accesses versus read-modify-write accesses
Setting bits
20141218 F1 USART receive
20141125 registers and linker
Stub and vectors
20141116 TIM2
20141115 de-jitter
I need a flat register map
Larger stm32f103 board works
Debug remote protocol
stm32f startup
stm32f peripheral info using libopencm3
20141113 Stub mainloop
smstub vectors
GDB Stub Developer’s Guide
20141112 freenode #stm32
20141111 Weird stuff..
48kB image?
20141110 What are these other registers?
Other arguments
stm32f103 and jtag
20141109 gdbstub flash
fixing p main()
p main() hangs gdbstub
debugging USB on f103
20141108 continue
20141107 Look in gdb source for stubs
gdb "console"
20141106 libopencm3 USB IN >64 bytes
Cortex M3 gdb stub
OpenOCD on/off
Debugging USB
20141105 gud emacs
Interactive C
20141102 boot process vybrid
arm linux rootfs qemu
20141031 jitter
20141030 cdcacm example
Stepping on the f103
SW turned off
stm32f usb libopencm3
libopencm3 build
20141029 BOOT0 BOOT1
ACM demo
Can't connect after flashing bad code + FIX
ftdi driver to replace ft2232 driver for olimex ARM-USB-OCD
Openocd 0.8.0
STM32F103 board
20140927 Q or GE
20140926 neon vs. vfp
20140925 measure optimality
Assembly remarks
20140921 Cortex M4F float vs fixed
20140912 arm-linux-gnueabi-*-4.7
Time to figure out state-of-the-art cross compilers
20140825 Old way: emdebian xapt
Multiarch cross compilers
emdebian cross compiler
20140822 Debian multiarch for cross-compilation
20140322 ARM + high speed usb: SAM3U
20131213 Why is there no qemu arm7tdmi emulator?
Qemu overview
20131212 Qemu ARM IRQ
20131211 Extending QEMU with a new processor target
20131207 Moving to new QEMU
GDB stepping on qemu VM.
QEMU i/o write prob
Adding a register-mapped QEMU device
20131206 set $pc = 0 on ARM7TMDI
Minimal qemu
Qemu minimal build
20131124 qemu primer
qemu osmocom
20130926 Debian on Beagleboard xM
20130919 M0 vs M3
20130916 DSP instructions
Inline asm
Semihosting exit
Running Cortex-M4 DSP code on QEMU
20130908 ARM DSP intrinsics
20130907 Cortex M4
Cheat sheet
PC odd addresses?
Cortex M4 boot?
Trying out Tivaware
20130904 Teensy 3.0 - STM Cortex M4
20130903 Paul Stoffregen
20130830 Building Toolchains
20130825 uClinux
20130823 Community ARM uC boards
20130817 TI Tiva C Series TM4C123G eval board / EK-TM4C123GXL
20130814 Disable / Enable interrupts
20130725 at91lib USB
20130715 Disassembling raw ARM code
20121212 AT91SAM7 AIC
20121130 OpenOCD
20120731 GDB hooks
20120605 Better GDB scripting
20120604 Loading binary code into ram
20120104 Loading core files on ARM target
20110822 eCos boot
20110627 urjtag
OpenOCD slow? How to fix?
20110624 Arm and alginment
ARM calling conventions
gdb variable to register mapping
gdb and low-level debugging
Cannot access memory at address 0xffffffff
OpenOCD gdb-attach event
20110623 ARM ELF Entry point
OpenOCD hacking
stepi ignored. GDB will now fetch the register state from the target.
gdb can't connect if target error
AT91SAM7 and reset
OpenOCD: reset halt vs. reset init
Reset to 0x110070 : warm_reset
20110622 AT91SAM7S slow_reset init/halt work again
ARM assembler cheat sheet
$pc not reset after soft_reset_halt
20110616 arm asm/dasm
20110612 ARM instruction set
AT91SAM7 setup from scratch
20110608 OpenOCD reset-init event
20110607 OpenOCD again
20110603 OpenOCD ARM DCC debug channel
20110530 More OpenOCD errors
OpenOCD still unreliable
Getting debug info from GDB into OpenOCD
20110529 AT91SAM7 back channel
OpenOCD console output to GDB
OpenOCD errors summary
OpenOCD all zeros
OpenOCD bugs
Python scripting in GDB
OpenOCD docs
OpenOCD, scripting in tcl
20110528 force hard breakpoints
gdb cheat sheet
OpenOCD on the AT91
20110516 openocd OLIMEX OCD-USB-EW
20110323 ocd over network problem
20110215 OpenOCD hardware breakpoing issues
OpenOCD problems target replug
20110213 More robust OCD : USB replug
20110212 OpenOCD slow?
20110208 AT91SAM7-EK expansion header
20110207 AT91SAM7 devices
20110202 Setting up AT91SAM7S-EK + Olimex ARM-USB-OCD
20090711 LPC2119 ET-ARM STAMP
20101111 OpenOCD current
More OpenOCD
OpenOCD getting started
20101013 gdbserver
20100928 Olimex stuff
20100926 Armpit scheme on Olimex SAM7-H256
20100916 Segger JLink OpenOCD
20100915 monitor help
OpenOCD on Olimex ARM-USB-OCD
20100820 JTAG for LPC2119
20100819 ARM JTAG