前言
最近在学习 RT-Smart ,正巧有在全志开发者论坛看到这么一篇帖子【惊】在麻雀上运行国产rt-smart系统,看到很多人都在关注 D1S 在 Smart 上的运行情况。如今该 BSP 已经合并到 RT-Smart 主仓库,于是我来展示一下 D1S 运行 RT-Smart 的步骤,供大家参考~
做嵌入式开发的人对 RT-Thread 操作系统平台应该都是非常熟悉的,而 RT-Thread Smart 是基于 RT-Thread 操作系统上的混合操作系统,简称为 rt-smart,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间。相比较于 linux 操作系统而言,RT-Thread Smart 是实时的操作系统。
环境及所需工具
软件环境:
Ubuntu20.0.4
硬件环境:
全志D1s芯片
柿饼派M7
麻雀MQ
下载代码
下载 RT-Smart 用户态应用代码:
git clone https://github.com/RT-Thread/userapps.git
进入到 userapps 目录,克隆 RT-Thread rt-smart 分支
git clone -b rt-smart https://gitee.com/rtthread/rt-thread.git
配置工具链
在 userapps\tools 目录下运行 get_toolchain.py 的脚本,会下载对应的工具链并展开到 userapps\tools\gun_gcc 目录。后面的工具链名称可以是 arm | riscv64。
因为 D1S 是 RISCV-64 架构的,所以输入下面的命令:
python3 get_toolchain.py riscv64
在 userapps 目录下,运行 smart-env.sh 配置工具链路径,目前支持的参数可以是 arm | riscv64
source smart-env.sh riscv64
编译内核程序
进入 rt-thread/bsp/allwinner/d1s 目录下,执行以下命令拉取一下软件包
注:若系统没有安装 env,需要手动输入 scons --menuconfig 命令手动下载 env
source ~/.env/env.sh
pkgs --update
使用 scons 命令进行编译,编译成功后会在 userapps/rt-thread/bsp/allwinner/d1s 目录下生成 sd.bin,这个文件就是我们需要烧录到开发板中的