0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在 ART-Pi Smart 体验 RT-Thread Smart v5.1.0

RT-Thread官方账号 2024-06-14 08:35 次阅读

1.引言

RT-Thread Smart v5.1.0 已经正式发布。这一版本在内核和功能上做了大量的改进与增强。我们可以在ART-Pi Smart开发板尽情探索这一新版更完善更强大的RT-Thread Smart操作系统。ART-Pi Smart开发板搭载了米尔科技的i.MX6ULL核心板,硬件设计和制作由韦东山团队完成,整体的BSP板级支持包由社区完成。这是首个运行 RT-Thread Smart 的 ARM Cortex-A7 开发板,具有强大的硬件性能和丰富的外设接口,非常适合学习,开发和调试RT-Thread Smart系统。

硬件规格情况

feb765d4-29e5-11ef-a655-92fbcf53809c.png

在ART-Pi Smart的板卡上包括了百兆以太网TF卡插槽,USB device,USB host接口,以及RW007 WiFi模块,Type-C的USB UART,RGB888 FPC座,Camera FPC座等资源。核心板上板载i.MX6ULL 800MHz ARM Cortex-A7单核32位处理器,512MB DDR3内存,4GB eMMC。

2. RT-Thread Smart v5.1.0 新体验

RT-Thread v5.1.0 版本的 Smart 中带来了诸多改进和新功能,以下是一些和Smart系统密切相关的主要新增特性和增强点:

● 更完善的libc支持:高性能互斥锁 futex 和原生 libc 动态链接功能,使系统在多任务处理和内存管理上更高效。新增或修复了 setitimer、setaffinity 等API,提升了系统的灵活性和稳定性。

● 更完善的 POSIX 终端支持:

○ 完整的终端设备及伪终端设备支持

○ 可嵌套,支持作业控制,支持系统调用重启的 POSIX 信号支持

○ 进程组和会话管理

○ 新的IPC方法 `rt_condvar`

○ dfsv2 devfs 支持符号链接等功能。

○ ……

这些特性不仅使 RT-Thread Smart 在功能上更加完善,同时也提升了系统的稳定性和性能,为开发者提供了更强大的工具和更多的可能性。

3. 快速上手

下面介绍如何在ART-Pi Smart开发板上运行v5.1.0版本RT-Thread Smart操作系统。

○ 搭建xmake编译环境

对于RT-Thread Smart的开发,推荐使用Linux Ubuntu环境,也可以远程使用Linux环境,在Windows桌面上使用VSCode登陆到Linux Ubuntu环境上使用。

在Linux Ubuntu下需要先安装xmake环境

1sudoadd-apt-repositoryppa:xmake-io/xmake
2sudoaptupdate
3sudoaptinstallxmake

○ 应用编译

拉取用户态应用仓库 https://github.com/RT-Thread/userapps.git 可以获得一些示例程序工程。我们通过 xmake f 命令配置构建的目标平台,使用 xmake 命令编译构建工程,最后通过 xmake smart-rootfs -f fat 命令将构建完成的产物制作为 fat 格式的根文件系统镜像。这个镜像会在后面被烧录到 sd 卡中使用。

1sourceenv.sh//设置环境变量
2//编译app
3cdapps
4//配置为arm平台
5xmakef-aarm
6xmake-j8
7//生成rootfs
8xmakesamrt-image-ffat

○ 内核编译

前面xmake已经下载了工具链,工具链具体位置在这里(arm-smart-musleabi 路径后的数字可能因为版本更新而不同)

1~/.xmake/packages/a/arm-smart-musleabi/211536-3de435f234/f5d0c3febbd2497fa950eb569871a3c0

进入bsp目录 rt-thread/bsp/nxp/imx/imx6ull-smart

1#更新在线软件包(主要涉及wifi软件包)
2source~/.env/env.sh
3pkgs--update
4#编译内核
5scons-j8

○ eMMC镜像制作

ART-Pi Smart 支持 eMMC,SD,tftp 等方式启动内核。我们以 eMMC 为例子说明。在 bsp 目录下,可以看到 ./emmc/boot.fat文件。这是一个预先制作的 fat 文件系统镜像,其中已经包含一些文件。我们创建 tmp 目录,将 boot.fat 临时本地挂载到 tmp 目录下,使用tree命令可以看到如下的文件目录结构。

1.
2├──boot.fat
3├──image
4│├──genimage
5│├──genimage.cfg
6│├──images
7││└──art-pi.img
8│├──input
9││├──boot.fat
10││└──u-boot-dtb.imx
11│├──root
12│└──tmp
13│└──root
14└──tmp
15├──bin
16│└──ash
17├──etc
18│└──inittab
19├──kernel
20│├──rtthread.bin
21│├──rtthread.elf
22│├──rtthread.img
23│└──rtthread.imx
24├──root
25│└──bin
26│└──hello.elf
27└──sbin
28└──init

●tmp/kernel下是内核相关文件

●tmp/sbin/init和tmp/bin/ash用来开机启动ash

●tmp/root/bin是应用文件夹,可以放置一些自定义应用

每次更新内核/应用,可以参考以下脚本内容生成新的art-pi.img映像文件

1sudomount./boot.fat./tmp/
2sudorm-rftmp/kernel/*
3sudocp-r../rtthread.bintmp/kernel/
4sudocp-r../rtthread.elftmp/kernel/
5sudocp-r../rtthread.imgtmp/kernel/
6sudocp-r../rtthread.imxtmp/kernel/
7sudosync
8sudoumount./tmp
9sudocpboot.fatimage/input/
10cdimage
11mkdirroot
12rm-rftmp
13./genimage

art-pi.img位置在rt-thread/bsp/nxp/imx/imx6ull-smart/emmc/image/images目录下

○ 镜像烧写

1. 首先准备一台 Windows 测试电脑,下载 100ask_imx6ull 烧写工具(由百问网提供)

a. 工具下载地址:

https://github.com/100askTeam/gui_for_nxp_uuu/blob/master/100ask_imx6ull%E7%83%A7%E5%86%99%E5%B7%A5%E5%85%B7/100ask_imx6ull_flashing_tool.exe

b. 100ask_imx6ull 烧写工具需要到 GitHub 去下载,网络不稳定。如果出现无法访问或无法下载,请多刷新网页多尝试几次

2. 将用于烧录的 USB Type-C(上方口) 先连接到 Windows 测试电脑

3. 将另外一个 USB Type-C(下方口)也连接上 Windows 测试电脑,给开发板供电

4. 在测试电脑上,打开串口调试终端:115200 波特率、8位数据位、1位停止位、无奇偶校验、无流控

5. 先拔掉 ART-Pi Smart 开发板上的 SD 卡(必须先拔掉 SD 卡)

feea53ae-29e5-11ef-a655-92fbcf53809c.png

6. 配置 ART-Pi Smart 开发板进入到 USB 固件下载模式

操作方法:开发板上电之后,先按下 "BOOT 启动按键" 不松开,再按下 “RST 复位键”,即可切换到 USB 固件下载模式。

7.Windows 主机电脑上,打开烧录工具 100ask_imx6ull_flashing_tool.exe,查看烧录工具是否与ART-Pi Smart USB 连接成功

在烧写软件的专业版,烧写制作的镜像文件art-pi.img

ff1193ba-29e5-11ef-a655-92fbcf53809c.png

○运行系统和应用

在运行系统之前,还有一件必不可少的工作 —— 准备根文件系统镜像。根文件系统提供了应用程序运行的必要环境。前文提到,我们在 userapp 仓库已经构建好了根文件系统。在前面我们以 eMMC 为例介绍了内核烧录的方式。这里换一种方式,我们以 SD/TF 卡为例子介绍根文件系统。

首先准备一张SD/TF卡,在Linux下为其创建一个大于1GB的分区作为第一分区,在userapp/apps/build下使用sudo dd if=fat.img of=/dev/sdb1命令将根文件系统烧入SD/TF卡中(这里的sd*根据自己SD/TF卡所在位置来设置):

ff2e89ca-29e5-11ef-a655-92fbcf53809c.png

系统上电后我们进入 uboot 并将 bootcmd 修改如下。

1bootcmd=fatloadmmc1:10x80001000/kernel/rtthread.bin;dcacheflush;go0x80001000

将SD卡插入再重新启动开发板后使用mount sd01 /mnt 将SD卡挂载到处我们的mnt目录下,进入mnt目录即可看到我们刚刚用userapp制作好的文件系统。

ff494940-29e5-11ef-a655-92fbcf53809c.png

进入/mnt/bin目录下可以看到该目录下已经包含了一些可执行程序。以 hello 程序为例子,输入命令执行程序,将得到如下输出。

ff5aaa32-29e5-11ef-a655-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6858

    浏览量

    123480
  • 开发板
    +关注

    关注

    25

    文章

    5085

    浏览量

    97775
  • ART
    ART
    +关注

    关注

    0

    文章

    26

    浏览量

    10495
  • RT-Thread
    +关注

    关注

    31

    文章

    1299

    浏览量

    40253
收藏 人收藏

    评论

    相关推荐

    ART-Pi Smart开发板开箱及爱之初次体验

    ART-Pi Smart 开发板初次尝鲜,ART-Pi Smart开箱及初次体验内置应用.
    的头像 发表于 05-03 16:25 5073次阅读
    <b class='flag-5'>ART-Pi</b> <b class='flag-5'>Smart</b>开发板开箱及爱之初次体验

    ART Pi Smart基于RT-Thread Smart系统的LVGL移植

    ART-Pi Smart开发板为RT-Thread联合百问科技出品,使用的是 NXP 公司的 i.MX6ULL 处理器,具备单核 ARM Cortex-A7,最高运行频率可以达到 800MHz。
    的头像 发表于 11-29 14:29 1110次阅读
    <b class='flag-5'>ART</b> <b class='flag-5'>Pi</b> <b class='flag-5'>Smart</b>基于<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Smart</b>系统的LVGL移植

    基于ART-Pi Smart平台的设计方案推荐

    ,带 MMU 的 RISC-V 芯片等。rt-smart RT-Thread 操作系统的基础上启用独立、完整的进程方式,同时以混合微内核模式执行。本文在上一次分享的基础上,使用 FF
    发表于 03-24 16:56

    如何在Windows下搭建一种rt-smart开发环境

    1、Windows下搭建一种rt-smart开发环境安装 Env 环境Windows 下,从 RT-Thread 官网下载 Env 工具Env 用户手册(准备工具、使用方法)Env 工具集成了编译
    发表于 03-30 17:02

    Linux环境下对ART-Pi Smart进行固件烧录的方法

    根据 ART-Pi Smart 官方的资料,上电会启动 U-Boot, 但是我拿到这个板子上电就是 RT-Thread Smart。为了保持一致性,并且方便在 U-Boot 下对
    发表于 04-21 09:42

    基于RT-Thread操作系统衍生rt-smart实时操作系统简介

    ,例如 ARM Cortex-A 系列芯片,MIPS 芯片,带 MMU 的 RISC-V 芯片等。rt-smart RT-Thread 操作系统的基础上启用独立、完整的进程方式,同
    发表于 06-22 17:56

    基于Windows环境快速体验rt-smart相关资料介绍

    设置环境变量(基于 Windows)打开 Env 控制台终端窗口,然后切换到这个代码包根目录,运行 smart-env.bat 进行环境变量的设置,然后整体的 rt-smart 开发环境就可以使用了,具体操作如下所示:原作者:ART-P
    发表于 06-30 12:01

    ART Pi Smart基于RT-Thread Smart系统的LVGL移植简介

    1、基于RT-Thread Smart系统的LVGL移植我申请测试申请的高级功能的,由于是有限的(本来要求测试一个月,但是板子只有不到一个月)。的,特别是RT-Thread智能系统还学习,所以移植
    发表于 08-03 16:35

    RT-Thread Smart下怎样去使用NimBLE软件包呢

    本文主要介绍 NimBLE 软件包的 RT-Thread Smart 下的使用目前官方使用 ART-Pi-Smart 评估板运行 RT-Threa
    发表于 09-13 15:50

    RT-Thread Smart已正式上线

    rt-smart内核即可包含基本功能,同时也可定制裁剪。rt-smart用户态应用环境采用musl libc提供POSIX接口调用及C运行环境,延续 RT-Thread 原有的生态,使用scons
    的头像 发表于 11-29 10:31 2825次阅读

    RT-AK及Art-Pi简介

    -AK 的示例 Demo,基于 ART-PI 硬件平台和 Cifar10 数据集。 RT-AK: RT-Thread AI Toolkit,RT-Thread AI 套件。
    的头像 发表于 07-26 18:16 3662次阅读
    <b class='flag-5'>RT</b>-AK及<b class='flag-5'>Art-Pi</b>简介

    RT-Thread联合百问科技出品ART-Pi Smart开发板

    ART-Pi Smart 开发板是RT-Thread联合百问科技出品,用于学习和评估RT-Thread Smart微内核操作系统。 硬件配置
    的头像 发表于 11-16 14:32 2992次阅读

    RT-Thread Smart 上手指南

    RT-Thread Smart(简称rt-smart)是基于RT-Thread操作系统衍生的新分支,面向带MMU,中高端应用的芯片,例如ARM Cortex-A系列芯片,MIPS...
    发表于 01-25 20:09 13次下载
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Smart</b> 上手指南

    ART-PI Smart开发板介绍与开发环境的建立

    art-pi smartrt-thread公司推出的一款基于NXP公司imx6ull处理器的开发板,主要用来测试评估RT公司去年新发布的混合微内核操作系统
    的头像 发表于 05-13 09:45 1692次阅读

    RT-Thread全球技术大会:RT-Thread Smart更好的兼容Linux生态

    RT-Thread全球技术大会:RT-Thread Smart更好的兼容Linux生态             审核编辑:彭静
    的头像 发表于 05-27 14:31 1832次阅读
    <b class='flag-5'>RT-Thread</b>全球技术大会:<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Smart</b>更好的兼容Linux生态