littlebot
Published on 2025-04-07 / 3 Visits
0

【源码】基于ARM和QEMU的嵌入式系统学习项目

项目简介

本项目致力于通过编写和运行基于ARM架构的裸金属代码以及FreeRTOS操作系统,助力开发者深入学习ARM CPU硬件知识和QEMU虚拟化技术。项目覆盖了从Cortex - M3到Cortex - A15等多种ARM架构处理器,借助QEMU模拟不同硬件平台进行开发与测试。

项目的主要特性和功能

  1. Cortex - M3裸金属代码:在ARM MPS2 AN385开发板实现裸金属代码,具备启动代码、汇编、SCB、Exception、NVIC、Systick、MPU等功能;使用QEMU模拟虚拟板子运行代码,学习QOM和TCG知识。
  2. Cortex - M33裸金属代码:在ARM MPS2 AN385开发板实现代码,验证Trustzone功能,包含S和NS两个image及S侧SAU、PPC、MPC配置;用QEMU模拟虚拟板子运行代码,结合TFM和FreeRTOS验证功能。
  3. Cortex - A15裸金属代码:在ARM Virt A15开发板实现代码,完成启动代码、串口、MMU、Cache、GIC、Generic Timer等功能;用QEMU模拟虚拟板子运行代码,并结合FreeRTOS进行任务调度。
  4. FreeRTOS集成:在QEMU模拟的虚拟板子上运行FreeRTOS,实现任务调度、中断处理等功能;结合TFM在虚拟板子上进行安全功能验证。
  5. RISC - V32裸金属代码和FreeRTOS:在QEMU模拟的虚拟板子上运行RISC - V32裸金属代码,验证基本启动代码和中断处理;运行FreeRTOS实现任务调度。

安装使用步骤

假设用户已下载本项目的源码文件。 1. 安装QEMUbash cd qemu ./configure make sudo make install 2. 编译和运行裸金属代码bash cd baremetal/baremetal - m3 make qemu - system - arm - machine thomas - m3 - kernel build/baremetal - m3.elf 3. 编译和运行FreeRTOSbash cd FreeRTOS/THOMAS_M3_QEMU make qemu - system - arm - machine thomas - m3 - kernel build/THOMAS_M3_QEMU.elf 4. 编译和运行TFMbash cd trusted - firmware - m/platform/thomas - m33 make qemu - system - arm - machine thomas - m33 - kernel build/tfm.elf

通过上述步骤,可在QEMU模拟的虚拟板子上运行和测试项目中的裸金属代码和FreeRTOS操作系统。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】