打印
[其他ST产品]

百思不得其解的问题,关于STR710读取NORFLASH

[复制链接]
1645|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主




CPU与NOR的连接关系如图所示,CPU A1 -> NOR A0。我的理解是CPU只能按16bit地址对齐的方式读取
NOR,即CPU发出一个地址(A0被丢掉),应该从NOR返回一个16位数据。但测试结果却不是这样,实际
CPU仍能从任意地址按字节读取NOR里的数据。测试代码如下,请明白人解释下,这究竟是为什么呢?

void test_rd_nor(void)
{
     char i;
     char *nor_addr = (char *)NOR_ADDR; //NOR_ADDR:0x60010000
     printf("\r\nNor Flash Content: ");
     for(i=0; i<20; i++)
     {
          printf("0x%02X ", *(nor_addr++));
     }
     printf("\r\n");
}
沙发
Liuyk_0321|  楼主 | 2013-2-19 16:22 | 只看该作者
怎么没有人回答呢?自己顶一下!

使用特权

评论回复
板凳
inurl| | 2013-2-21 09:48 | 只看该作者
本帖最后由 inurl 于 2013-2-21 09:54 编辑
Liuyk_0321 发表于 2013-2-19 16:22
怎么没有人回答呢?自己顶一下!

打个比方,NOR从0x00000000开始。
你用C访问,0x00000000和0x00000001得到的内容是一样的。。
CPU送出去的是以8bit为递增的起始地址,NOR只能响应以16bit为递增的地址

也不知道怎么给你解释,看你的悟性。


使用特权

评论回复
地板
Liuyk_0321|  楼主 | 2013-2-23 11:35 | 只看该作者
感谢回复!!!
看来是悟性太低,还是参悟不了个中原因啊!!!

使用特权

评论回复
5
inurl| | 2013-2-24 13:19 | 只看该作者
Liuyk_0321 发表于 2013-2-23 11:35
感谢回复!!!
看来是悟性太低,还是参悟不了个中原因啊!!!

"实际 CPU仍能从任意地址按字节读取NOR里的数据"

读出来的不是任意地址

使用特权

评论回复
6
inurl| | 2013-2-24 13:21 | 只看该作者
你把keil打开,  debug的时候view-memory, 然后你观察,以char /short/int3种方式 查看一片内存 。 就能明白了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

66

帖子

1

粉丝