打印

请教44b0 总线时序问题

[复制链接]
1456|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
alecsoo|  楼主 | 2012-4-23 15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾:
     我在调试44b0板子时,想将一个外部设备挂在Bank4上进行16位并口通信,设置如下:
      1.在init.s中,将Bank4宽度设置为16位:st4=0 ws4=0  dw4=0x01
      2.#define   Command  (*(volatile INT16U *)0x08000000)
      3.当执行Command = 0xffff 时,用逻辑分析仪查看nGCS4和wr信号,发现出现了2个nGCS4信号和对应的2个Wr,我觉的既然都是16位的宽度,是否应该只有1个nGCS4和对应的1个Wr信号,请高手指教,感激不尽!

相关帖子

沙发
aozima| | 2012-4-23 16:06 | 只看该作者
command定义成8位,再写一个字节看一下情况做分析。

首先怀疑44B0肯定不是上策。

使用特权

评论回复
板凳
alecsoo|  楼主 | 2012-4-23 16:38 | 只看该作者
本帖最后由 alecsoo 于 2012-4-23 16:39 编辑

2# aozima

试过了,如果定义成8位,就是1个
定义成16位是2个
定义成32位也是2个
我也不是怀疑44b0,只是对44b0存储器扩展的总线时序,还没有完全理解,希望能弄清楚。

使用特权

评论回复
地板
aozima| | 2012-4-23 17:24 | 只看该作者
查看生成的指令是字,半字,还是字节。

使用特权

评论回复
5
alecsoo|  楼主 | 2012-4-24 11:01 | 只看该作者
4# aozima
今天继续......
上午查看了生成的汇编指令:
如果是定义成8位,则是:strb  
如果是定义成16位,则是:str
如果是定义成32位,也是:str
为什么会这样呢?

使用特权

评论回复
6
aozima| | 2012-4-24 14:53 | 只看该作者
可以看一下到底生成几条存取指令。

使用特权

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

本版积分规则

个人签名:我是后辈,笨鸟一只,虽不擅飞翔,却愿跟随,慢些迟些,终将展翅!

5

主题

29

帖子

1

粉丝