目录
SDL 跨平台多媒体开发库简介
快速体验 rt-smart:GUI SDL
SDL GUI 开发环境搭建及演示
硬件环境搭建
软件环境搭建
1、下载 AR-Pi Smart SDK
2、下载和安装工具链
3、Linux 开发环境准备
4、设置环境变量
5.编译用户 APP:sdl
用户 APP 示例:SDL Demo 演示
SDL 跨平台多媒体开发库简介
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用 C 语言写成。SDL 提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS 等)的应用软件。目前, SDL 多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。
在 ART-Pi Smart SDK 里面提供了一个 gnu-app 示例:SDL GUI 示例,即移植 SDL 官方软件代码(2.0.14 版本)交叉编译成目标系统平台可以运行的库或二进制文件,作为 rt-smart 的一个用户 APP,并在 ART-Pi Smart 开发板上运行。
用户也可以根据文档下面的章节 “ 用户 APP(gnu-apps): SDL GUI 开发环境搭建 ” 自行尝试编译此 gnu-app 示例中所用的固件。
快速体验 rt-smart:GUI SDL
1.在运行 rt-smart 用户应用程序之前,需要先把 rt-smart 内核在开发板上跑起来。
由于开发板的 emmc 已经固化了一版 rt-smart 内核固件,并且开发板上电后,会自动优先启动 rt-smart 内核,故只需要给开发板上电即可(通过将 USB-TypeC 连接到电脑 USB 给开发板供电)。ART-Pi Smart 开发板会通过 u-boot 自动加载 emmc 中的 rt-smart 内核固件文件(/kernel/rtthread.bin)到内存去运行。
2.运行 sdl_test.elf 用户 APP。一般情况下,在 ART-Pi Smart 的 emmc 里面已经存放了 sdl_test.elf 固件文件和 test.bmp 图片,故可以直接运行 sdl_test.elf 用户APP。如果在 emmc 里面未找到提前编译好的 sdl_test.elf 固件的话,用户也可自己编译生成 sdl_test.elf 文件,和要测试的图片一起存放到 sd 卡,并从 sd 卡上运行此 sdl gui 示例。
# 进入到用户 APP 应用程序目录:/root/bin/ msh />cd root/bin # ls 查看目录下,是否存放 msh /root/bin>ls sdl_test.elf 1046388 test.bmp 662730 # 运行用户 APP: sdl_test.elf msh /root/bin>sdl_test.elf -p test.bmp
3.观察 4.3 寸 LCD 是否正常显示 river.bmp 图片,如下图所示。
SDL GUI 开发环境搭建及演示
SDL GUI 示例中的用户 APP 源码不是采用 scons 编译方式,而是采用 automake 编译方式。故仅适用于 Linux 开发环境。
需要了解 automake 和 Makefile 的基本语法及编译过程。
硬件环境搭建
ART-Pi Smart 开发板是 RT-Thread 联合百问科技出品,用于学习和评估 RT-Thread Smart 微内核操作系统
电源输入:5V,500 mA,通过开发板 USB-TypeC(下面)供电。如下图所示,通过测试电脑的 USB 直接对开发板供电
串口连接:下方的 USB-TypeC 接口,既是用作电源供电,同时也是 USB 转 UART 接口,主要用于打印系统的控制台输入和输出
| 波特率 | 数据位 | 停止位 | 校验位 | 流控 |
|---|---|---|---|---|
| 115200 | 8 | 1 | 无 | 无 |
网络接口:通过路由器和网线(或者通过板载的 rw007 wi-fi 模块),将开发板和测试电脑连接在同一个局域网内
开发板未上电之前,先将 4.3 寸 LCD 显示器的 50 Pin FPC 排线连接到 ART-Pi Smart 开发板背面的 LCD 硬件插槽
软件环境搭建
1、下载 AR-Pi Smart SDK
ART-Pi-Smart SDK 仓库是 RT-Thread 团队对 ART-Pi Smart 开发板所作的支持包,用于学习和评估 RT-Thread Smart 微内核操作系统,让用户可以更简单方便地开发自己的应用程序。
ART-Pi smart 开发板的 SDK 仓库,主要包括 RT-Thread Smart 的源码,BSP 驱动,应用程序 demo 等。
SDK 下载方法:通过 Git 下载 ART-Pi Smart SDK 包:
git clone https://gitee.com/createshare/ART-Pi-smart.git
2、下载和安装工具链
rt-smart 采用的工具链为:arm-linux-musleabi 工具链
需要用户自行通过下面网址下载 Linux 版本或 Windows 版本的工具链
链接: 百度网盘 请输入提取码 提取码: ndxq
将下载的工具链,解压到指定的路径 tools/gnu_gcc 下面
3、Linux 开发环境准备
安装一些必要的软件环境:
$ sudo apt update $ sudo apt install git bzip2 wget patch $ sudo apt install gcc $ sudo apt install g++ $ sudo apt install libncurses-dev $ sudo apt install libpng-dev $ sudo apt install libncurses5 $ sudo apt install automake $ sudo apt install make
4、设置环境变量
# 进入到 rt-smart 目录
$ cd rt-smart
# 设置对应的环境变量(rt-smart 工具链、编译器等)
$ source smart-env.sh
5.编译用户 APP:sdl
sdl 软件库采用 automake 作为构建工具。automake 基本原理为:将 Makefile.am 中定义的结构建立 Makefile.in,然后 configure 脚本将生成的 Makefile.in 文件转换为 Makefile。
# 进入到 rt-smart/userapps/gnu-apps/sdl 目录 $ cd rt-smart/userapps/gnu-apps/sdl # 编译 sdl 软件库 $ ./build_sdl.sh # 编译测试代码 $ ./build_test.sh
编译成功之后,就可以在 rt-smart/userapps/root/bin/ 路径下,找到编译好的 sd_test.elf 用户 APP 固件文件和用于测试的图片 test.bmp。
然后复制 sd_test.elf 和 test.bmp(480 x 272)文件到 sd 卡,并插到 ART-Pi Smart 开板板的 sd 卡槽。
用户 APP 示例:SDL Demo 演示
在运行 rt-smart 用户应用程序之前,需要先把 rt-smart 内核在开发板上跑起来。由于开发板上的 emmc 已经固化了一版 rt-smart 内核固件,并且开发板上电后,会自动优先启动 rt-smart 内核,故只需要给开发板上电即可。
# 进入到用户 APP 应用程序目录:/root/bin/ msh />cd root/bin # 运行用户 APP: sdl_test.elf msh /root/bin>sdl_test.elf -p bear.bmp
点击阅读原文即可下载 ART-Pi Smart SDK
阅读原文



