全志平台资料下载:uboot阶段修改系统配置使用文档介绍,需要相关全志技术资料,可到一牛网论坛
目前在 uboot 中没有提供修改 sys_config.fex 文件的接口,在平时的开发过程中,有时候只需要修改某一个配置,但是往往是需要在自己电脑修改完之后重新打包下载,浪费了很多时间,现在在 uboot 中提供了两个命令可供用户调用的接口,用户只需输入相应的命令,即可对 sys_config.fex 中的信息进行修改并且重新下载到 flash 中。
适用范围
不区分平台,可以在公司芯片的任一平台使用
实现的功能
通过在 uboot shell 输入命令:setcfg mainkey 进行相关主键次键的设置,savecfg 将会对之前修改的内容进行保存。
在 uboot 阶段进入 debug 模式,即通过在 uboot 特定的操作,让其打印切换到 card0,以及将系统的打印等级 loglevel = 8 。
2. 修改系统配置
2.1.修改配置的命令介绍
目前快速修改 sys_config.fex 的命令有:
setcfg mainkey subkey or setcfg mainkey
将修改完之后的 sys_config.fex 进行保存的命令有:savecfg
注:setcfg 只能在当前系统有效,如果没有执行 savecfg,下次启动系统,还是按照原先的系统配置运行。savecfg 这条命令,只有在有修改系统配置的前提下,执行才有效,没有修改的前提,是空操作。
2.2. 用户按键说明
Crtl+c :假设在修改的中途按下,直接退出 sys_config 修改命令,表示当前修改的主键不会保存进内存,但是之前操作的修改主键就已经被保存进当前环境。
Enter : 当没有用户键入值时,默认使用当前值,即跳过不修改;另外也会对用户键入的值进行合法性检测。当需要输入字母时,除了字母,其他一概不接受修改,并且会提醒用户使用合法性键值。
当输入阿拉伯数字的时候,支持十六进制跟十进制输入,十六进制输入的时候有特定格式:0xXXXX,十进制就没有这个要求。
2.3. 2.3. 修改命令示例 修改命令示例
修改系统配置信息,支持修改一下内容:
1111:gpio gpio gpio gpio 配置;
Sys_config.fex 中 gpio 口的表现形式示例:
twi_sda &#61; port:PH15<2>
示例&#xff1a;
sunxi#setcfg twi_para twi_sda
--twi_para-- //主键名
twi_sda : //次键名
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
PORT : H?a //表示使用 PH gpio&#xff0c;用户修改为 a 端口&#xff0c;字母输入大小写都支持
PORT_NUM :15?11 //端口号由 15 改为 11
MUL_SEL :2?2 //选择功能端口
PULL :-1?1 //default 默认为-1&#xff0c;需要修改的时候可以键入
DRV_LEVEL :-1?1 //驱动能力
DATA :-1?1 //输出数据端口
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
2&#xff1a;字符串配置&#xff1b;
Sys_config.fex 中字符串的配置示例&#xff1a;
pa_bias &#61; "axp809:dcdc1:3000"
示例&#xff1a;
sunxi#setcfg gpio_bias pa_bias //输入命令
--gpio_bias-- //主键名
pa_bias : axp809:dcdc1:3000 //次键名以及次键名的内容
?axp806:dcdc2:3000 //用户输入的字符串
注&#xff1a;用户输入的字符串有以下约定&#xff0c;
1&#xff1a;用户输出字符串的长度不可大于原来字符串的长度((lenth>>2)<<2&#43;1)*4&#xff08;四个字节对齐&#xff09;当超过原来字符串长度的时候&#xff0c;将不会修改原来字符串的内容。
3333&#xff1a;数字配置&#xff1b;
Sys_config.fex 中数值的配置示例&#xff1a;
logical_start &#61; 40960
示例&#xff1a;
sunxi#setcfg card_boot logical_start //输入命令
--card_boot-- //主键名
logical_start : 40960?40960 //次键名&#xff0c;当前值以及用户输入要修改的值
3. 保存系统配置
在串口输入端数据 savecfg 之后&#xff0c;假设用户之前有对配置进行修改&#xff0c;那么就会将配置信息重新下载进 flash 中。
sunxi#savecfg
uboot size &#61; 0xb4000
storage type &#61; 0
uboot:physical version: 0 0 20140325 1840
NAND_PIORequest, nand_index: 0x0
Reg 0x06000848: 0x22222222
Reg 0x0600084c: 0x22222222
Reg 0x06000850: 0x7222
Reg 0x06000864: 0x5140
Reg 0x06000868: 0x14
Reg 0x06000b08: 0xa
nand : get id_number_ctl fail, 1
uboot:nand info: eb94dead ffffff74 318c 30708 4
burn uboot normal mode!
pages_per_block: 0x100
pages_per_copy: 0x2d
uboot 2
fill uboot block with dummy data
uboot 3
fill uboot block with dummy data
uboot 4
fill uboot block with dummy data
uboot 5
fill uboot block with dummy data
uboot 6
fill uboot block with dummy data
verify uboot blk 2
verify uboot blk 3
verify uboot blk 4
verify uboot blk 5
verify uboot blk 6
uboot nand_request_dma: current platform do not support general dma!
资料下载&#xff1a;