MATLAB: ARM Cortex-A Processor Embedded Coder Support Package Workaround for QEMU Emulator Bug

armbugcodercortex-a;embeddedEmbedded Coderemulatorforpackageprocessorsqemusupport

After installing the Embedded Support Package for ARM Cortex-A Processors and following the provided example, an error is thrown when starting the QEMU Emulator. How can this error be fixed? This bug occurs in MATLAB R2018a with the Embedded Coder Support Package for ARM Cortex-A Processors release 18.1.0 available on GLNXA64 and WIN64 platforms.

Best Answer

This is a known bug in release 18.1.0 of the Embedded Coder Support Package for ARM Cortex-A Processors. The following workaround is available until a bug-fix is released:
1. Delete the runQemu.p file:
<SUPPORT_PACKAGE_INSTALL_FOLDER>/toolbox/target/supportpackages/arm_cortex_a/+codertarget/+arm_cortex_a/runQemu.p
2. Open the MATLAB file:
<SUPPORT_PACKAGE_INSTALL_FOLDER>/toolbox/target/supportpackages/arm_cortex_a/+codertarget/+arm_cortex_a/runQemu.m
3. In line 61~62 of file runQemu.m, the variable zImage and rootfsImage assignments should be changed as below:
zImage = fullfile(busyboxLocation,'armcortexa9_busybox', 'zImage');
rootfsImage = fullfile(busyboxLocation ,'armcortexa9_busybox', 'rootfs.img.gz');
4. Deploy the edited MATLAB file into a P file.