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