栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

GUI 图片显示(SDL 多媒体开发库)——基于 rt-smart 微内核操作系统

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GUI 图片显示(SDL 多媒体开发库)——基于 rt-smart 微内核操作系统

目录

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 接口,主要用于打印系统的控制台输入和输出

波特率数据位停止位校验位流控
11520081

网络接口:通过路由器和网线(或者通过板载的 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

阅读原文

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/705745.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号