完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
static int nandll_read_page (unsigned char *buf, unsigned long addr, int large_block)
{ int i; int page_size = 512; if (large_block==2) page_size = 4096; nand_select(); NFCMMD = 0; /* Write Address */ NFADDR = 0; if (large_block) NFADDR = 0; NFADDR = (addr) & 0xff; NFADDR = (addr >> 8) & 0xff; NFADDR = (addr >> 16) & 0xff; if (large_block) NFCMMD = 0x30; wait_ready(); for(i=0; i < page_size; i++) { *buf++ = NFDATA; } nand_deselect(); return 0; } int copy2ddr(unsigned int nand_start, unsigned int ddr_start, unsigned int len) { unsigned char *dest = (unsigned char *)ddr_start; unsigned int free_page = 0; int i; if(len > 8192) { free_page = ((len - 8192)+4096) >> 12; } /* 初始化nand flash controller */ nand_init(); /* 读nand flash */ /* Read pages */ for (i = 0; i < 4; i++, dest+=2048){ nandll_read_page(dest, i, 2); } /* Read pages */ for (i = 4; i < (free_page+4); i++, dest+=8192) { nandll_read_page(dest, i, 2); } return 0; } nandll_read_page(dest, i, 2);这个函数传递的地址参数i感觉有点奇怪?还有copy2ddr()中为什么分两次移动数据呢?求大神帮忙解决(这个是韦东山视频里的代码) |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
762 浏览 0 评论
739 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的了解探究之复制文件描述符
668 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的了解探究之返回错误处理与相关函数
1448 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的了解探究之文件描述符和FILE指针转换
1058 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:53 , Processed in 0.712120 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
900