QEMU 仿真 Cortex-M55 + NuttX 完整部署指南
2026/5/28 23:00:16 网站建设 项目流程

QEMU 仿真 Cortex-M55 + NuttX 完整部署指南

Cortex-M55 是 ARMv8.1-M 架构内核,QEMU 6.2+原生支持mps3-an547开发板(搭载 Cortex-M55),NuttX 官方已完美适配该平台,无需硬件即可完成仿真开发。

本文提供一键式部署流程,覆盖环境安装、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 --version

2. 安装支持 Cortex-M55 的 QEMU

bash

运行

# 安装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

三、配置 NuttX(Cortex-M55 + MPS3-AN547)

1. 加载官方默认配置

bash

运行

cd nuttx # 清理旧配置 make distclean # 加载MPS3 AN547(Cortex-M55)默认配置 ./tools/configure.sh mps3-an547:nsh
  • mps3-an547:QEMU 仿真的硬件平台
  • nsh:NuttX 内置命令行终端(最基础可用配置)

2. (可选)图形化配置

如需开启外设、网络等功能:

bash

运行

make menuconfig

3. 编译 NuttX 固件

bash

运行

make -j$(nproc)

✅ 编译完成后,在nuttx/目录生成:

  • nuttx:ELF 格式固件(QEMU 直接加载)
  • nuttx.bin:二进制固件

四、QEMU 仿真运行 Cortex-M55 + NuttX

1. 启动仿真命令

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 终端,输入命令测试:

nsh

nsh> help # 查看所有命令 nsh> ls # 查看文件系统 nsh> free # 查看内存 nsh> uname -a # 查看系统信息

3. 退出 QEMU

bash

运行

Ctrl + A, 再按 X

五、进阶:开启串口 / 调试 / 仿真优化

1. 重定向串口到终端(更稳定)

bash

运行

qemu-system-arm -cpu cortex-m55 -M mps3-an547 -kernel nuttx \ -serial stdio -nographic

2. 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

六、常见问题排查

  1. QEMU 找不到 mps3-an547解决方案:升级 QEMU 到 7.0+

    bash

    运行

    sudo apt upgrade qemu-system-arm
  2. 交叉编译器找不到解决方案:重新加载环境变量source ~/.bashrc
  3. 编译报错解决方案:执行make distclean重新配置编译

总结

  1. 核心硬件:QEMUmps3-an547= Cortex-M55 仿真平台
  2. 系统:NuttX 官方原生适配,一键配置编译
  3. 命令速记:
    • 配置:./tools/configure.sh mps3-an547:nsh
    • 编译:make -j
    • 仿真:qemu-system-arm -cpu cortex-m55 -M mps3-an547 -kernel nuttx -nographic

整套流程无需任何硬件,纯软件即可完成 Cortex-M55 + NuttX 的开发调试。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询