• 大小: 17MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-01
  • 语言: 其他
  • 标签: Tiny6410  mlc2  uboot  

资源简介

Tiny6410 mlc2 支持K9GAG08U0E nand flash启动,没有实现ECC校验,有待继续完善

资源截图

代码片段和文件信息

#include 
#include 
#include 

int main (int argc char *argv[])
{
FILE *fp;    /* 定义一个文件指针 */
unsigned char *Buf *a;
int BufLen;
int nbytes fileLen curPosition;
unsigned int checksum count;
int i;

if (argc != 3) /* 如果参数个数错误,打印帮助信息 */
{
/* 应用工具时格式必须是 ./mlc_boot_tool.exe old.bin new.bin */
printf(“Usage: mkbl1  \n“);
return -1;
}

fp = fopen(argv[1] “rb“); /* 以读二进制的方式打开没有头部信号的old.bin文件 */
if( fp == NULL)
{
printf(“source file open error\n“);
return -1;
}

fseek(fp 0L SEEK_END); /* 让文件位置指针指向文件末尾,便于下行的统计大小的操作 */
fileLen = ftell(fp); /* 用于得到文件位置指针当前位置相对于文件首的偏移字节数即文件大小*/

BufLen = 16*1024;
Buf = (char *)malloc(BufLen); /* 动态分配一段24k的内存空间 */
if (!Buf) /* 分配失败,将返回0 */
{
printf(“Alloc buffer failed!\n“);
return -1;
}

memset(Buf 0x00 BufLen); /* 将上面分配的空间清零 */

if(fileLen < 2048)
{
printf(“source file too small !! do not need the tool !!\n“);
free(Buf); /* 释放内存 */
return -1;
}

fseek(fp 0L SEEK_SET); /* 让文件位置指针指向文件开始 */
nbytes = fread(Buf 1 2048 fp); /* 将编译生成的old.bin文件拷贝前2K数据到到buf中 */
if ( nbytes != 2048 ) /* 返回值等于拷贝的元素的个数 */
{
printf(“0 page. source file read error\n“); /* 如果个数和实际的不想等,则失败 */
free(Buf); /* 释放内存 */
fclose(fp); /* 关闭文件 */
return -1;
}

curPosition = ftell(fp);  /* 获得当前文件指针的位置 */

nbytes = fread(Buf + 8192 1 2048 fp);
if ( nbytes != 2048 ) /* 返回值等于拷贝的元素的个数 */
{
printf(“1 page. source file read error\n“); /* 如果个数和实际的不想等,则失败 */
free(Buf); /* 释放内存 */
fclose(fp); /* 关闭文件 */
return -1;
}



fclose(fp); /* 关闭文件 */

/* 到这里为止,把新的bin的数据已经构造完成,现在要把这些数据写入到新的bin文件中 */
fp = fopen(argv[2] “wb“); /* 以二进制写的方式创建一个新的二进制文件 */
if (fp == NULL)
{
printf(“destination file open error\n“);
free(Buf); /* 释放内存 */
return -1;
}

a = Buf; /* 指向内存的首地址 */
nbytes = fwrite( a 1 BufLen fp); /* 把buf中的数据写入新创建的bin文件 */

if ( nbytes != BufLen ) /* 返回值等于写入的元素的个数 */
{
printf(“destination file write error\n“);
free(Buf); /* 释放内存 */
fclose(fp);/* 关闭文件 */
return -1;
}

free(Buf); /* 释放内存 */
fclose(fp);/* 关闭文件 */

return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     823818  2013-04-16 09:11  u-boot-2010.09-tiny6410\u-boot

     文件        615  2013-04-15 13:48  u-boot-2010.09-tiny6410\u-boot.lds

     文件     682342  2013-04-16 09:11  u-boot-2010.09-tiny6410\u-boot.srec

     文件        732  2010-09-28 21:20  u-boot-2010.09-tiny6410\.gitignore

     文件     227432  2013-04-16 09:11  u-boot-2010.09-tiny6410\u-boot.bin

     文件      22744  2013-04-16 06:14  u-boot-2010.09-tiny6410\bl1.dis

     文件    1781499  2013-04-16 06:48  u-boot-2010.09-tiny6410\bl2.dis

     文件      15951  2010-09-28 21:20  u-boot-2010.09-tiny6410\COPYING

     文件      12701  2010-09-28 21:20  u-boot-2010.09-tiny6410\CREDITS

     文件      19807  2010-09-28 21:20  u-boot-2010.09-tiny6410\MAINTAINERS

     文件      17659  2013-03-23 05:41  u-boot-2010.09-tiny6410\MAKEALL

     文件      88616  2013-03-23 11:12  u-boot-2010.09-tiny6410\Makefile

     文件     149798  2010-09-28 21:20  u-boot-2010.09-tiny6410\README

     文件      12442  2010-09-28 21:20  u-boot-2010.09-tiny6410\boards.cfg

     文件       8012  2010-09-28 21:20  u-boot-2010.09-tiny6410\config.mk

     文件       2919  2010-09-28 21:20  u-boot-2010.09-tiny6410\mkconfig

     文件       1631  2010-09-28 21:20  u-boot-2010.09-tiny6410\rules.mk

     文件         74  2010-09-28 21:20  u-boot-2010.09-tiny6410\snapshot.commit

     文件     198118  2013-04-16 09:11  u-boot-2010.09-tiny6410\u-boot.map

     文件      29443  2013-04-16 09:11  u-boot-2010.09-tiny6410\System.map

     文件     231528  2013-04-16 09:11  u-boot-2010.09-tiny6410\u-boot-nand.bin

     文件      16384  2013-04-16 06:35  u-boot-2010.09-tiny6410\16k.bin

     文件       1632  2010-09-28 21:20  u-boot-2010.09-tiny6410\board\atum8548\Makefile

     文件       8014  2010-09-28 21:20  u-boot-2010.09-tiny6410\board\atum8548\atum8548.c

     文件        945  2010-09-28 21:20  u-boot-2010.09-tiny6410\board\atum8548\config.mk

     文件       1766  2010-09-28 21:20  u-boot-2010.09-tiny6410\board\atum8548\ddr.c

     文件       2317  2010-09-28 21:20  u-boot-2010.09-tiny6410\board\atum8548\law.c

     文件       3147  2010-09-28 21:20  u-boot-2010.09-tiny6410\board\atum8548\tlb.c

     文件       1445  2010-09-28 21:20  u-boot-2010.09-tiny6410\board\espt\Makefile

     文件        168  2010-09-28 21:20  u-boot-2010.09-tiny6410\board\espt\config.mk

............此处省略7621个文件信息

评论

共有 条评论