天嵌 ARM开发社区

 找回密码
 注册
查看: 1802|回复: 2

对S3C2440与单片机的外设用法疑问

[复制链接]
JOHNSON 发表于 2010-6-30 22:49:52 | 显示全部楼层 |阅读模式
本人先前弄过51单片机,而我们知道单片机的对外接口,说白了,就是几个port,在控制外设的时候,其实就是往一个地址(port)里写数据,然后传送到外设中的控制寄存器,所以,比如控制一个电话拨号芯片,就要根据电路图的接法来写程序。
在转过来学习Linux的驱动中,这种想法总伴随着我,以为S3C2440的管脚多,主要是地址线和数据线多了,但今天真正看了一下S3C2440的datasheet后,才发现似乎并非如此,这个芯片好像不只是一个核了。尽管其引出的也有地址总线和数据总线,但此外,三星还在里面集成了各类外设的控制器的输出引线。所以我想问一下,或者是确定一下,是否在ARM中编写或移植驱动程序,只需要看对应ARM的芯片的datasheet就可以了而不必关心电路的编排,因为现在所写的控制寄存器,是固定在ARM芯片里,而不在外设中?好比控制51的定时器?也就是说,无论是谁设计的电路,外设的接口地址是不会变的?
假如这确定了的话,那么,一个系统的功能强大与否将由所用的ARM芯片决定,而非外设的功能决定了,对吗?而外设供应商也只能根据ARM芯片的接口来设计他的设备,因此不管是谁生产的设备,只要功能相同,接口就肯定相同了?
亚瑟王 发表于 2010-7-2 10:08:31 | 显示全部楼层
1、对于CPU内部已经存在的控制器(比如LCD控制器)只需要初始化该控制器然后发送数据出去就行了。
2、对于CPU内部没有的控制器(比如网卡芯片),就需要发送指令到网卡芯片完成对网卡芯片的初始化等操作。
3、对于CPU内部已经存在的控制器,同时外设还需要初始化的设备(比如camera摄像头),就需要分成两次初始化:第一次初始化CPU内部的控制器,第二部初始化外设。
 楼主| JOHNSON 发表于 2010-7-2 19:54:26 | 显示全部楼层
很好,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-19 16:00 , Processed in 1.034193 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表