rt-thread-official/bsp/qemu-vexpress-a9
qz721 61f2a71511 Rename 'platform.h' in 'imx6ul' and 'qemu-vexpress-a9' BSPs.
This filename conflicts with the 'mbedtls' package. They are renamed
in the name of the corresponding chips and included in 'board.h'.
Files that rely on this file should include 'board.h' instead.
2019-04-26 10:50:48 +08:00
..
.vscode [BSP] Add vscode settings for qemu-vexpress-a9 bsp 2018-08-15 09:15:08 +08:00
applications [UIEngine] move UI engine as a package 2018-03-03 16:34:01 +08:00
drivers Rename 'platform.h' in 'imx6ul' and 'qemu-vexpress-a9' BSPs. 2019-04-26 10:50:48 +08:00
.config [bsp] Update BSP configuration file for netdev components 2019-04-17 11:00:45 +08:00
Kconfig [all BSP]fix kconfig file syntax error 2019-01-16 23:23:38 +08:00
README.md [BSP] Add vscode settings for qemu-vexpress-a9 bsp 2018-08-15 09:15:08 +08:00
SConscript [BSP] Add QEMU/VExpress-A9 bsp. 2017-09-19 12:14:52 +08:00
SConstruct Make 'qemu-vexpress-a9' and 'imx6ul' use the same libcpu code. 2019-03-25 20:03:49 +08:00
link.lds [bsp] 为常用板卡的 gcc 链接脚本增加 utest section 段 2018-12-24 17:28:52 +08:00
qemu-dbg.bat [BSP] Add vscode settings for qemu-vexpress-a9 bsp 2018-08-15 09:15:08 +08:00
qemu-dbg.sh [BSP][QEMU]fix run error on mac add dbg.sh on linux 2018-06-29 22:56:42 +08:00
qemu-nographic.bat [bsp][qemu-vexpress-a9] add qemu-nographic.bat for windows 2018-06-19 10:35:42 +08:00
qemu-nographic.sh Add smp support to RT-Thread 4.0 2018-11-22 18:16:47 +08:00
qemu.bat Add smp support to RT-Thread 4.0 2018-11-22 18:16:47 +08:00
qemu.sh Add smp support to RT-Thread 4.0 2018-11-22 18:16:47 +08:00
rtconfig.h [bsp]remove log_trace item from all bsp 2019-04-23 14:23:07 +08:00
rtconfig.py Make 'qemu-vexpress-a9' and 'imx6ul' use the same libcpu code. 2019-03-25 20:03:49 +08:00

README.md

QEMU/VExpress A9板级支持包说明

1. 简介

Versatile Express系统由ARM Ltd提供作为CortexA9四核处理器的开发环境硬件由uATX主板和CoreTile Express A9x4子板组成。有关该系统的详细信息可以访问 ARM官方页面

Versatile Express的核心是一套FPGA的开发环境Cortex-A芯片基于FPGA上的硬件逻辑所以本身是不存在这么一款真实芯片。

QEMU/VExpress A9是QEMU模拟器针对ARM VExpress-A9 FPGA开发板进行软件模拟的指令级虚拟机。QEMU/VExpress因为是软件仿真模式可以配置成多种模式例如单核Cortex-A9多核Cortex-A9以及多核Cortex-A15等。同时也能够模拟出VExpress FPGA开发板上大多数的外设。

这份RT-Thread BSP是针对QEMU/VExpress-A9的一份移植也并未在真实的VExpress FPGA开发板上运行过主要是提供给开发者一定的便利能够使用、验证一定的功能。对于真实FPGA开发板的执行情况不做任何假设。

当前QEMU/VExpress-A9对应的硬件特性

硬件 描述
CPU ARM Cortex-A9单核
主频 NA
Memory 128MB(0x60000000 - 0x68000000)

2. 编译说明

推荐使用env工具可以在console下进入到bsp/qemu-vexpress-a9目录中,运行以下命令:

scons

来编译这个板级支持包。如果编译正确无误会产生rtthread.elf、rtthread.bin文件。在QEMU中一般使用elf方式来运行所以只需要使用rtthread.elf文件即可。

注: RT-Thread/ENV中携带的工具版本是

gcc version 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496]

如果在Linux下使用请自行下载GNU GCC工具链

3. 执行

当要执行编译好的RT-Thread时在这个bsp目录下已经提供了运行脚本文件qemu.bat/qemu.sh

这个执行脚本默认把串口输出到stdio即控制台所以直接执行脚本后就可以输出结果了。

 \ | /
- RT -     Thread Operating System
 / | \     3.0.4 build May  4 2018
 2006 - 2018 Copyright by rt-thread team
SD card capacity 65536 KB
probe mmcsd block device!
hello rt-thread
msh />

4. 支持情况

驱动 支持情况 备注
UART 支持 UART0/1
SD/MMC 支持
CLCD 支持
Key 支持
Mouse 支持
EMAC 支持

4.1 使用VSCode编辑、编译、调试

在qemu-vexpress-a9中已经携带了部分vscode的配置需要配合着env一起来使用。步骤包括

先使用env打开console然后在console中切换都qemu-vexpress-a9 bsp的目录下

scons --target=vsc -s

更新vscode需要用到的C/C++头文件搜索路径信息不是每次都需要更新只有在使用了menuconfig重新配置了RT-Thread或更改了rtconfig.h头文件时才需要

然后在console下输入

code .

启动vscode。使用vscode目前包含如下的一些功能

  • 编译 Ctrl+Shift+B - 开启vscode内置终端调用scons进行编译如果有编译错误也会侦测问题双击问题跳到指定代码文件、代码行
  • 包含执行qemu模拟器,scons -c进行目标文件清理的任务
  • F5 一键开启QEMU调试模式并断点停留在main函数上;(需要更改下qemu-dbg.bat文件在qemu-system-arm前加入start),即
@echo off
if exist sd.bin goto run
qemu-img create -f raw sd.bin 64M

:run
start qemu-system-arm -M vexpress-a9 -kernel rtthread.elf -serial stdio -sd sd.bin -S -s

已知问题 如果在vscode的目录中额外添加了文件夹会导致调试不能够启动。

5. 联系人信息

维护人:bernard