关于flash动画荷花盛开基础操作的一个问题

关于单片机STC12C5A60S2操作flash问题 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
关于单片机STC12C5A60S2操作flash问题
<div class=""
请问有没有朋友能上传一段资料让我学习下?本人想操作一下flash,把一个20K的文件放进60K的flash里面,但是没有相关的例子,所以想有没有朋友帮忙我学习下,谢谢!
已退回1积分
11:32:27  
该类别下有 43 个回答。
该类别下有 35 个回答。
该类别下有 27 个回答。
该类别下有 24 个回答。
该类别下有 23 个回答。
该类别下有 23 个回答,其中被选为最佳答案 1 次。
该类别下有 21 个回答。
该类别下有 21 个回答。
该类别下有 19 个回答。
该类别下有 19 个回答。
该类别下有 19 个回答。
该类别下有 19 个回答。
该类别下有 18 个回答。
该类别下有 18 个回答。
该类别下有 17 个回答。
该类别下有 17 个回答。
该类别下有 17 个回答。
该类别下有 16 个回答。
该类别下有 16 个回答。
该类别下有 16 个回答。
网上的例子:
STC单片机的假EEPROM可以用,但不好玩,以下是将从串口接收到的一个字节数据写入Flash 0单元的应用实例,供参考。最好在内存中开辟一段缓存,将从串口接收到的数据先置于缓存,之后一并写入Flash。 IAP_CONTR = 0x83;& && && & //设置操作等待时间
IAP_CMD = 0x03;& && && && &&&//扇区擦除命令
IAP_ADDRH = 0;& && && && && & //设置高8位地址
IAP_ADDRL = 0;& && && && && &//设置低8位地址
IAP_TRIG = 0x5A;& && && && & //芯片规定必须的操作
IAP_TRIG = 0xA5;& && && && & //芯片规定必须的操作
_nop_(); IAP_CMD = 0x02;& && && && &&&//设置写命令
IAP_ADDRH = 0;& && && && && &//设置高8位地址
IAP_ADDRL = 0;& && && && && &//设置低8位地址
IAP_DATA = SBUF;& && && & //将串口接收到的一个字节数据写入扩展Flash的0x0000H单元
IAP_TRIG = 0x5A;&&
IAP_TRIG = 0xA5;&&
IAP_CONTR = 0;& && && && &//关闭
IAP IAP_CMD& &= 0;& && && && && &//关闭命令
IAP_TRIG&&= 0;& && && && && &//清命令触发寄存器
IAP_ADDRH = 0;& && && && &//指向非Flash扩展区
IAP_ADDRL = 0;
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司后使用快捷导航没有帐号?
请完成以下验证码
查看: 4023|回复: 22
关于应用程序直接操作NandFlash的问题
在线时间4 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
因项目需求,要给应用程序提供一个直接操作NandFlash的接口,小弟在网上找到些直接操作Flash的文章,按照上面试了下,
m_hFmd = CreateFile(_T(&DSK1:&),GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
运行这句话的时候出现了错误信息,打印出来就是“指定的网络资源或设备不再可用。”
注册表里有关NandFlash的信息如下:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
& & &DefaultFileSystem&=&BINFS&
& & &PartitionDriver&=&mspart.dll&
& & &MountHidden&=dword:1
& & &MountAsROM&=dword:1
& & &Folder&=&NAND Flash&
& & &Name&=&FLASH Disk Block Device&
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
& & &MountHidden&=dword:0
& & &MountAsROM&=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash]
& & &DriverPath&=&Drivers\\BuiltIn\\MSFlash&
& & ;LoadFlags 0x01 == load synchronously
& & &LoadFlags&=dword:1
& & & & ;&LoadFlags&=dword:0
& & &Order&=dword:0
请教高手~~~
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
flash没有指给 DSK1:a
在线时间0 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 23, 距离下一级还需 177 积分
一粒金砂(中级), 积分 23, 距离下一级还需 177 积分
引用 1 楼 tutumu 的回复:
flash没有指给 DSK1:a
怎么指给“DSK1:”继续请教
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
MARK,学习下
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
FMD层做好接口,应用程序才可以调用。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
引用 4 楼 garyliu1104 的回复:
FMD层做好接口,应用程序才可以调用。
那总要像打开流接口那样,先打开,然后才能操作吧。。。。。
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
首先,保证 DSK1 在flash驱动及分区信息中存在、并正确。
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
其次,能否像流驱动 一样操作,要看flash驱动提供了这部分流操作接口没?
如果提供,则可以按流驱动来操作;否则要修改驱动才行的。
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
引用 6 楼 91program 的回复:
首先,保证 DSK1 在flash驱动及分区信息中存在、并正确。
这一部分是怎么确定的呢??
在线时间2 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
引用 7 楼 91program 的回复:
其次,能否像流驱动 一样操作,要看flash驱动提供了这部分流操作接口没?
如果提供,则可以按流驱动来操作;否则要修改驱动才行的。
驱动中提供了一个接口:FMD_OEMIoControl()
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
{A4E7EDDA-E575-B-5}
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
我的可以,呵呵。你估计你的SD卡的driver和nand 的重名了。
在线时间30 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
改下试试~~嘿嘿~
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
{A4E7EDDA-E575-B-5}
在线时间16 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]
& & &Dll&=&nand.dll&
& & &Prefix&=&DSK&
& & &Index&=dword:1
& & &Order&=dword:4
这里Index是几就createfile几,但是很少有人用0吧,不知道0行不行,另外NAND.DLL驱动中有DSK_OPEN这样的函数吗?要有这样的函数才可以
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
你在有SD卡在的时候能成功是因为
HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\MMC_Class\High_Capacity]
&&&Dll&=&SDMemory.dll&
&&&Prefix&=&DSK&
即使这里没指定INDEX值,估计是因为你的注册表中有关DSK项都没有指定INDEX值,所以系统在这里就默认将SD卡的设置为INDEX为1,所以会成功,当没有SD的时候找不到相应的盘符也就不会成功
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
{A4E7EDDA-E575-B-5}
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
引用 18 楼 gooogleman 的回复:
m_hFmd = CreateFile(_T(&DSK1:&),GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
把这个DSK1改成DSK0
出现错误提示“指定的网络资源或设备不再可用。 ”
EEWORLD 官方微信
Powered by> 问题详情
FLASH中,关于帧(Frame)概念,以下说法错误的是()A、帧中不能含有播放或交互操作B、FLASH中帧可分
悬赏:0&答案豆
发布时间:
FLASH中,关于帧(Frame)概念,以下说法错误的是()A、帧中不能含有播放或交互操作B、FLASH中帧可分为关键帧、空白帧、过渡帧C、帧是FLASH中构成动画作品的最基本单位D、时间轴上的小格子就是帧
您可能感兴趣的试题
1用计算机制作一段动画,其中最关键的一步是动画生成,目前,经常采用的动画生成技术有5种,以下哪种不是?( )A、变形动画技术B、逐帧动画技术C、分层动画技术D、关键帧动画技术2Flash中,关于帧(Frame)的概念,以下说法错误的是( )。A. 时间轴上的小格子就是帧B. 帧是Flash中构成动画作品的最基本单位C. Flash中帧可分为关键帧、空白帧、过渡帧D. 帧中不能含有播放或交互操作3下面有关Flash动画制作软件使用错误的是( )。A. 用Flash制作动画有逐帧动画和中间帧自动生成方法B. 要对导入的图像制作形状变形动画首先要对图像进行打散C. 测试动画时,测试影片的快捷方式是[Alt]+[Enter]D. Flash源文件的格式是.fla,发布到网上可导出.swf格式4下面有关Flash动画制作软件使用正确的是( )。A.被遮罩层上的对象,可透过遮罩层中的对象所挡住的部分显示出来,而没有挡住的部分则无法显示B.外部导入的图像,准备作为变形动画的对象,必须先转换为元件C.外部导入的图像,准备作为运动动画的对象,必须先打散D.库中的元件可以重复利用,但文件容量会随着重复使用次数的增加而等量增加
我有更好的答案
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
每天只需0.4元
选择支付方式
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
恭喜你被选中为
扫一扫-免费查看答案!
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
提示:请截图保存您的账号信息,以方便日后登录使用。
常用邮箱:
用于找回密码
确认密码:Flash基础入门之STM系列 Flash操作
Flash基础入门之STM系列 Flash操作
摘要:本文主要向大家介绍了Flash基础入门之STM系列 Flash操作,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。
本文主要向大家介绍了Flash基础入门之STM系列 Flash操作,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。1、flash操作方法&1.1 对stm8的flash操作#define BaseCfgaddr (uint32*)0x4000/*&* 函数名称 & &: & WriteAddrToFlash&* 函数功能 & &: & 数据写入Flash&* 输入参数 & &:&* 输出参数 & &: & 无&* 返 回 值 & &: & 0或1&* 其它说明 & &: & 无&* */uint8 SYS_WriteDataToFlash(uint8* Data,uint32* addr,uint16Len) &{ & & && & if(!Data) && & return 0; & & & & &&& & /*操作EEPROM,先进行解锁*/ && & FLASH_DUKR = 0xAE; /* 注意这里不能断点调试,否则会造成内部不同步,FLASH解锁失败*/& & FLASH_DUKR = 0x56; && & FLASH_CR2 = 0x00; && & FLASH_NCR2 = 0xFF; && & if(!(FLASH_IAPSR & 0x08)) /* 检测对应的位是否解锁 &*/& & return 0; & & && & memcpy(addr,Data,Len); && & FLASH_IAPSR = (ST_UINT8)(~0x08); /* 重新上锁 &*/&& & return 1; &}&按字节操作即每次写入一位&SYS_WriteDataToFlash(Buf,BaseCfgaddr,WriteCfgSize);&1.2 stm32f的flash操作。使用stm32f0k4/*&* 函数名称 & &: & WriteAddrToFlash&* 函数功能 & &: & 数据写入Flash&* 输入参数 & &:&* 输出参数 & &: & 无&* 返 回 值 & &: & 0或1&* 其它说明 & &: &&& & & & & & & & & & & & & & & 写入一个配置,每次写只用某一页开始写,不可一页中从起始地址写之后又从中间地址写入。& & & & & & & & & & & & & & & 写第二个模块配置时,空间配置从下一页开始写。否则会擦除之前的页,写之前会先擦除该页。&* */uint8 Sys_WriteDataToFlash(uint8* pData,uint32 Address,uint32 Len) &{ & & && & if(!pData) && & return 0; && & uint32_t SLen = 0;& & uint32_t W&& & FLASH_Unlock();& & FLASH_ErasePage(Address); // 写之前擦除要写入的整页& & FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR);&& & /* Clear pending flags (if any) */ && & do& & {& & & & memcpy(&Wdata, pData, 4);//&& & & & FLASH_ProgramWord(Address,Wdata);& & & & Address += 4;&& & & & pData += 4;& & & & SLen += 4;& & }while(SLen&Len);& & FLASH_Lock();& & return 1;}&/*&* 函数名称 & &: & Sys_ReadFlashToBuf&* 函数功能 & &: & 从flash中读出数据到buf查看&* 输入参数 & &:&* 输出参数 & &: & 无* 返 回 值 & &:&* 其它说明 & &: &&&* */void Sys_ReadFlashToBuf(uint8* buf,uint32 addr,uint16 len){& & while(len--)& & {& & & & *buf = *(uint8*)& & & & &addr++;& & & & &buf++;& & }}&32位机一个字为4个字节,库函数提供两种形式,一种是半字写入另一种是一个字写入,以上使用的是一个字写入的方式实际操作过程中是将一个结构体内容写入flash,先将该结构体以字节对其,将该结构体指向buf存储,再将该buf按字节写入flash。读取时将内容读到buf,在将该buf转为结构体,即可准确提取出结构体中定义的值&2、操作中所犯错误及注意点&1、内存地址& & & 错误:从0x基地址开始操作flash,一执行读写flash,程序就卡死。& & & 要操作flash的地址,如果程序是存储在main flash memory中开始执行,进入用户程序,我们操作flash就不能从flash基地址开始操作,这部分已经被应用程序占用。& & & 其操作flash地址值要大于本代码所占用FLASH的大小+0x&& & & 用户程序代码占用flash大小可从编译时候看出来& & &&& 8 394 bytes of readonly &code memory&& & & &84 bytes of readonly &data memory&& & & &2 828 bytes of readwrite data memory&& & & & #define FLASH_BASE_ADDR & & & & & & & & & & & (uint32_t)(0xu)& & & & #define FLASH_STARTADDR_PAGE11 & &(FLASH_BASE_ADDR + 1024 * 11)计算可写在第几页,最好的方法是从最后一页开始写,根据手册了解flash大小,页数,勿超出flash大小,否则易出现HardFault_Handler错误2、将字转换为按字节写入& & & &错误: 写入的数据与实际的数据值不同& & & &从cotex-m0的库函数来看,对flash的操作时以字或者半字来操作。实际使用操作多按1个字节操作,造成不对齐。& & & & uint32_t W&& & & & memcpy(&Wdata, pData, 4);//&& & & & FLASH_ProgramWord(Address,Wdata);& & & & Address += 4;&& & & & pData += 4;& & & & 固按以上操作,将4个字节转换为按字写入,统一了使用的所有工程,再将地址按四个字节偏移。&3、宏定义地址& & & &错误:flash读取时数据出错,内容指向错误。& & & &SYS_BASE_CFG_T *pCfg = (SYS_BASE_CFG_T *) FLASH_STARTADDR_PAGE11;& & & &操作是将flash页11的地址读取出来,指向转为结构体SYS_BASE_CFG_T 形式读取数据& & & &但在读取就出错,程序运行到该句即出现内存操作错误中断产生& & & & void HardFault_Handler(void)& & & & {& & & & & & &while (1)& & & & & & &{& & & & & & &}& & & & }& & & & 从运行参数上看,当运行到该句,地址指向并不是预先设计好的11页地址& & & & #define FLASH_STARTADDR_PAGE11 & &FLASH_BASE_ADDR + 1024 * 11& & & & 由于宏定义加操作没有加括号,导致实际偏移值出现错误。宏定义式子为防错误一定要加括号& & & & &#define FLASH_STARTADDR_PAGE11 & &(FLASH_BASE_ADDR + 1024 * 11)4、HardFault_Handler && & & & 该中断产生的一般条件是内存非法操作,包括数组越界、内存溢出、指针地址错误、野指针存在& & & & 在stm8中当内存非法操作时mcu内部会产生复位,从复位源可查看为非法操作符复位 &5、页大小& & & & flash操作擦除时可以以页为单位擦除或者以整片flash擦除。& & & & 在使用flash时,如果需要写入两组不同的数据并且在一页以内,建议直接使用一页一组数据,由于内存够大而且防止误操作到其他组数据。& & & & M3或者M0内核大容量与小容量的flash的页大小有所区别,小容量以1024字节 1k为一页,大容量以2048字节2k 为一页。所以操作具体内存时以& & & &&&(FLASH_BASE_ADDR + 1024 * 11)形式,更直观看出数据位置,便于IDE调试查看。&对结构体的flash写入写出&uint16 ReadToFlash(uint8 *pCfg){& & CfgInfo.pBaseCfg = (BASE_CFG_T *)pC& & return sizeof(BASE_CFG_T);}void ReadAllCfg(void){& & uint8 *pRead = (uint8*)FLASH_STARTADDR_PAGE11; // 转化为unsigned char 按字节操作 32位一次偏移4字节& & uint32 CfgLen = 0;& &&& & CfgLen = ReadToFlash(pRead&);& & pRead&+= CfgL& & CfgInfo.SysReadCfgSize += CfgL}uint16 WriteToFlash(uint8 *pCfg){& & &CfgInfo.pBaseCfg = (BASE_CFG_T *)pC& & &CfgInfo.pBaseCfg-&WriteFlashFlag = CFG_FLASH_FLAG;& & &CfgInfo.pBaseCfg-&FeedWatDogTime = 200;& & &return sizeof(BASE_CFG_T);}static void WriteAllCfg(void){& & uint8 *pWrite = CfgInfo.CfgB& & uint32 CfgLen = 0;& &&& & CfgLen = WriteToFlash(pWrite&);& & pWrite&+= CfgL& & CfgInfo.SysWriteCfgSize += CfgL& & Sys_WriteDataToFlash(CfgInfo.CfgBuf,FLASH_STARTADDR_PAGE11,CfgInfo.SysWriteCfgSize);& & Sys_ReadAllCfg(); &} &void Sys_CfgInit(void){& & BASE_CFG_T *pCfg = (BASE_CFG_T *) FLASH_STARTADDR_PAGE11;&/*在要写入的一个buf的第一位作为写入标志位,程序下次执行到这儿就不再重写,而只是读取这个flash的内容,实现配置的形式操作。*/& & if(pCfg-&WriteFlashFlag != CFG_FLASH_FLAG)&& & {& & & & /* 写配置到FLASH */& & & & WriteAllCfg();& & }& & else& & {& & & & ReadAllCfg();& & & & memcpy(CfgInfo.CfgBuf, (char *)FLASH_STARTADDR_PAGE11, CfgInfo.SysReadCfgSize);& & }} & &&&typedef __packed &struct&{& & uint8 & & & & & & WriteFlashF & &/* FLASH写标志 */& & uint8 & & & & & & DebugF & & & & & /* 调试使用标志 */ & & uint32 & & & & & FeedWatDogT & && &}BASE_CFG_T; & & & & & &/* 系统基本配置 */typedef __packed &struct{& & BASE_CFG_T &*pBaseC & & & /* 系统基本配置参数 */& & uint8 & & & & & &SysWriteCfgS& & uint8 & & & & & &SysReadCfgS & && & uint8&& & & & &CfgBuf[SYS_CFG_SIZE]; /* 所有人的配置文件 */}CFG_INFO_T; /* 配置配置参数的 */&CFG_INFO_T & & & &CfgI#define &CFG_FLASH_FLAG (0x57)以上内容为个人使用过程的方法笔记及个人认为的注意点、知识点.内容不全面,如之后使用有所补充随时更新。如您发现有所问题,希望给我意见。本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件Flash频道!
看完这篇文章有何感觉? 已经有0人表态,0%的人喜欢
大家都在看
(C)2015 www.zhizuobiao.com All Rights Reserved
点击进入频道
请先登录您的账号
您还未登录,还不能发表评论请教有关STM32操作内部flash的问题_百度知道
请教有关STM32操作内部flash的问题
&#xe6b9;答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
<span class="wgt-replyer-all-uname
" data-href="https://zhidao.baidu.com/usercenter?uid=fe705e
<span class="wgt-replyer-all-card-name3 wgt-replyer-all-card-names" data-href="https://zhidao.baidu.com/usercenter?uid=fe705e
采纳数:1113
获赞数:1739
使用Flash模块调用Flash操作函数,大概顺序是先解锁flash,在擦除,接着写入,最后在上锁的顺序。注意点在于:写入flash的代入地址要合法,也就是在正确范围内(详情见技术手册)。每次擦除flash单位为1kb或2kb。每次写入的字节数量必须是2字节的整数倍,也就是按16位数据为单位写入。
year医海无边
year医海无边
采纳数:852
获赞数:7747
擅长:暂未定制
在硬件上SDRAM可以通过nGCSi片选信号的连接确定,NandFlash看不出来,内存映射表上也看不出请教各位,先谢了!根据读写的block和page计算出来的nandflash不是norflash,在内存映射上没有地址读写要看datasheet,发送命令字和地址序列进行读写操作但是一般的cpu,像上面都有操作nandflash的专门的寄存器熟悉寄存器的相关位的含义就可以操作nandflash了。这个没有物理地址对应的,要靠寄存器操作实现读写!nand是块设备,没有物理地址。NANDFLASH不能线性寻址,(意思就是不能通过地址线产生的地址选通相应的存储单元),它的读写是块读写,所以系统不好给它安排系统地址。
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 flash制作小球运动视频 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信