
arm9的flash控制器NFDATA到底是几位的啊,tq2440的板子。给的例子都是ads的。我用mdk只能读,不能写。
s3c2440的芯片说明上写的NFDATA是32位的寄存器,为什么给的例子里的ads工程里能一次只读8位。(只会用点mdk)为什么我用mdk调式时一次就能读出来32位,K...
s3c2440的芯片说明上写的NFDATA是32位的寄存器,为什么给的例子里的ads工程里能一次只读8位。(只会用点mdk)
为什么我用mdk调式时 一次就能读出来32位,K9F2G08不是只有8根数据线吗,为什么一次就出来32位,难道flash控制器里边还有一块缓存?
写操作是彻底不行,怎么都写不进去。到底是几位,循环几次 能写完一页?
刚开始学,好多少天了 这问题一直过不去啊,帮忙啊,mdk里能用的代码给贴一段啊,痛苦啊 这问题 展开
为什么我用mdk调式时 一次就能读出来32位,K9F2G08不是只有8根数据线吗,为什么一次就出来32位,难道flash控制器里边还有一块缓存?
写操作是彻底不行,怎么都写不进去。到底是几位,循环几次 能写完一页?
刚开始学,好多少天了 这问题一直过不去啊,帮忙啊,mdk里能用的代码给贴一段啊,痛苦啊 这问题 展开
1个回答
展开全部
NFDATA当然是32位的,可人家的FLASH只有8位啊,那就只能当8位用了。在读FLASH时,实际是一个字节一个字节读的。软件调试是不真实的,并不能完全模拟真实环境。
FLASH写要看具体的芯片,K9F2G08在写之前必须做块擦除,不然是有可能写不进去的,因为它写的时候只能从1变成0,而不能从0变成1,所以擦除能把整个BLOCK变成全1。但在如果这个块上有你需要的数据,你必须先保存才能擦,擦完再回写进去。K92G08还是8位的,所以写是按字节写,你可以只写需要改动的地址,不需要把整个页都写完的。
FLASH写要看具体的芯片,K9F2G08在写之前必须做块擦除,不然是有可能写不进去的,因为它写的时候只能从1变成0,而不能从0变成1,所以擦除能把整个BLOCK变成全1。但在如果这个块上有你需要的数据,你必须先保存才能擦,擦完再回写进去。K92G08还是8位的,所以写是按字节写,你可以只写需要改动的地址,不需要把整个页都写完的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询