本帖最后由 robe.zhang 于 2021-3-14 19:26 编辑
Xilinx SDK 是xilinx 的软件开发工具,这个名字好奇怪,应该取个属于自己的名字,比如 vivado,直接叫 SDK 太没有存在感。
xilinx SDK 软件开发流程:
1,创建项目,编辑代码,编译项目
2,创建 FSBL 启动项目
3,创建 PMU 平台管理项目(可选)
4,打包启动镜像
创建项目时添加 hardware platfomr 项目,即 FPGA 导出的 hardware platform,xilinx SDK软件会自己分析 hardware platform文件,获取所有的硬件信息,从 MPSoC 逻辑电路开发到软件开发就可以衔接起来了。
启动Xilinx SDK 软件: 或者从电脑开始菜单,启动Xilinx SDK 软件: 启动过程中设置一下工作目录为 project_1.sdk ,导入 hardware 信息 Xilinx SDK 导入 hardware platform 后: 新建项目:点 file, new,project: 取名,其他设置如下: 应用项目有很多可选项,比如 os 可选 freeRTOS,裸机,linux: Hardware platform 就是从这里导入 FPGA 的硬件设计:硬件开发到软件开发,通过此 hardware platform 衔接起来了 Processer 选择有多个核心可选: 目标程序类型: 项目创建完成会自动编译,编译完,应用软件开发完成 不想自动编译,也可以取消,如下图,去掉勾: 软件运行前,芯片需要引导启动,需要创建 fsbl 项目; fsbl 编译完成,创建 hellow world 启动镜像: 启动镜像中添加 fsbl 启动程序和 hello_world 应用程序: 生成的启动镜像文件位于 hello_world 项目的bootimage 目录中 把BOOT.bin 文件复制到 SD 卡的第一个分区,启动 Hello_world.bif文件是给 XilinxSDK 用的,用来打包BOOT.bin,板子启动不需要 程序运行正常: 改改代码:重新编译程序,重新打包启动镜像 把 BOOT.bin 复制到 SD 卡第一个分区,启动后输入信息,回显信息,如此循环: 输出信息显示 PMU-FW not running,那就创建个 PMU-FW 出来: process 要选 pmu:
使用默认项目代码:
创建完成编译通过,回到 hello world 项目,创建启动镜像,添加 pmu 编译出来的 elf 文件,调整文件顺序为 fsbl ,pmu,hellow_world。生成启动镜像:
再次启动没有 PMU-FW not running。如果打开PMU DEBUG 信息和FSBL DEBUG 信息,会显示如下启动过程:
本文所有启动镜像备份在 github:
https://github.com/robe-zhang/edgeboard_fz5c_fsbl_with_debug https://github.com/robe-zhang/edgeboard_fz5c_bare_program https://github.com/robe-zhang/edgeboard_fz5c_pmu_with_debug
|