系统相关
首页 > 系统相关> > linux – 在uBoot提示符下增加一个值?

linux – 在uBoot提示符下增加一个值?

作者:互联网

我希望找到一种方法来从uBoots命令提示符增加RAM中的值.

简而言之,我的设备上的地址0xc4000000是一个临时变量,我需要递增

想法?

   -can I put the value into an environment variable and inc it there?
   -is there a trick I can use to increment it?

解决方法:

您可以使用U-Boot命令setexpr,它将目标,变量1,操作和变量2.

U-Boot> setexpr count ${count} + 1

但是在某些旧版本的U-Boot中,不包含此命令.
如果是这种情况,您可能需要重新编译更新的U-Boot.

如果你不能这样做并且你仍然是绝望的,你可以编写嵌套的“if”语句来将你的数字增加为一个字符串.如果您需要将其存储以供日后使用,请定期将其保存到非易失性存储(NAND或EEPROM)中.如果你这样做,那么以HEX计算,你必须将你的字符串与“f”,“1f”,“2f”等进行比较,具体取决于你需要计算多高.

这是一个可行的基本代码:

setenv ones "."
setenv tens "."
setenv hundreds "."
setenv thousands "."
setenv full ".++++++++++"
setenv doCountOnes 'if test ${ones} = ${full}; then setenv ones ".";setenv tens ${tens}+ ; else setenv ones ${ones}+; fi'
setenv doCountTens 'if test ${tens} = ${full}; then setenv tens ".";setenv hundreds ${hundreds}+ ; fi'
setenv doCountHundreds 'if test ${hundreds} = ${full}; then setenv hundreds ".";setenv thousands ${thousands}+ ; fi'
setenv printCount 'echo;echo **********************************************;echo ${thousands} Thousand ${hundreds} Hundred ${tens} Ten and ${ones};echo **********************************************'
setenv doCount 'run doCountOnes; run doCountTens; run doCountHundreds'
setenv mainLoop 'run yourTestHere; run doCount; run printCount'

要运行此脚本,请键入:

run mainLoop

标签:bootloader,u-boot,linux
来源: https://codeday.me/bug/20190725/1532875.html