我在做移植uclinux到开发板上,不固化的话都uclinux系统都跑起来了.但是固化的时候遇到了问题. 板子环境:FPGA(2c35) EPCS16 cfi_flash 1M*16bit sdram 32M*16bit JTAG AS Quartus II 8.0 Nios II EDS 8.0 Ubuntu8.04 现在的情况是nios2系统已经固化好了(POF文件),是固化到EPCS16,而且验证在Nios II 8.0 command shell中输入:nios2-download -g zImage 系统可以跑起来. 但是固化zImage时就出现问题了,生成的zImage文件1.2M. 固化方式是,先把zImage转换为.flash文件,如下面的语句 elf2flash --input=zImage --output=uclinux.flash --base=0x8200000 --reset=0x8408300 --end=0x83fffff --boot="D:\altera\80\ip\nios2_ip\altera_nios2\boot_loader_cfi.srec" (a).zImage就是编译好的uClinux内核映像, (b).xx.flash是这条命令输出的文件,(c).--base和--end分别对应flash芯片的基地址和结束地址.--reset是CPU复位地址. (d).xxxx.src是bootloader (c).--base和--end分别对应flash芯片的基地址和结束地址.--reset是CPU复位地址. (d).xxxx.src是bootloader 这时候就出现问题了,生成的uclinux.flash文件有问题(1kb),于是,我就把--end地址改为0x85fffff(flash大小改动为4m),就得出了uclinux.flash文件(2.92M),显然已经大大超过了我的flash大小 想问问大家,有什么办法可以解决.为什么我的zImage文件转为.flash文件就变大了那多.我的理解是zImage文件是压缩文件. 看到网上做ARM 下移植linux时,好像都是直接把zImage文件烧写到flash里面去的.当然烧了u-boot或redboot. 类似FPGA下nios2 移植uclinux的好像都是想我上面那样直接用的altera给的bootloader. 如果有其他方法可解决我的问题,还请详解~~ 谢谢了 |