micropython/ports/qemu-arm
Jim Mussared add1200343 all: Remove the zlib module.
This will be replaced with a new deflate module providing the same
functionality, with an optional frozen Python wrapper providing a
replacement zlib module.

binascii.crc32 is temporarily disabled.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 18:48:29 +10:00
..
test-frzmpy
Makefile py/mkrules.mk: Automatically configure frozen options when manifest set. 2023-06-08 23:12:56 +10:00
Makefile.test
README.md docs: Update links for Arm GCC toolchain. 2022-08-11 14:27:06 +10:00
imx6.ld
main.c ports: Use default VFS config for import_stat and builtin_open. 2022-05-25 13:04:45 +10:00
modmachine.c all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
mpconfigport.h all: Remove the zlib module. 2023-07-21 18:48:29 +10:00
mphalport.h
mps2.ld
nrf51.ld
qstrdefsport.h
startup.c
stm32.ld
test_main.c ports: Use default VFS config for import_stat and builtin_open. 2022-05-25 13:04:45 +10:00
uart.c
uart.h

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