= Build Needs a cross GCC ARM tool chain supporting cortex-m3. Since -ffreestanding is used, any GCC should be usable, regardless of the target OS. Debian users can install apt-get install gcc-arm-none-eabi gdb-arm-none-eabi The gcc-arm-linux-gnueabihf packages will also work. If your compiler isn't in /usr/bin, then specify PREFIX=/where/it/is to Make. = Run tests The 'runtests.sh' script takes two optional arguments: the first is the QEMU binary to use (default "qemu-system-arm") and the second is the PREFIX to pass to make, if any. The tests run by runtests.sh are: test1-kern.bin: basic load test test9-kern.bin: check initial register states test10-kern.bin: check register exception handling register states test4-kern.bin: handling of external (NVIC) exceptions test5-kern.bin: thread mode unprivileged and process stack handling test13-kern.bin: UsageFaults test3-kern.bin: exception masking and escalation test12-kern.bin: invalid exception table entry (not Thumb mode) test7-kern.bin: exception return integrity checks test14-kern.bin: bitbanding test8-kern.bin: test MPU test11-kern.bin: various access fault handling and recovery Tests which aren't currently run: test6-kern.bin: unrecoverable exception These are not run by runtests.sh because either: (1) they haven't been updated to use the TAP test output format (2) they don't yet pass on QEMU You can hand-run a test with the command qemu-system-arm -no-reboot -M lm3s6965evb -m 16 -serial stdio -display none -net nic -net user,restrict=on -d guest_errors,unimp -kernel test-whatever-kern.bin