You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Angus Gratton decf8e6a8b all: Remove the "STATIC" macro and just use "static" instead. 8 months ago
..
test-frzmpy examples: Mark asm, pio, etc. as noqa: F821 (undefined-name). 1 year ago
Makefile ports: Switch build to use common lib/libm list of source files. 11 months ago
Makefile.test tools/tinytest-codegen.py: Externalise tests list. 1 year ago
README.md docs: Update links for Arm GCC toolchain. 2 years ago
imx6.ld qemu-arm: Add support for Cortex-A9 via sabrelite board. 4 years ago
main.c py/builtinevex: Handle invalid filenames for execfile. 1 year ago
modmachine.c all: Remove the "STATIC" macro and just use "static" instead. 8 months ago
mpconfigport.h qemu-arm/mpconfigport: Use MICROPY_CONFIG_ROM_LEVEL_EXTRA_FEATURES. 9 months ago
mphalport.h qemu-arm: Rework to run bare-metal on boards with Cortex-M CPUs. 6 years ago
mps2.ld qemu-arm: Rework to run bare-metal on boards with Cortex-M CPUs. 6 years ago
nrf51.ld qemu-arm: Rework to run bare-metal on boards with Cortex-M CPUs. 6 years ago
qstrdefsport.h all: Add *FORMAT-OFF* in various places. 5 years ago
startup.c qemu-arm: Add support for Cortex-A9 via sabrelite board. 4 years ago
stm32.ld qemu-arm: Rework to run bare-metal on boards with Cortex-M CPUs. 6 years ago
test_main.c py/builtinevex: Handle invalid filenames for execfile. 1 year ago
tests_profile.txt tools/tinytest-codegen.py: Externalise tests list. 1 year ago
uart.c qemu-arm: Add support for Cortex-A9 via sabrelite board. 4 years ago
uart.h qemu-arm: Rework to run bare-metal on boards with Cortex-M CPUs. 6 years ago

README.md

This is experimental, community-supported port for Cortex-M emulation as provided by QEMU (http://qemu.org).

The purposes of this port are to enable:

  1. Continuous integration
    • run tests against architecture-specific parts of code base
  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.

This port will only work with the [GNU ARM Embedded Toolchain]( https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads and not with CodeSourcery toolchain. You will need to modify 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.

To build and run image with builtin testsuite:

make -f Makefile.test test