资源简介
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个文件信息
- 上一篇:指针仪表角度检测
- 下一篇:STDP8028源代码
相关资源
- 支持tiny4412-1506的uboot
- uboot_tiny4412_0929.tar.gz
- u-boot-2017.07移植到s5pv210教程(含对应
- wndr3800(ch)刷不死uboot,解锁boot区分
- TP-WR720N 路由器固件 大合集共14个 op
- uboot for mini2440
- TIny4412 uboot
- tiny6410 uboot代码145866
- itop4412 UBOOT源代码
- tiny6410 uboot代码
- uboot代码详细分析完整88页版.pdf
- 史上最详细最全面的uboot启动过程分析
- Uboot-1.1.2 for PXA270源码分析.pdf
- uboot启动流程的详细分析
- UBOOT代码详细分析88页PDF
- linux下为SD卡烧写uboot.bin的原理与方法
- 一步步教你移植uboot(超精华版).r
- 嵌入式LINUX基础教程中文第2版 --百度
- Tiny6410底板原理图
- superboot-6410266149
- arm cortex-A8 am335x uboot移植
- ar9341_uboot支持HTTPD
- superboot-20110405.bin
- LG Capl 5000/6000 免硬改不死Uboot
- orangepi one gboot 点亮LED
- 华清远见uboot和linux内核移植实验手册
- UBOOTloadb命令加载应用程序到SDRAM中运
- Uboot启动流程国嵌视频里的文档
- DHT11在linux上的驱动程序
- imx6q直接从USB OTG运行uboot方法
评论
共有 条评论