跳到主要内容

Linux 开发示例

备注

本页软件流程沿用前面整理的 I3399 / X3399 软件文档模板。X3399V4 实际源码包名、镜像名、分区文件和工具版本,以当前 SDK 和发布资料为准。

本页整理 Linux 系统下常用调试命令和应用开发示例,删除其他产品介绍。

播放 MP3​

挂载存放音频文件的 TF 卡或 U 盘后,可使用播放器播放:

mkdir /sdcard
mount /dev/mmcblk1p1 /sdcard
cd /sdcard
./mplayer *.mp3

后台播放:

./mplayer *.mp3 &

中止程序运行​

前台程序可通过 Ctrl+C 退出。后台程序可通过 ps 查找 PID 后使用 kill 结束:

ps
kill <PID>

屏幕抓图​

gsnap test_pic.jpg /dev/fb0

执行后会在当前目录生成 framebuffer 截图文件。

挂载 TF 卡​

mkdir /sdcard
mount /dev/mmcblk1p1 /sdcard
ls /sdcard

挂载 U 盘​

mkdir /udisk
mount /dev/sda1 /udisk
ls /udisk

设备节点可能因分区不同而变化,可通过 dmesg 或 ls /dev/sd* 确认。

保存系统时钟​

date
hwclock -w
hwclock -r

设置开机自启动​

常见方式是在启动脚本中加入应用程序启动命令,例如:

vi /etc/init.d/S99app
chmod +x /etc/init.d/S99app

也可按 systemd、busybox init 或项目实际文件系统方式配置。

查看内存信息​

cat /proc/meminfo
free -m

Hello World​

#include <stdio.h>

int main(void)
{
printf("Hello World!\\n");
return 0;
}

交叉编译示例:

aarch64-Linux-gnu-gcc hello.c -o hello

拷贝到开发板后运行:

chmod +x hello
./hello

多线程 / 多进程 / Makefile​

Linux 应用开发可按标准 POSIX 方式编写多线程和多进程程序。建议为工程编写 Makefile,并将交叉编译器、库路径、头文件路径统一配置,便于后续维护。