关于bin文件的解码,你可以看c:\wince500\public\common\oak\drivers\ethdbg\blcommon中blcommon.c的DownloadImage(),里面就是解码过程。
可以研究一下~
点赞  2009-10-10 17:14
我上边回复的已经告诉你如何解码了
点赞  2009-10-10 18:55
顶,codewarrior太强了
点赞  2009-10-10 19:52
引用: 引用 10 楼 veabol 的回复:
你想直接把nk.bin烧到flash,然后在系统每次启动的时候读出再解压到RAM?
烧的时候解压,启动的时候直接用;直接烧录,启动的时候解压,你觉得哪种方式更好?我觉得都会选择第一个吧。
另外EBOOT解压BIN文件方式可以参考
EBOOT通过bin文件形式读取、下载LOGO


veabol 说的不错,直接烧写bin到nand里,启动的时候再解析,花了大概17s左右,应该是烧写的时候解压,启动直接使用!
谢谢veabol~~
点赞  2009-10-14 09:23
引用: 引用 23 楼 hao507 的回复:
引用 10 楼 veabol 的回复:
你想直接把nk.bin烧到flash,然后在系统每次启动的时候读出再解压到RAM?
烧的时候解压,启动的时候直接用;直接烧录,启动的时候解压,你觉得哪种方式更好?我觉得都会选择第一个吧。
另外EBOOT解压BIN文件方式可以参考
EBOOT通过bin文件形式读取、下载LOGO


veabol 说的不错,直接烧写bin到nand里,启动的时候再解析,花了大概17s左右,应该是烧写的时候解压,启动直接使用!
谢谢veabol~~

常见的有两种做法:
1. 接压为nb0然后烧,缺点是占用存储空间大
2. 直接烧,缺点是启动时候花费少量的时间,
点赞  2009-10-14 16:46
我在下载到flash的时候不知道下载到哪个地址,
VOID
OEMLaunch(
   ULONG start,
   ULONG size,
   ULONG launch,
   const ROMHDR *pRomHeader
    )
是start还是launch???

点赞  2009-10-14 16:57
ULONG start,
点赞  2009-10-14 22:52
引用: 引用 26 楼 shenmou 的回复:
ULONG start,


我之前直接把NK.BIN烧写到flash里,启动的时候解压成NB0然后jumpto,就可以运行了,但是看了#10楼所说的,我觉得很有道理,昨天试了很多次,把bin文件解压到RAM中,然后烧写到FLASH中,启动不了,不知道什么问题啊,下面是我的相关代码:
烧写Flash
[code]g_eboot.type = DOWNLOAD_TYPE_FLASHRAM;
        launch = (UINT32)OEMMapMemAddr(start, start);

                if(g_eboot.bootDeviceType == BOOT_SDCARD_TYPE)
        {
                RETAILMSG(1,(TEXT("BLFlashWriteNK Will Start!!!\r\n")));
                rc = BLFlashWriteNK(start,size);
                if(rc == TRUE)
                {
                        RETAILMSG(1,(TEXT("BLFlashWriteNK Success!\r\n")));
                }
                else
                {
                        RETAILMSG(1,(TEXT("BLFlashWriteNK Error!!!\r\n")));
                }

        }
点赞  2009-10-15 08:59
最近忙于他事。继续顶贴。请问大家,如果是支持BINFS的EBOOT,即NAND中写的是NK.BIN。系统上电的时候,是先运行引导程序(NBOOT),由NBOOT,从NAND中将EBOOT读取出来,再运行EBOOT,再由EBOOT引导镜像,这个步骤下来的吗?
点赞  2009-11-3 13:36
支持MULTI_BIN,的话.烧写到NAND中的必须要是.BIN文件!烧写NK.NB0虽然方便,可是不能支持快速启动。
点赞  2009-11-3 13:39
引用: 引用 28 楼 wjf_zjut 的回复:
最近忙于他事。继续顶贴。请问大家,如果是支持BINFS的EBOOT,即NAND中写的是NK.BIN。系统上电的时候,是先运行引导程序(NBOOT),由NBOOT,从NAND中将EBOOT读取出来,再运行EBOOT,再由EBOOT引导镜像,这个步骤下来的吗?


是的,你这个步骤是现在很多厂商都采用的办法~~
点赞  2009-11-3 13:40
引用: 引用 29 楼 wjf_zjut 的回复:
支持MULTI_BIN,的话.烧写到NAND中的必须要是.BIN文件!烧写NK.NB0虽然方便,可是不能支持快速启动。


你可以先用NB0文件试,
点赞  2009-11-3 13:41
引用: 引用 24 楼 guopeixin 的回复:
引用 23 楼 hao507 的回复:
引用 10 楼 veabol 的回复:
你想直接把nk.bin烧到flash,然后在系统每次启动的时候读出再解压到RAM?
烧的时候解压,启动的时候直接用;直接烧录,启动的时候解压,你觉得哪种方式更好?我觉得都会选择第一个吧。
另外EBOOT解压BIN文件方式可以参考
EBOOT通过bin文件形式读取、下载LOGO


veabol 说的不错,直接烧写bin到nand里,启动的时候再解析,花了大概17s左右,应该是烧写的时候解压,启动直接使用!
谢谢veabol~~

常见的有两种做法:
1. 接压为nb0然后烧,缺点是占用存储空间大
2. 直接烧,缺点是启动时候花费少量的时间,

烧写NK.BIN就是为了节约启动时间,不知楼主研究过MULTI-BIN否。
点赞  2009-11-3 13:41
引用: 引用 32 楼 wjf_zjut 的回复:
引用 24 楼 guopeixin 的回复:
引用 23 楼 hao507 的回复:
引用 10 楼 veabol 的回复:
你想直接把nk.bin烧到flash,然后在系统每次启动的时候读出再解压到RAM?
烧的时候解压,启动的时候直接用;直接烧录,启动的时候解压,你觉得哪种方式更好?我觉得都会选择第一个吧。
另外EBOOT解压BIN文件方式可以参考
EBOOT通过bin文件形式读取、下载LOGO


veabol 说的不错,直接烧写bin到nand里,启动的时候再解析,花了大概17s左右,应该是烧写的时候解压,启动直接使用!
谢谢veabol~~

常见的有两种做法:
1. 接压为nb0然后烧,缺点是占用存储空间大
2. 直接烧,缺点是启动时候花费少量的时间,

烧写NK.BIN就是为了节约启动时间,不知楼主研究过MULTI-BIN否。

研究过但是还没有实现~~~
点赞  2009-11-3 13:42
引用: 引用 31 楼 hao507 的回复:
引用 29 楼 wjf_zjut 的回复:
支持MULTI_BIN,的话.烧写到NAND中的必须要是.BIN文件!烧写NK.NB0虽然方便,可是不能支持快速启动。


你可以先用NB0文件试,

你指的是,用NB0支持MUTLI-BIN.这个怎么实现?
点赞  2009-11-3 13:42
我只知道,要通过BINFS文件系统搞定它.
点赞  2009-11-3 13:44
引用: 引用 30 楼 hao507 的回复:
引用 28 楼 wjf_zjut 的回复:
最近忙于他事。继续顶贴。请问大家,如果是支持BINFS的EBOOT,即NAND中写的是NK.BIN。系统上电的时候,是先运行引导程序(NBOOT),由NBOOT,从NAND中将EBOOT读取出来,再运行EBOOT,再由EBOOT引导镜像,这个步骤下来的吗?


是的,你这个步骤是现在很多厂商都采用的办法~~

想想也只能这么办了,我试试去。顺便把MULTI-BIN研究一下。
点赞  2009-11-3 13:47
这个值得大家讨论那么长? ^^
点赞  2009-11-3 13:48
楼上见笑,俺是菜鸟。如果明白,请多指点!
点赞  2009-11-4 14:44
引用: 引用 14 楼 mabugang 的回复:
一般的不是eboot 的bootloader ,都是把 NK.BIN 转化成NK.NB0 然后写到NANDFLASH 中,eboot 是把NANDFLASH格式化为 BINFS ,然后写NK.BIN ,
正解!
点赞  2009-11-5 17:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复