- 论坛徽章:
- 0
|
本帖最后由 crifan 于 2011-06-03 21:00 编辑
345/131068 bytes = 当前所用大小/分配给环境变量的总大小
其中,分配给环境变量的总大小,对应着你开发板的头文件中的那个宏的定义,
uboot-1.1.6中,是类似于这样的:
#define CFG_ENV_OFFSET 0x40000
新版的uboot,比如uboot-2011.03中,变量名改了,是类似这样的:
#define CONFIG_ENV_SIZE 0x1000
此宏的大小,一般都是对应着flash的一个sector的大小:
nand flash:即block大小,常见为128K/256K/512K。。。
nor flash:常见为16K/32K/....
有时间的话,最好多看看uboot源码,从开发板的头文件看起,每个宏,都搜索一下在哪里被引用的,这样代码看的多了,自然会逐步深入了解。
对应代码:
1.1.6:- int do_printenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
- {
- 。。。
- printf("\nEnvironment size: %d/%d bytes\n", i, ENV_SIZE);
- return 0;
- ...
- }
复制代码 2011.03:- int do_env_print (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
- {
- ....
- printf("\nEnvironment size: %d/%ld bytes\n",
- rcode, (ulong)ENV_SIZE);
- 。。。
- }
复制代码 |
|