簡體   English   中英

在uBoot提示下增加一個值?

[英]increment a value at uBoot prompt?

我希望找到一種方法來從uBoots命令提示符增加RAM中的值。

簡而言之,我的設備上的地址0xc4000000是一個臨時變量,我需要遞增

想法?

  • 我可以將值放入環境變量並將其包含在那里嗎?
  • 有什么技巧可以用來增加它嗎?

您可以使用U-Boot命令
,它取目的地,變量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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM