热门标签 | 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;


推荐阅读
  • 深入解析 RuntimeClass 及多容器运行时应用
    本文旨在探讨RuntimeClass的起源、功能及其在多容器运行时环境中的实际应用。通过详细的案例分析,帮助读者理解如何在Kubernetes集群中高效管理不同类型的容器运行时。 ... [详细]
  • 本文详细介绍了Oracle RMAN中的增量备份机制,重点解析了差异增量和累积增量备份的概念及其在不同Oracle版本中的实现。通过对比两种备份方式的特点,帮助读者选择合适的备份策略。 ... [详细]
  • SpringBoot底层注解用法及原理
    2.1、组件添加1、Configuration基本使用Full模式与Lite模式示例最佳实战配置类组件之间无依赖关系用Lite模式加速容器启动过程,减少判断配置类组 ... [详细]
  • iOS 小组件开发指南
    本文详细介绍了iOS小部件(Widget)的开发流程,从环境搭建、证书配置到业务逻辑实现,提供了一系列实用的技术指导与代码示例。 ... [详细]
  • 深入解析mt_allocator内存分配器(二):多线程与单线程场景下的实现
    本文详细介绍了mt_allocator内存分配器在多线程和单线程环境下的实现机制。该分配器以2的幂次方字节为单位分配内存,支持灵活的配置和高效的性能。文章分为内存池特性描述、内存池实现、单线程内存池实现、内存池策略类实现及多线程内存池实现等部分,深入探讨了内存池的初始化、内存分配与回收的具体实现。 ... [详细]
  • 本文详细解析 Skynet 的启动流程,包括配置文件的读取、环境变量的设置、主要线程的启动(如 timer、socket、monitor 和 worker 线程),以及消息队列的实现机制。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • 深入解析Nacos服务自动注册机制
    本文将探讨Nacos服务自动注册的具体实现方法,特别是如何通过Spring事件机制完成服务注册。通过对Nacos源码的详细分析,帮助读者理解其背后的原理。 ... [详细]
  • index.js全部js兼容性处理。js内引入babelpolyfill全部js兼容性处理。babelpolyfillimportbabelpolyfill;constadd ... [详细]
  • 本文介绍了进程的基本概念及其在操作系统中的重要性,探讨了进程与程序的区别,以及如何通过多进程实现并发和并行。文章还详细讲解了Python中的multiprocessing模块,包括Process类的使用方法、进程间的同步与异步调用、阻塞与非阻塞操作,并通过实例演示了进程池的应用。 ... [详细]
  • 解决远程桌面连接时的身份验证错误问题
    本文介绍了如何解决在尝试远程访问服务器时遇到的身份验证错误,特别是当系统提示‘要求的函数不受支持’时的具体解决步骤。通过调整Windows注册表设置,您可以轻松解决这一常见问题。 ... [详细]
  • 本文详细介绍了如何在ReactJS项目中集成Onsen-UI的ActionSheetButton组件,并通过具体示例展示了其使用方法及效果。 ... [详细]
  • 一键LNMP配置SSL证书实现全站HTTPS访问
    许多网站搭建者选择了便捷的一键LNMP安装包,但在网站部署完成后,配置SSL证书以支持HTTPS访问是一个不可或缺的步骤。本文将详细介绍如何通过简单的步骤完成这一过程。 ... [详细]
  • 基于51单片机的多项目设计实现与优化
    本文探讨了基于51单片机的多个项目的设计与实现,包括PID控制算法的开关电源设计、八音电子琴仿真设计、智能抽奖系统控制设计及停车场车位管理系统设计。每个项目均采用先进的控制技术和算法,旨在提升系统的效率、稳定性和用户体验。 ... [详细]
  • 本文探讨了在Go语言中处理切片并发修改时如何有效避免竞争条件的方法。 ... [详细]
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社区 版权所有