田春冰河
26-02-04 09:01

[1/3] 终于成功地把 Xilinx FPGA 开发板的嵌入式开发流程走通了,成功地在 Microblaze 软核上运行了一个 hello world(输出到串口)。价值 8000 多元的开发板,目前我就能跑一个 hello world…… 这个 C 程序的代码是现成的,但是开发板的电路图是我在查询大量文档后自己画的,因为每个板子的情况都不一样,网上的 Tutorial 没有一个是可以无需改动直接拿来用的。这个板子的输入时钟 200MHz,首先连接到 DDR3 内存控制器(用 FPGA 实现的)上。文档上推荐用它输出的时钟作为软核的时钟,结果没想到它输出的 225MHz 时钟频率太高了,超过了这个板子上该软核所能达到的最大频率。添加了一个变频的环节(降到 100Mhz)以后才成功满足了时序要求(180Mhz 好像也行),然后从 Vivado 切换到 Vitis,用它自带的 GCC 把 C 代码编译成 Microblaze 平台的可执行文件,连同 FPGA 位流一起刷到开发板上,同时用 minicom 连接到串口就能看到输出,还可单步调试。这就是传说中的嵌入式系统(bare metal 模式),追求的不是高性能计算,而是控制开发板上连接的各种额外硬件去做一些类似家用电器的事情。

发布于 辽宁