u-boot中filesize环境变量
U-Boot中的環境命令可以使用$(filesize)來確定剛下載(傳輸)得到的文件大小.
因為使用類似tftp命令傳輸文件后,會自動更新filesize環境變量。
如:setenv updaterootfs nand write.yaffs 30000000 200000 $(filesize)
這時如果printenv,會發現updaterootfs=nand write.yaffs 30000000 200000 6365D0?
這里的6365D0為setenv語句時環境變量filesize的大小.
?
需要引起注意的是:當執行setenv時,獲取filesize的值6365D0?,而不是每次間接獲取獲取filesize的值
所以導致 盡管每次tftp下載文件后(假如大小發生變話),updaterootfs=nand write.yaffs 30000000 200000 6365D0 updaterootfs中的大小依然是6365D0,?不會隨每次傳輸文件后而更改。
所以如果run updaterootfs,則這里的6365D0這個值就不是我們想要的了,我們想要的是當前傳輸的文件大小。
正確的做法是使用單引號:setenv updaterootfs nand write.yaffs 30000000 200000 '$(filesize)'
這時printenv,則會顯示?updaterootfs=nand write.yaffs?30000000?200000?$(filesize)?
?
原文:https://blog.csdn.net/davion_zhang/article/details/48518559
總結
以上是生活随笔為你收集整理的u-boot中filesize环境变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言中.和->区别
- 下一篇: make menuconfig选择m编译