打印

初学者关于ARM的不解??

[复制链接]
1724|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
790953623|  楼主 | 2012-10-15 14:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机有ALE,WR,RD,P0,P2等口,我有一个芯片,也有ALE,WR,RD,以及AD复用口,这样,只要把它们对应相连(加一个锁存器),程序中来一句XBYTE[address]=xx,单片机就会自动对芯片该单元实现写功能,现在本人初学ARM,stm32F107,突然发现ARM没有ALE,WR,RD脚,那么我要对该芯片进行读写有什么简便办法呢??该不会是要自己编程去模拟ALE,WR,RD信号的时序吧??那样的话ARM也太麻烦了,求解答??

相关帖子

沙发
NE5532| | 2012-10-15 15:26 | 只看该作者
51这几个信号操作的是外部存储器吧,你的ARM也用外部存储器么?

使用特权

评论回复
板凳
790953623|  楼主 | 2012-10-15 15:55 | 只看该作者
2# NE5532 ARM不用外部存储器,但是那个芯片的内部有一堆寄存器,所以其实相当于是外扩了一个RAM吧。。

使用特权

评论回复
地板
NE5532| | 2012-10-15 16:57 | 只看该作者
所以你还没搞懂单片机的精华啊,51纯粹为了外部扩展才有这些引脚,很多初级ARM不支持外扩,根本不用你研究寻址问题,直接访问就可以了。

使用特权

评论回复
5
790953623|  楼主 | 2012-10-15 17:09 | 只看该作者
4# NE5532 ARM直接访问会很麻烦啊,我要读写该芯片,我还得自己编程控制ARM三个GPIO口输出信号到芯片的ALE,WR,RD,而在单片机里只需要一条指令XBYTE[address]=xx就可以了,我是想知道ARM里有没有特殊的命令可以像51一样一条指令解决这个问题??

使用特权

评论回复
6
阿南| | 2012-10-15 18:01 | 只看该作者
如果ARM总线没有开放,也就是说不支持外设扩展,确实需要自己处理这些信号。楼主参考一下STM32官方外扩NAND的例子,其中就有处理类似的信号。

使用特权

评论回复
7
NE5532| | 2012-10-15 22:45 | 只看该作者
楼主你想读写什么芯片??

使用特权

评论回复
8
jlass| | 2012-10-16 08:42 | 只看该作者
有没有ALE,WR,RD这些线跟是不是ARM毫无关系
只跟芯片有没有自带的外设接口相关

使用特权

评论回复
9
NE5532| | 2012-10-16 09:29 | 只看该作者
关键是楼主想用什么芯片,这年头inter总线的芯片不多了啊。

使用特权

评论回复
10
sedatefire| | 2012-10-16 10:46 | 只看该作者
arm内部的ram空间够你用了  几十K  无须外扩
寄存器是属于内部地址的
arm的地址空间有4G  

stm32的外扩ram叫做FSMC,地址映射技术,你可以去了解下

使用特权

评论回复
11
linqing171| | 2012-10-16 13:03 | 只看该作者
两百个脚以上的,ARM,基本都有外部总线啊,ALE做芯片里面了,出来就是地址和数据。RD和WR肯定是有的。比如三星的6410.

使用特权

评论回复
12
Tinnal| | 2012-10-16 13:34 | 只看该作者
5# 790953623
你应该有是想读写外部的芯片而不是RAM。STM32的内部RAM肯定的是够用的了,不用像51那样扩展,而且没有什么idate, xdate之为,用标准的变量写法就行。

国为ST的内部资源已经够绝大多数情况下使用了,因为ST并没有把总线拉到外面,管脚都用来做功能脚和IO口口了。100个PIN以上的STM32,是有部份带FSMC的,通过配置FSMC,可以把管脚变成外部总线。


这里还多说一句,没有外部总线,不是ARM的责任,这完全是只是芯片厂商如ST的想法。

使用特权

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

本版积分规则

14

主题

71

帖子

1

粉丝