【楼主位】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | 系统上电后,如果发现SD卡中有boot.ini文件,便按boot.ini文件中的指定参数运行,否则继续启动原系统: ![]() (原文件名:IMAG0118.jpg) ![]() (原文件名:IMAG0120.jpg) ![]() (原文件名:IMAG0108.jpg) 本贴被 liuweiele 编辑过,最后修改时间:2008-11-02,23:18:43. | ||
![]() |
|
【1楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | SD卡中的WINCE映像和自启动配置文件: ![]() (原文件名:23.jpg) ![]() (原文件名:24.jpg) | ||
![]() |
|
【2楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | boot.ini文件内容: ![]() (原文件名:25.jpg) | ||
![]() |
|
【3楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | void Find_SystemFile(char *dir) { struct FileInfoStruct File; //// /* if(!SDI_Init()) return; if(FAT_Init()) return; */ if(FAT_OpenFile(dir,&File)==1) { Uart_Printf(0,"Open '%s' Err!!!/n",dir); return; } //// GUI_LabelPrintf(40,(LCD_YSIZE>>1)-40,LCD_XSIZE-40-40,60,RGB565(28,56,0),RGB565(0,0,0),RGB_Tran,Center,Font_ASC_8_16,"找到系统文件:'%s'.系统将丛SD卡启动,请等候...",dir); FAT_RunFile(dir); //// } 本贴被 liuweiele 编辑过,最后修改时间:2008-11-02,22:48:51. | ||
![]() |
|
【4楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | int FAT_RunFile(char *ini_dir) { U32 a,b,i; U8 *Buf; U8 *LCD_Buf; char str_buf[1024]; char dir_buf[1024]; char *Str=str_buf; char *dir=dir_buf; struct FileInfoStruct File_Info; //// i=FAT_OpenFile(ini_dir,&File_Info); if(i==1) { Uart_Printf(0,"FAT Load '%s' Err!/n",ini_dir); //文件打开失败. // GUI_LabelPrintf(40,LCD_YSIZE>>2,LCD_XSIZE-40*2,40,RGB565(31,0,0),RGB565(24,48,0),RGB565(10,20,10),Center,Font_ASC_8_16,"Open '%s' Err!",dir); // Uart_Getch(0); return 0; } //// Uart_Printf(0,"FAT Load '%s' Size=%d,Start Cluster=%d./n",File_Info.Size,i); //// Buf=malloc(File_Info.Size); if(Buf==0) { Uart_Printf(0,"Load File:'%s';APP RAM Err!/n"); return 0; } //// FAT_DirLoadFile(ini_dir,Buf); //加载 ini文件. a=0; while(1) { if(Buf[a]=='/n') break; if(Buf[a]==' ') break; dir[a]=Buf[a]; a++; } dir[--a]='/0'; //// for(a=0;Buf[a]!='@';a++); a++; b=0; while(1) { if(Buf[a]=='/n') break; if(Buf[a]==' ') break; if(b==8) break; //// Str[b++]=Buf[a++]; } Str[b]='/0'; i=strtol(Str,NULL,16) ; Uart_Puts(0,dir); Uart_Printf(0," Read RAM=%X/n",i); a=FAT_OpenFile(dir,&File_Info); if(a==1) { Uart_Printf(0,"Open '%s' Err!/n",dir); Uart_Printf(0,"Start Cluster=%d/n",a); return 1; } //// Uart_Printf(0,"Size=%d;Start Cluster=%d./n",File_Info.Size,a); FAT_DirLoadFile(dir,(U8 *)i); Uart_Printf(0,"Start Run to:0x%08X./n",i); Run_Address(i); return 1; } | ||
![]() |
|
【5楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | 主程序: 点击此处下载 ourdev_479701.rar(文件大小:2K) (原文件名:S3C2440_Main.rar) | ||
![]() |
|
【6楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | 运行在S3C2440上的目标文件(基于东华4.3寸TFT LCD( 480x272 )): 点击此处下载 ourdev_479721.rar(文件大小:176K) (原文件名:S3C2440目标文件.rar) 本贴被 liuweiele 编辑过,最后修改时间:2008-11-02,22:31:22. | ||
![]() |
|
【7楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | 如果,系统没有检测到SD卡或boot.ini文件参数配置错误,将会继续运行原系统: ![]() (原文件名:IMAG0137.jpg) 本贴被 liuweiele 编辑过,最后修改时间:2008-11-02,22:43:55. | ||
![]() |
|
【8楼】 thriller 积分:501 派别: 等级:------ 来自: | 记性不好,留个脚印 | ||
![]() |
|
【9楼】 yin66 ![]() 积分:222 派别: 等级:------ 来自: | mark 以后再回来看看 | ||
![]() |
|
【10楼】 miraclelife 麦诺克科技![]() 积分:925 派别: 等级:------ 来自:山东 蓬莱 | 这个应该“酷”了 | ||
![]() |
|
↑↑↑↑↑↑↑↑↑↑↑↑ 抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了89个回复。你需要 点击此处 才能查看全部内容。 对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。 如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。 ↓↓↓↓↓↓↓↓↓↓↓↓ |
【100楼】 zl308424 积分:25 派别: 等级:------ 来自: | 楼主,我用了你的sd驱动和文件系统每次读文件最多读130个字符,写文件就每次写2个。和我自己用的sd驱动+FatFs效果一样,试了很多次都这样,实在是不解啊... | ||
![]() |
|
【101楼】 fy024 梦兰![]() 积分:522 派别: 等级:------ 来自:云南*昆明 | mark | ||
![]() |
|
【102楼】 zl308424 积分:25 派别: 等级:------ 来自: | 很久不见楼主人啊。请问坛子里还有人用过2440 SD+文件系统的吗?为什么我的出现这么怪问题。 | ||
![]() |
|
【103楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | 回复【102楼】zl308424 ----------------------------------------------------------------------- 什么问题? | ||
![]() |
|
【104楼】 zl308424 积分:25 派别: 等级:------ 来自: | 一开始读文件,文件里字符超过130个arm会死机,写文件每次只能写2个字符。现在知道为什么每次最多读130个字符了,原因是我用了Uart_Printf函数打印读到buff的数据,Uart_Printf里只申请了128byte空间,数组越界就死机了。现在搞不懂为什么写文件每次只写2个字符,写文件时文件系统也没错,arm也很正常。 | ||
![]() |
|
【105楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | 什么系统? | ||
![]() |
|
【106楼】 zl308424 积分:25 派别: 等级:------ 来自: | 裸机程序,TQ2440+MDK+SDIO+FatFs | ||
![]() |
|
【107楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | 这问题不好猜测~~~ 本贴被 liuweiele 编辑过,最后修改时间:2010-02-08,13:03:24. | ||
![]() |
|
【108楼】 zl308424 积分:25 派别: 等级:------ 来自: | 呵呵,问题找到了。的确不好猜,我每次res = f_write(&file, T_buffer, sizeof(T_buffer), &bw); 就写几个字符,换成 res = f_write(&file, T_buffer, 300, &bw); 就写300个字符。是指定写多少数据这有点问题。现在读写都正常了,呵呵。 | ||
![]() |
|
【109楼】 liuweiele Liuwei![]() 积分:687 派别: 等级:------ 来自: | 你的 T_Buffer是指针变量? | ||
![]() |
|
【110楼】 zl308424 积分:25 派别: 等级:------ 来自: | 恩,将sizeof换成strlen就好了。搞错一点真是害死人啊。现在文件系统没问题了,把中文字库放到sd卡里能读出来显示了。 | ||
![]() |
|
【111楼】 freud 积分:28 派别: 等级:------ 来自:北邮 | mark! | ||
![]() |
|
【112楼】 RF2010 RF陈 积分:92 派别: 等级:------ 来自: | 点击此处下载 ourdev_547023.pdf(文件大小:141K) (原文件名:S3C2440 VS AT91SAM9261综合比较.pdf) | ||
![]() |
|
【113楼】 xzm8469105 谢钟满![]() 积分:59 派别: 等级:------ 来自:汕头 | mark | ||
![]() |
|
【114楼】 dubu 老 K 积分:251 派别: 等级:------ 来自:杭州 | mark | ||
![]() |
|
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=1709802&bbs_id=1032