热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

全志uboot阶段修改系统配置使用文档介绍

全志平台资料下载:uboot阶段修改系统配置使用文档介绍,需要相关全志技术资料,可到一牛网论坛目前在uboot中没有提供修改sys_co

全志平台资料下载: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;


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
author-avatar
乐天派jiao2502901101
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有