目录
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 图片,如下图所示。