This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

有关把Keystone I开发包中的SRIO例程移植到SYS/BIOS中的问题



        使用的是EVM6678LE,现在尝试把论坛提供的软件开发包中的SRIO例程移植到SYS/BIOS下。之前研究过SYS/BIOS的user guide,在SYS/BIOS里有一个Hardware Abstraction Layer,其中包含的API直接对cache、中断和定时器进行配置和操作。我也注意到文档中的提示,这些API会和CSL中的相关函数发生冲突,不能同时使用。有几个问题想请教一下。

1、在SYS/BIOS中,有关cache、中断和定时器的操作,是不是必须要使用BIOS提供的这些API函数?下面是SYS/BIOS user guide 7.1节开头部分的一段话,好像就是这个意思。

那能否在cfg文件中不配置相关模块,而全部直接使用CSL中的函数?(我已经尝试过,在SRIO例程中,对cache进行操作的函数都不进行修改,在SYS/BIOS下相应部分的代码可以运行通过)

2、除了cache、中断和定时器部分,若要把程序完全移植到SYS/BIOS中,还有哪些地方需要注意和修改?

3、同样的程序,在SYS/BIOS环境下和不使用SYS/BIOS时,哪一种情况下代码执行会更快,会有运行效率上的差异吗?

4、软件开发包中的例程几乎全是基于CSL底层驱动,这些问题是不是也适用于其他例程?

      期待解答,谢谢!

  • 1. 是的,需要 使用bios自带的函数;

    2. SRIO,EMAC,PCIE等等这些外设的初始化可以用CSL;

    3. 对于单个函数,没有区别,对于整个系统,可能会引入5%左右的loading增加;

    4. 凡是在BIOS里使用cache,interrupt,timer的,都应该使用BIOS自带驱动。