1. 环境变量基础概念解析
在嵌入式Linux开发中,环境变量是一个绕不开的核心概念。简单来说,环境变量就是操作系统或应用程序运行时需要用到的一些动态参数。它们就像是我们生活中的"习惯设置"——比如你习惯把茶杯放在办公桌右上角,这个位置信息就相当于一个环境变量。
在飞凌嵌入式ElfBoard这类开发板上,环境变量尤为重要。它们通常存储在板子的NAND Flash或eMMC中,主要分为两大类:
-
系统级环境变量:影响整个系统行为,比如:
PATH:指定可执行程序的搜索路径LD_LIBRARY_PATH:动态链接库的搜索路径TERM:终端类型定义
-
应用级环境变量:特定应用程序使用的配置参数,比如:
QT_QPA_PLATFORM:Qt应用的显示平台设置FB_MULTI_BUFFER:帧缓冲的多缓冲配置
提示:在嵌入式系统中,环境变量通常存储在
/etc/profile或/etc/environment文件中,但更常见的做法是通过U-Boot来管理这些变量。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. ElfBoard环境变量管理机制
飞凌嵌入式的ElfBoard开发板采用U-Boot作为引导加载程序,这是嵌入式Linux系统的标配。U-Boot自带一套完整的环境变量管理系统,其工作流程是这样的:
- 存储位置:环境变量默认保存在Flash的特定分区(通常是
env分区) - 加载时机:系统启动时,U-Boot会将这些变量加载到内存
- 传递机制:启动内核时,U-Boot会把环境变量通过内核命令行参数传递给Linux系统
在ElfBoard上查看当前环境变量的方法有两种:
bash复制# 方法1:在U-Boot命令行下
printenv
# 方法2:在Linux系统下
fw_printenv
典型的环境变量示例:
code复制baudrate=115200
bootcmd=run mmcboot
bootdelay=3
ethaddr=00:40:5c:26:0a:5b
3. 使用setenv命令修改环境变量
setenv是U-Boot中用于设置环境变量的核心命令,其基本语法为:
bash复制se
