方案使用8M的spi flash,去掉Uboot和kernel剩余大概在6M;方案里面不需要网络模块,生成release版本的文件系统,再裁剪掉网络部分以及一些不需要,文件系统在25M左右,生成的ubifs_ipnc.bin文件有15M,还是很大,裁剪后的filesys的大小情况如下:
0 ../target/filesys/linuxrc
4.0K ../target/filesys/boot
4.0K ../target/filesys/env.sh
4.0K ../target/filesys/proc
4.0K ../target/filesys/sys
4.0K ../target/filesys/tmp
8.0K ../target/filesys/dev
44K ../target/filesys/media
64K ../target/filesys/var
68K ../target/filesys/mnt
292K ../target/filesys/home
500K ../target/filesys/etc
664K ../target/filesys/bin
1.3M ../target/filesys/sbin
3.3M ../target/filesys/lib
6.4M ../target/filesys/usr
12M ../target/filesys/opt
最大的opt文件夹情况:
4.0K ../target/filesys/opt/ipnc/autorun_capturedisplay.sh
4.0K ../target/filesys/opt/ipnc/autorun_ipnc.sh
4.0K ../target/filesys/opt/ipnc/init.sh
4.0K ../target/filesys/opt/ipnc/ubifs_sync
4.0K ../target/filesys/opt/ipnc/upload
8.0K ../target/filesys/opt/ipnc/arm_loading
8.0K ../target/filesys/opt/ipnc/devmem
12K ../target/filesys/opt/ipnc/sbull.ko
32K ../target/filesys/opt/ipnc/scripts
40K ../target/filesys/opt/ipnc/dcc
40K ../target/filesys/opt/ipnc/g_file_storage.ko
48K ../target/filesys/opt/ipnc/reboot_ipnc
56K ../target/filesys/opt/ipnc/smart_mount
60K ../target/filesys/opt/ipnc/linux_prcm_ipcam
60K ../target/filesys/opt/ipnc/rs485_test
72K ../target/filesys/opt/ipnc/filesys_update
108K ../target/filesys/opt/ipnc/boot_proc
1.2M ../target/filesys/opt/ipnc/Appro_avi_save
1.2M ../target/filesys/opt/ipnc/kermod
1.3M ../target/filesys/opt/ipnc/bin
7.4M ../target/filesys/opt/ipnc/firmware
opt下firmware最大,采取的是low power模式,firmware只有ipnc_rdk_fw_m3video.xem3,ipnc_rdk_fw_m3vpss.xem3,这两个7.4M的文件还能减少吗,或者还可以裁哪些
Chris Meng:
你好,
你有尝试用strip470么?
http://processors.wiki.ti.com/index.php/EZSDK_Reducing_Size_Of_Media_Controller_Firmware
Dan Intel:
回复 Chris Meng:
Hi Chris,
我上个帖子得到的firmware大小是release版本的,Makefile中有执行
$(STRIP470) $(TARGET_FS)/opt/ipnc/firmware/ipnc_rdk_fw_m3video.xem3
执行的是ti_tools/cgt470_5_1_3/bin/armstrip程序,应该和strip470执行的功能相同吧,同事帮我利用CCS下的strip470执行了结果没变化。
搜索strip470的时候我发现论坛中有相似的帖子,我找到了这里:http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/198118.aspx
我看到题主所说的8168的firmware中vpss和video才4M左右,而我的是
2.7M ipnc_rdk_fw_m3video.xem3
4.7M ipnc_rdk_fw_m3vpss.xem3
还有没有减小的可能?
Chris Meng:
回复 Dan Intel:
你好,
可执行文件大小和代码有关系的,我认为直接比较DM8168的没有太大的意义。
请问你的linux系统是否支持压缩,例如tar?如果支持,你可以把xem3问先压缩一下。这样文件系统就变小了。在系统起来后加载前将xem3解压,下载。
Dan Intel:
回复 Chris Meng:
Hi Chris,
嗯,明白!
我看了下文件系统bin里面有链接到busybox的tar,应该是支持吧,您的意思是在load_xx脚本里面使用之前解压?我尝试一下,
先谢谢你的回复!
Dan Intel:
回复 Chris Meng:
Hi Chris,
按照您说的我已经把firmware控制在3M以内,加上裁剪的其他文件,得到的filesys在10M左右,本以为会得到6M左右的bin;
但是问题又来了,make ubifs得到的ubifs_ipnc.bin比filesys文件大小还大,比如10M的情况下,ubifs_ipnc.bin得到的是11M,此外我参考mkfs.ubifs的参数,添加-x zlib之后,还是没什么变化。
因为第一次接触到ubifs还不是很熟悉,不知您能否给我些建议!
THX