新闻中心

EEPW首页>嵌入式系统>设计应用> 利用Java良好的移植特性的FPGA可编程嵌入式系统

利用Java良好的移植特性的FPGA可编程嵌入式系统

作者: 时间:2012-07-12 来源:网络 收藏

应用程序通过类HWInterface提供的方法访问本地库。上面的代码中给出了setParam的具体实现。其中,CID是包括硬件方法映射到的缓存地址的一个对象,对应于每个硬件方法的CID都是唯一的,因此,该地址和缓存区大小都是事先已经确定了的。但是,由于中只有一个配置控制器,我们无法同时就两个或多个硬件方法向进行编程,也可以说同一时刻只能有一个硬件方法在使用配置控制器。为此,引入了一个静态变量ConfigStatus来反映配置控制器的当前状态。所以,访问配置控制器的函数configHW()是静态的同步的。

本文引用地址://m.amcfsurvey.com/article/148784.htm

  使用上面给出的接口,则下面这段代码

  methodA()

  {

  …;

  int a = objA.m1(2); //SW method

  int b = objB.m2(3); //HW method

  int c = a + b;

  …;

  }

  就应该写成下面的形式:

  methodA()

  {

  …;

  1 HWInterface.configHW(cid2); // cid2 is the ID of HW method m2

  2 Object P = new Integer(3);

  3 HWInterface.SetParam(cid2,P);

  4 HWInterface.startHW(cid2);

  5 int a = objA.m1(2);

  6 Object R = new Integer();

  7 While(HWInterface.getResult(cid2, R) == 0)

  ; //wait until HW method finished

  8 HWInterface.getResult(cid2, R);

  9 int b = ((Integer)R.getValue());

  10 int c = a + b;

  …;

  }

  在上例中,为了执行中的函数objB.m2(),首先对进行编程(Line1)。然后,将参数拷贝到硬件方法的输 入缓存中(Line3),并对硬件方法进行初始化(Line4)。最后,采用了一个循环函数持续检查硬件方法缓存的状态(Line7,8),直至计算完成,然后拷贝得到结果(Line9)。

  3.实现

  使用ARM710T处理器和Virtex的FPGA,根据上文给出的设计方案,我们实现了一个开发平台。该平台包括一个网络接口,两个调试接口,一个PCI主机接口和一个串行口。并了一个操作系统和一个小巧的实时运行环境。如图4:

  4. 总结

  本文用一种全新的思路,对传统的系统进行了改进,实现了一种能够支持多种应用的嵌入式系统平台。FPGA的性和平台性能,该平台完全能够满足我们的设计要求。当然,也有不足之处,比如对配置控制器的状态的获取,可以考虑使用中断的方式来实现,而不是采用本文中的循环查询机制。这将在以后的工作中加以改进。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭