README.md
1This is experimental, community-supported port for Cortex-M emulation as
2provided by QEMU (http://qemu.org).
3
4The purposes of this port are to enable:
5
61. Continuous integration
7 - run tests against architecture-specific parts of code base
82. Experimentation
9 - simulation & prototyping of anything that has architecture-specific
10 code
11 - exploring instruction set in terms of optimising some part of
12 MicroPython or a module
133. Streamlined debugging
14 - no need for JTAG or even an MCU chip itself
15 - no need to use OpenOCD or anything else that might slow down the
16 process in terms of plugging things together, pressing buttons, etc.
17
18This port will only work with the [GNU ARM Embedded Toolchain](
19https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm)
20 and not with CodeSourcery toolchain. You will need to modify
21`LDFLAGS` if you want to use CodeSourcery's version of `arm-none-eabi`.
22The difference is that CodeSourcery needs `-T generic-m-hosted.ld` while
23ARM's version requires `--specs=nano.specs --specs=rdimon.specs` to be
24passed to the linker.
25
26To build and run image with builtin testsuite:
27
28 make -f Makefile.test test
29