如何使用文件系统直接在处理器中运行代码?

How can I run a code directly into a processor with a File System?

本文关键字:运行 代码 处理器 何使用 文件系统      更新时间:2023-10-16

我有一个简单的各向异性过滤器c/c++代码,它将处理。pgm图像,这是一个文本文件,每个像素的灰度信息,完成处理后,它将生成一个输出图像与过滤器应用。

这个程序在运行windows的x86 CPU上执行大约10次迭代需要一些秒。

我和一个正在攻读应用计算硕士学位的学者,我们需要在FPGA (Altera DE2-115)下运行代码,看看直接在处理器(NIOS 2)上运行代码是否有相当大的性能增益结果。

我们已经成功地在FPGA下启动了S.O uClinux,但是设备硬件存在一些错误,因此我们无法访问sd卡甚至以太网,因此我们无法将代码和图像进入FPGA以测试其性能。

所以我在这里要求一个替代的方法来测试我们的代码性能直接到一个文件系统的CPU,这样代码可以读取图像并生成另一个。

另一种选择可以是使用成本低且易于使用的产品(我正在考虑raspberry PI),或者如果我可以将代码上传到某个地方,为我自动运行并给我报告。

你要做的是在多GHz x86处理器和运行50MHz的软核处理器上对一些软件进行基准测试?(据我从Altera文档中了解到的)我可以保证它在FPGA上甚至会更慢!因为它也运行一个操作系统(甚至是嵌入式Linux),它也有线程开销等等。这不能被认为是"直接"在CPU上运行(不管你是什么意思)

如果你真的想利用FPGA的性能,你应该将你的c代码"转换"成HDL并直接在硬件中运行。访问数据应该是可能的。我不知道Altera板是怎么做的,但是Xilinx有一些库从带有FAT的SD卡访问数据。

您可以使用板载SRAM或DDR2 RAM来运行操作系统和应用程序。FPGA中的硬件设计必须包含内存控制器。在SOPC或Qsys中,选择外部存储器作为复位向量并进行编译设计。

然后打开NioSII用于Eclipse的构建工具。在Eclipse中通过选择NiosII Application和BSP项目创建新项目。项目创建后,转到BSP属性并在链接器选项卡中键入外部内存的偏移量并生成BSP。编译项目并作为Nios II硬件运行。这将通过外部内存运行应用程序。你不能看到图像,但在内存中表示图像的二维数组可以在控制台上打印。