首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向nor闪存发送命令

向nor闪存发送命令
EN

Stack Overflow用户
提问于 2014-11-18 07:46:06
回答 1查看 350关注 0票数 0

在我的嵌入式目标中,NOR闪存在一些命令之后覆盖了地址映射,包括状态、设备信息、cfi信息等。

要读取我使用的普通地址:

代码语言:javascript
运行
复制
map= (int *)(mmap(0,SECTOR_SIZE*NUM_SECTORS,PROT_READ|PROT_WRITE,MAP_SHARED,_fdmem,NOR_FLASH_PHYS));
printf("Location 0x0 , data %x\n",map[0]);

要切换到覆盖模式,我必须执行一些写操作:

代码语言:javascript
运行
复制
ID (Autoselect) Entry  555 AA 2AA 55 555 90

(芯片是S29GL128S)但是:

代码语言:javascript
运行
复制
map[0x555]=0xAA;
map[0x2AA]=0x55;
map[0x555]=0x90;

work.Still不读取正常内存,而不是芯片id。

读/dev/mem和读返回0..so猜测那样写也行不通。

在这一领域的纽比和c..so所有的帮助都是欢迎的。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-11-18 16:16:01

为什么要使用强制转换为(int *)?变量映射的类型是什么,int*?sizeof(int) == 4,所以map0x555表示内存中的map0x555*4字节。使用强制转换为(unsigned char *)或(uint8_t)。

也许错误在那里的某个地方。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26984103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档