blob: 54753a521c5dd9a816482a84f8902635b5072246 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
= 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
|