1、要编写一个程序,读写数据总线D0-D20的数据,用片选4或5,当有数据时,发中断7,相应中断后,片选使能,将数据发到数据总线上,你看是否有现成的例子,及编程应注意的问题。
需求可以重新描述如下:数据总线宽度为21位,当数据准备好以后,需要给5307CPU发一个中断信号,5307CPU收到中断信号后,进入中断服务程序,读取这21位数据。
首先,硬件设计要保证正确。
5307CPU与Intel CPU不同,外设数据的低8位接5307CPU
的D25-D31,8-15位接D16-D24,16-24位接D8-D15,25-31位接D0-D7。
5307CPU的数据总线与外设之间需要用74LVT16245之类的总线收发器件隔离。
中断使用中断1或中断5,负电平有效。软件在进入中断服务程序之后要能够清除中断。
外设采集数据时应该使用FIFO或者双端口RAM对数据进行缓存,因为uClinux不是一个实时操作系统。
可能的情况下,使用查询而不是中断方式,以减小硬件和软件的设计复杂程度。
其次,软件设计主要是驱动程序的设计。驱动程序的初始化函数中要对片选信号进行初始化。一个比较完整的例子参考:
home/uClinux-coldfire/Linux/drivers/char/keypad.c
这是一个键盘接口的驱动程序,可以使用查询和中断2种方式读取外接键盘的键值。
2、我要编程动态调整IP,并保存,是否有办法,不重新起动5307A
参考程序/home/uClinux-coldfire/user/route/ifconfig.c
3、5307A中如何解决组播协议不支持的问题。
1楼
0
0
回复