From Electriki
Jump to navigationJump to search

OK, LPC2138 is an ARM7TDMI, 512kB flash, 32kB ram from NXP/Philips.

I'm doing it from zero, since I plan to write some super cool OS for it.

Just an update, I've successfully written some asm routines for task switching. Which is super cool IMO! Gained quite some knowledge of ARM/LPC in the process. Also met some gas idiocies. ie. stmfd sp!, {r0-r14}^, doesn't even exist, but gas warns about some other stuff and compiles it into stmfd sp, {r0-r14}^ (no exclamation mark after sp, meaning sp isn't decremented). W/O JTAG this would be a bit more difficult.

Memory mapping

memory mapping
0x0 flash
0x4000 0000 sram
0x7fff d000 boot block
0xe000 0000 vpb peripherals
0xffe0 0000 ahb peripherals

arm exception vector locations

Read all about that on: Bootup, vectors and linker script