从零开始:手把手教你用复旦微FMQL45T900搭建ARM+FPGA开发环境
从零开始:手把手教你用复旦微FMQL45T900搭建ARM+FPGA开发环境
最近几年,国产芯片的势头越来越猛,尤其是在一些对供应链安全有要求的领域。我手头正好有一块复旦微电子的FMQL45T900开发板,这块板子对标的是Xilinx的ZYNQ 7045,集成了四核Cortex-A7的ARM处理器和一片逻辑规模不小的FPGA。对于习惯了Xilinx Vivado和Petalinux生态的工程师来说,初次接触国产平台,从工具链到开发流程,确实会遇到不少“水土不服”的地方。这篇文章,我就结合自己从开箱到跑通第一个“Hello World”的完整过程,把踩过的坑和总结的经验,毫无保留地分享给各位。无论你是想评估国产替代方案的资深工程师,还是刚接触异构SoC的初学者,这篇详尽的指南都能帮你快速搭建起一个可用的开发环境,把这块性能不错的国产芯片真正用起来。
1. 开箱与硬件初识:理解你的开发平台
拿到FMQL45T900开发板(市面上常称为FM4550开发板),第一件事不是急着上电,而是花点时间搞清楚它的硬件配置和资源分布。这能帮你后续在软件配置时,心里有张清晰的“地图”。
这块板子的核心是一颗FMQL45T900芯片,它采用了一种被称为“全可编程融合芯片”的架构。简单来说,就是把一个处理系统(PS, Processing System)和一个可编程逻辑单元(PL, Programmable Logic)做在了同一颗硅片上。PS部分是一个四核的ARM Cortex-A7处理器集群,主频800MHz,配备了1GB的DDR3内存(PS端)。PL部分则是一片拥有约35万逻辑单元的可编程FPGA,它也有自己独立的1GB DDR3内存(PL端)。这种PS+PL的架构,与Xilinx的ZYNQ系列在理念上是一脉相承的,这也是它能作为替代方案的一个重要基础。
除了核心芯片,板载的外设资源也非常丰富,这决定了你能用它来做什么。我整理了一个简化的接口资源表,方便你快速查阅:
| 接口/模块 | 所属部分 | 关键参数与说明 |
|---|---|---|
| 以太网 | PS端 & PL端 | 各1路RJ-45,PS端通常为RGMII,PL端可能用于高速或定制协议。 |
| 存储 | PS端 | 8GB eMMC(系统与数据)、2x128Mb QSPI Flash(启动配置)。 |
| PCIe | PL端 | 1路PCIe x4接口,支持Gen2,可用于高速数据采集卡或扩展。 |
| FMC HPC | PL端 | 高速扩展接口,包含84对差分IO和6对GTX高速收发器,扩展性极强。 |
| SFP | PL端 | 1个SFP光纤模块笼子,用于光通信或高速串行互联。 |
| 调试接口 | PS端 & PL端 | 独立的PS-JTAG和PL-JTAG,用于处理器和FPGA的分别调试。 |