如何使用文件系统直接在处理器中运行代码?
How can I run a code directly into a processor with a File System?
我有一个简单的各向异性过滤器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硬件运行。这将通过外部内存运行应用程序。你不能看到图像,但在内存中表示图像的二维数组可以在控制台上打印。
- 如何在linux终端中同时编译和运行c++代码
- 尝试用java代码编译和运行c++代码
- 不同/较旧的处理器运行c++代码的方式是否不同
- 无法在 geany 上运行代码。无法执行构建命令
- 运行代码时,c++ 会终止进程
- 编译多个C++文件.调用二进制文件以运行代码
- 分段故障 运行C++代码时出现 SIGSEGV
- 如何分析在 Windows 上运行C++代码?
- 编译器资源管理器(godbolt)如何安全地运行代码?
- 如何在 vim (windows) 中编译和运行 c++ 代码
- 无法在 Visual Studio 代码中生成和运行 C++ 代码
- 连续运行C++代码和 Python 代码
- 在静态初始化期间运行代码
- C++ .我正在尝试通过使用开关内的数组来获取用户输入,但是当我运行代码时,它显示分段错误?
- 我最近更改了编译器路径以运行 c++ 代码,但现在我无法运行任何 python 代码。我该如何解决这个问题?
- 如何在Visual Studio Code的终端内运行C++代码?
- 在注入的 Dll 的 DllMain 中运行代码导致注入超时
- 并行和顺序运行代码时会产生不同的结果
- 运行代码时C++错误
- 在 CortexM0 中从 RAM 运行代码时出现硬故障