简介
嵌入式软件开发离不开开发板,在没有物理开发板的情况下,可以使用 QEMU 等类似的虚拟机来模拟开发板。QEMU 是一个支持跨平台虚拟化的虚拟机,它可以虚拟很多开发板。为了方便大家在没有开发板的情况下体验 RT-Thread,RT-Thread 提供了 QEMU 模拟的 ARM vexpress A9 开发板的板级支持包 (BSP)。
本文主要介绍在 Ubuntu 平台使用 QEMU 运行 RT-Thread qemu-vexpress-a9 BSP 工程。
准备工作
安装环境
git clone
https://github.com/RT-Thread/rt-thread.git
sudo apt-get install qemu
sudo apt-get install scons
- 安装编译器。使用 apt-get 命令安装的编译器版本太旧会导致编译报错,可依次使用如下命令下载安装新版本,下载链接和解压文件夹名因下载版本而异:
tom@laptop:~$ cd /tmp/tom@laptop:/tmp$ wget
https://armkeil.blob.core.window ... .bz2tom@laptop:/tmp$ tar xf ./gcc-arm-none-eabi-6_2-2016q4-20161216-linux.tar.bz2tom@laptop:/tmp$ mv gcc-arm-none-eabi-6_2-2016q4/ /opt/tom@laptop:/tmp$ /opt/gcc-arm-none-eabi-6_2-2016q4/bin/arm-none-eabi-gcc --version以上命令下载编译器,并安装到 /opt/gcc-arm-none-eabi-6_2-2016q4/ 。如果最后输出结果如下,则安装完成:
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 6.2.1 20161205 (release) [ARM/embedded-6-branch revision 243739]Copyright (C) 2016 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
sudo apt-get install libncurses5-dev
配置 rtconfig.py
编译器安装好以后需要修改源码中的 bsp/qemu-vexpress-a9/rtconfig.py 文件,修改 gcc 链接的路径为刚才安装路径,如将 EXEC_PATH = '/usr/bin' 改为:
EXEC_PATH = '/opt/gcc-arm-none-eabi-6_2-2016q4/bin'如下:
使用 menuconfig 配置工程
1、在 qemu-vexpress-a9 BSP 根目录输入
scons --menuconfig此命令开启配置界面,配置操作和 Window 平台一样:
2、使用 scons --menuconfig 命令后会安装及初始化 Env 工具,并在 home 目录下面生成 “.env” 文件夹,此文件夹为隐藏文件夹,切换到 home 目录,使用 la 命令可查看所有目录和文件。
$ la ~/.envenv.sh local_pkgs packages tools运行 env.sh 会配置好环境变量,让我们可以使用 pkgs 命令来更新软件包,执行
$ source ~/.env/env.sh若已经选择了在线软件包,就可以使用 pkgs --update 命令下载软件包到 BSP 目录下的 packages 文件夹里:
$ pkgs --update
编译和运行 RT-Thread
1、在 qemu-vexpress-a9 BSP 目录下输入 scons 命令编译工程:
2、输入 ls 命令查看 BSP 下面的文件明细,绿色显示的文件是有执行权限的文件,我们需要给 qemu.sh 文件新增执行权限,输入 chmod +x qemu.sh 命令:
3、输入 ./qemu.sh 命令执行脚本文件,这时候虚拟机便运行起来,如下图所示,命令行显示了 RT-Thread 操作系统启动过程所打印的相关信息,弹出的窗口为虚拟的 LCD 屏。
简介
嵌入式软件开发离不开开发板,在没有物理开发板的情况下,可以使用 QEMU 等类似的虚拟机来模拟开发板。QEMU 是一个支持跨平台虚拟化的虚拟机,它可以虚拟很多开发板。为了方便大家在没有开发板的情况下体验 RT-Thread,RT-Thread 提供了 QEMU 模拟的 ARM vexpress A9 开发板的板级支持包 (BSP)。
本文主要介绍在 Ubuntu 平台使用 QEMU 运行 RT-Thread qemu-vexpress-a9 BSP 工程。
准备工作
安装环境
git clone
https://github.com/RT-Thread/rt-thread.git
sudo apt-get install qemu
sudo apt-get install scons
- 安装编译器。使用 apt-get 命令安装的编译器版本太旧会导致编译报错,可依次使用如下命令下载安装新版本,下载链接和解压文件夹名因下载版本而异:
tom@laptop:~$ cd /tmp/tom@laptop:/tmp$ wget
https://armkeil.blob.core.window ... .bz2tom@laptop:/tmp$ tar xf ./gcc-arm-none-eabi-6_2-2016q4-20161216-linux.tar.bz2tom@laptop:/tmp$ mv gcc-arm-none-eabi-6_2-2016q4/ /opt/tom@laptop:/tmp$ /opt/gcc-arm-none-eabi-6_2-2016q4/bin/arm-none-eabi-gcc --version以上命令下载编译器,并安装到 /opt/gcc-arm-none-eabi-6_2-2016q4/ 。如果最后输出结果如下,则安装完成:
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 6.2.1 20161205 (release) [ARM/embedded-6-branch revision 243739]Copyright (C) 2016 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
sudo apt-get install libncurses5-dev
配置 rtconfig.py
编译器安装好以后需要修改源码中的 bsp/qemu-vexpress-a9/rtconfig.py 文件,修改 gcc 链接的路径为刚才安装路径,如将 EXEC_PATH = '/usr/bin' 改为:
EXEC_PATH = '/opt/gcc-arm-none-eabi-6_2-2016q4/bin'如下:
使用 menuconfig 配置工程
1、在 qemu-vexpress-a9 BSP 根目录输入
scons --menuconfig此命令开启配置界面,配置操作和 Window 平台一样:
2、使用 scons --menuconfig 命令后会安装及初始化 Env 工具,并在 home 目录下面生成 “.env” 文件夹,此文件夹为隐藏文件夹,切换到 home 目录,使用 la 命令可查看所有目录和文件。
$ la ~/.envenv.sh local_pkgs packages tools运行 env.sh 会配置好环境变量,让我们可以使用 pkgs 命令来更新软件包,执行
$ source ~/.env/env.sh若已经选择了在线软件包,就可以使用 pkgs --update 命令下载软件包到 BSP 目录下的 packages 文件夹里:
$ pkgs --update
编译和运行 RT-Thread
1、在 qemu-vexpress-a9 BSP 目录下输入 scons 命令编译工程:
2、输入 ls 命令查看 BSP 下面的文件明细,绿色显示的文件是有执行权限的文件,我们需要给 qemu.sh 文件新增执行权限,输入 chmod +x qemu.sh 命令:
3、输入 ./qemu.sh 命令执行脚本文件,这时候虚拟机便运行起来,如下图所示,命令行显示了 RT-Thread 操作系统启动过程所打印的相关信息,弹出的窗口为虚拟的 LCD 屏。
举报