如何解决在UBOOT中通过串口输入长度较大的环境变量的问题

简介:      在uboot中,需要很多的环境变量,比如内核的启动参数、网络IP地址、启动设备块选择、延时设置等,当有些变量较长,串口输入时,超过一定长度时就会以“O”出现,“O”是黑色的实心圈,当你save以后再printenv后,你会发现你想保存的环境变量只有一部分、不全,没有达到效果,那怎么解决长度达的环境变量呢?笔者通过实践提供如下两种解决办法:     改变串口接收BUFFER的大小。

     在uboot中,需要很多的环境变量,比如内核的启动参数、网络IP地址、启动设备块选择、延时设置等,当有些变量较长,串口输入时,超过一定长度时就会以“O”出现,“O”是黑色的实心圈,当你save以后再printenv后,你会发现你想保存的环境变量只有一部分、不全,没有达到效果,那怎么解决长度达的环境变量呢?笔者通过实践提供如下两种解决办法:

    <一> 改变串口接收BUFFER的大小。如果你有uboot的源代码,编译比较方便的话,这种方法是彻底方便的。在common/main.c文件中,有一个宏叫MAX_CMDBUF_SIZE,也就是串口接收buffer的大小,在uboot工程中,默认的大小为256,将此宏的值改大即可,比如调整成1024,这样就能扩大通过串口输入环境变量的长度。

    <二>使用中间变量。如果没有uboot工程源码,又必须保存一个超长的环境变量的话,那就可以通过中间变量来完成。比如有一个环境变量的为BOOTARGS=ABCDEFGHIJKLMNOPQRSTUVWXYZ,但是一次又无法保存这么长的变量,我们就可以把BOOTARGS分成两截、或者多截来完成。先设置中间变量TMP=OPQRSTUVWXYZ,再在串口中输入setenv BOOTARGS BCDEFGHIJKLMN$TMP,这样保存以后,BOOTARGS的环境变量就会拼结起来形成完整的变量。

目录
相关文章
|
Android开发 芯片
ESP8266-mini-d1+点灯科技——制作手机远程MP3播放器
ESP8266-mini-d1+点灯科技——制作手机远程MP3播放器
641 0
ESP8266-mini-d1+点灯科技——制作手机远程MP3播放器
|
搜索推荐 算法 数据挖掘
十个最全网站营销方法案例分析
本文探讨了10种网站营销策略:SEO优化提升搜索引擎排名;内容营销建立品牌信任;社交媒体营销扩大影响力;搜索引擎广告吸引目标用户;电子邮件营销促进销售;网站设计优化提升用户体验;移动端优化适应移动设备;数据分析驱动策略优化;视频营销吸引关注;合作伙伴营销扩展品牌覆盖。AokSend提供高效验证码发信服务,助力企业营销。选择合适策略,持续优化,以实现最佳营销效果。
|
12月前
|
JavaScript 前端开发 API
vue获取图片的blob传给django后端
vue获取图片的blob传给django后端
231 4
|
11月前
|
存储 安全 算法
SSL和TLS部署实践
【10月更文挑战第28天】在TLS中,服务器的加密身份和强大私钥是安全基础,2048位RSA密钥足以满足大多数需求。保护私钥需在可信环境生成、加密存储、使用HSM、及时撤销旧证书、每年更新证书。确保证书覆盖所有域名,选择可靠CA,使用SHA256签名算法,配置完整证书链,禁用不安全加密套件,启用前向保密,使用会话重用机制,启用OCSP Stapling,加密整个网站,删除混合内容,安全设置Cookie,配置HSTS和CSP。
786 1
|
12月前
使用OpenDaylight界面下发流表(下)
使用OpenDaylight界面下发流表(下)
392 0
|
Ubuntu Shell 索引
在Ubuntu 12.10上安装和使用tmux的方法
在Ubuntu 12.10上安装和使用tmux的方法
240 0
|
Linux Shell 持续交付
Linux下vim的配置
本文介绍了如何对vim进行基础配置,如行号显示、缩进设置等,并推荐了一种自动化部署方案,通过链接下载预配置的vim环境脚本,简化了配置过程,提升开发效率。
319 3
Linux下vim的配置
|
编解码 调度 Android开发
Android音频框架之一 详解audioPolicy流程及HAL驱动加载与配置
Android音频框架之一 详解audioPolicy流程及HAL驱动加载与配置
1603 0
|
网络协议 安全 数据安全/隐私保护
交换机访问控制列表(ACL)详解
交换机访问控制列表(ACL)详解
1157 0
|
设计模式 Java 机器人
学习笔记之二《SpringBoot3-核心特性》
学习笔记之二《SpringBoot3-核心特性》
350 0