我希望找到一种从uBoots命令提示符增加RAM值的方法。
简而言之,我的设备上的地址0xc4000000是一个临时变量,需要递增
想法?
答案 0 :(得分:8)
您可以使用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