2014-05-29 19:40:09 -04:00
|
|
|
This is experimental, community-supported port for Cortex-M emulation as
|
2014-07-02 13:30:46 -04:00
|
|
|
provided by QEMU (http://qemu.org).
|
2014-05-29 19:40:09 -04:00
|
|
|
|
|
|
|
The purposes of this port are to enable:
|
|
|
|
|
|
|
|
1. Continuous integration
|
2017-05-29 03:08:14 -04:00
|
|
|
- run tests against architecture-specific parts of code base
|
2014-05-29 19:40:09 -04:00
|
|
|
2. Experimentation
|
|
|
|
- simulation & prototyping of anything that has architecture-specific
|
|
|
|
code
|
|
|
|
- exploring instruction set in terms of optimising some part of
|
|
|
|
MicroPython or a module
|
|
|
|
3. Streamlined debugging
|
|
|
|
- no need for JTAG or even an MCU chip itself
|
|
|
|
- no need to use OpenOCD or anything else that might slow down the
|
|
|
|
process in terms of plugging things together, pressing buttons, etc.
|
|
|
|
|
2020-05-29 08:42:08 -04:00
|
|
|
This port will only work with the [GNU ARM Embedded Toolchain](
|
2022-07-08 14:47:54 -04:00
|
|
|
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
|
2020-05-29 08:42:08 -04:00
|
|
|
and not with CodeSourcery toolchain. You will need to modify
|
2014-05-29 19:40:09 -04:00
|
|
|
`LDFLAGS` if you want to use CodeSourcery's version of `arm-none-eabi`.
|
|
|
|
The difference is that CodeSourcery needs `-T generic-m-hosted.ld` while
|
|
|
|
ARM's version requires `--specs=nano.specs --specs=rdimon.specs` to be
|
|
|
|
passed to the linker.
|
2017-12-11 13:04:27 -05:00
|
|
|
|
|
|
|
To build and run image with builtin testsuite:
|
|
|
|
|
|
|
|
make -f Makefile.test test
|