Linux项目实战
GPIO LED Demo
目录:
gpio-led-demo/
├── Makefile
└── gpio_led_demo.c
交叉编译:
CROSS_COMPILE ?= riscv64-unknown-linux-gnu-
CC := $(CROSS_COMPILE)gcc
all:
$(CC) -O2 -Wall gpio_led_demo.c -o gpio_led_demo
clean:
rm -f gpio_led_demo
运行前通过设备树或 sysfs/gpiod 确认目标 GPIO 没有被其他驱动占用。
sysmon_daemon
目录:
sysmon-daemon/
├── Makefile
├── main.c
├── sysmon.conf
└── S99sysmon
配置示例:
interval_sec = 5
log_path = /var/log/sysmon.log
守护进程可周期记录:
CPU负载
内存
温度
磁盘
网络
关键进程
集成到 Tina Package
openwrt/package/utils/<package>/
├── Makefile
└── src/
Package Makefile 中定义源码、依赖、编译和安装步骤,然后:
m menuconfig
m
pack
开机自启可使用 init 脚本或 procd 服务。应确保日志轮转和异常退出重启策略不会造成 Flash 频繁写入。