QEMU 仿真 Cortex-M55 + NuttX 完整部署指南 QEMU 仿真 Cortex-M55 NuttX 完整部署指南Cortex-M55 是 ARMv8.1-M 架构内核QEMU 6.2原生支持mps3-an547开发板搭载 Cortex-M55NuttX 官方已完美适配该平台无需硬件即可完成仿真开发。本文提供一键式部署流程覆盖环境安装、NuttX 编译、QEMU 仿真、串口调试全步骤。一、环境准备Ubuntu 20.04/22.04 推荐1. 安装依赖工具bash运行# 基础编译工具 sudo apt update sudo apt install -y git gcc g make cmake python3-pip libncurses5-dev \ flex bison gperf libtool-bin automake autoconf # ARM Cortex-M 交叉编译器官方GCC wget https://armkeil.blob.core.com/developer/files/support_zip_files/downloads/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi.tar.xz tar -xf arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi.tar.xz sudo mv arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi /opt/arm-gcc # 添加环境变量 echo export PATH/opt/arm-gcc/bin:$PATH ~/.bashrc source ~/.bashrc # 验证编译器 arm-none-eabi-gcc --version2. 安装支持 Cortex-M55 的 QEMUbash运行# 安装QEMU 7.0必须支持mps3-an547 sudo apt install -y qemu-system-arm # 验证QEMU是否支持AN547 qemu-system-arm -M help | grep mps3-an547✅ 输出mps3-an547说明环境正常。二、拉取 NuttX 源码NuttX 采用主源码 应用仓库分离模式必须同时拉取bash运行# 创建工作目录 mkdir nuttx-cortexm55 cd nuttx-cortexm55 # 拉取NuttX核心源码 git clone https://github.com/apache/nuttx.git nuttx # 拉取NuttX应用源码 git clone https://github.com/apache/nuttx-apps.git apps三、配置 NuttXCortex-M55 MPS3-AN5471. 加载官方默认配置bash运行cd nuttx # 清理旧配置 make distclean # 加载MPS3 AN547Cortex-M55默认配置 ./tools/configure.sh mps3-an547:nshmps3-an547QEMU 仿真的硬件平台nshNuttX 内置命令行终端最基础可用配置2. 可选图形化配置如需开启外设、网络等功能bash运行make menuconfig3. 编译 NuttX 固件bash运行make -j$(nproc)✅ 编译完成后在nuttx/目录生成nuttxELF 格式固件QEMU 直接加载nuttx.bin二进制固件四、QEMU 仿真运行 Cortex-M55 NuttX1. 启动仿真命令bash运行qemu-system-arm -cpu cortex-m55 \ -M mps3-an547 \ -nographic \ -kernel nuttx参数说明-cpu cortex-m55指定仿真内核-M mps3-an547指定硬件平台-nographic无图形界面纯串口-kernel nuttx加载 NuttX 固件2. 进入 NuttX Shell启动成功后直接进入NSH 终端输入命令测试nshnsh help # 查看所有命令 nsh ls # 查看文件系统 nsh free # 查看内存 nsh uname -a # 查看系统信息3. 退出 QEMUbash运行Ctrl A, 再按 X五、进阶开启串口 / 调试 / 仿真优化1. 重定向串口到终端更稳定bash运行qemu-system-arm -cpu cortex-m55 -M mps3-an547 -kernel nuttx \ -serial stdio -nographic2. GDB 调试开发必备终端 1启动 QEMU 调试模式bash运行qemu-system-arm -cpu cortex-m55 -M mps3-an547 -kernel nuttx \ -serial stdio -nographic -s -S-s开启 GDB 服务端口 1234-S启动后暂停 CPU等待 GDB 连接终端 2启动 GDB 调试bash运行arm-none-eabi-gdb nuttx # GDB内执行 (gdb) target remote localhost:1234 (gdb) continue六、常见问题排查QEMU 找不到 mps3-an547解决方案升级 QEMU 到 7.0bash运行sudo apt upgrade qemu-system-arm交叉编译器找不到解决方案重新加载环境变量source ~/.bashrc编译报错解决方案执行make distclean重新配置编译总结核心硬件QEMUmps3-an547 Cortex-M55 仿真平台系统NuttX 官方原生适配一键配置编译命令速记配置./tools/configure.sh mps3-an547:nsh编译make -j仿真qemu-system-arm -cpu cortex-m55 -M mps3-an547 -kernel nuttx -nographic整套流程无需任何硬件纯软件即可完成 Cortex-M55 NuttX 的开发调试。