2020年5月11日月曜日

Docker で FreeRTOS on Xilinx/qemu

gcc-aarch64-none-elfXilinx/qemu の組み合わせで動かすための Makefile ができたので、それを使って実行までやるコマンドをメモ。

前提

実行手順

PowerShell で以下コマンドを実行する。

cd ${WORK_DIR}
git clone --recurse-submodules https://github.com/FreeRTOS/FreeRTOS.git
mkdir FreeRTOS/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/psu_cortexa53_0/lib
curl https://gist.githubusercontent.com/mikoto2000/f7fc041c312df882199fce4a07f15488/raw/021dcd00c2f22c8c2f109df7111704d5e8c548a1/Makefile -OutFile FreeRTOS/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/Makefile

docker run -it --rm -v "$(pwd)/FreeRTOS:/work" --workdir="/work/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53" mikoto2000/gcc-aarch64-none-elf:9.2-2019.12 make

docker run -it --rm -v "$(pwd)/FreeRTOS/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/obj:/work" --workdir="/work" mikoto2000/qemu-xilinx:2019.1 qemu-system-aarch64 -M arm-generic-fdt -dtb /var/dts/LATEST/SINGLE_ARCH/zcu102-arm.dtb -serial mon:stdio -nographic -device loader,file=./FreeRTOSDemo_A53.elf -device loader,addr=0xfd1a0104,data=0x0000000e,data-len=4
図 1: デモ実行結果

以上。

参考資料

0 件のコメント:

コメントを投稿