Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
micropython/ports/powerpc/README.md
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
44 lines (26 sloc)
1.21 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# The PowerPC port that runs on microwatt and qemu | |
This port is intended to be a minimal MicroPython port that runs in | |
QEMU, microwatt simulator with ghdl or microwatt on Xilinx FPGA with | |
potato UART. | |
## Building | |
By default the port will be built with the potato uart for microwatt: | |
$ make | |
To instead build for a machine with LPC serial, such as QEMU powernv: | |
$ make UART=lpc_serial | |
## Cross compilation for POWERPC | |
If you need to cross compilers you'll want to grab a powerpc64le | |
compiler (not powerpc or powerpc64). | |
On Ubuntu (18.04) you'll want: | |
$ apt install gcc-powerpc64le-linux-gnu | |
*(Use CROSS_COMPILE=powerpc64le-linux-gnu-)* | |
If your distro doesn't have cross compilers, you can get cross compilers here: | |
- https://toolchains.bootlin.com/ | |
*(use CROSS_COMPILE=powerpc64le-buildroot-linux-gnu-)* | |
(Avoid musl libc as it defines __assert_fail() differently to glibc | |
which breaks the micropython powerpc code) | |
Then do: | |
$ make CROSS_COMPILE=<compiler prefix> | |
Building will produce the build/firmware.bin file which can be used | |
QEMU or [microwatt](https://github.com/antonblanchard/microwatt). | |
To run in QEMU use: | |
$ ./qemu-system-ppc64 -M powernv -cpu POWER9 -nographic -bios build/firmware.bin |