在Linux系统架构下,如何实现嵌入式Linux软件参数的数据保存?粤嵌嵌入式专家在这里做了详尽的分析:
大多数软件开发都会涉及到数据参数的保存与读取,小至运行的单片机的软件,大至操作系统级别的软件(如linux,windows,mac),均会有专门的子程序或者模块进行参数的保存和读取。不同的平台下开发、参数的保存与读取会存在一定的差异化,例如,单片机下,保存参数是写入eeprom或者rom,windows和linux下的软件则会以配置文件的形式保存参数。下面以我以前在工作中所遇到情况,重点写写嵌入式linux软件是如何进行的数据参数的保存。
一、以二进制数据保存参数
以二进制形式保存参数是很是常见的一种方案,也是很多项目组用于保存参数的一种方案。以我们现有的软件平台中的方案为例吧。
我们的软件平台基于嵌入式linux, flash芯片容量是16M,flash芯片被分为了五个区,如下所示,其中parameter分区用于数据参数的存储。
|uboot|kernel|rootfs|app|parameter|
-----------------------------------------------------------------------------
uboot分区对应设备文件/dev/mtdblock0
kernel分区对应设备文件/dev/mtdblock1
rootfs分区对应设备文件/dev/mtdblock2
app分区对应设备文件/dev/mtdblock3
parameter分区对应设备文件/dev/mtdblock4<