FMQL BOOT.bin固化文件生成及固化流程记录
一、概述
此篇记录上海复旦微JFMQL15T开发板 烧录固化文件BOOT.bin生成及固化操作流程。
以上一篇文章FQML_AXI_GPIO工程构建调试记录 中的工程为基础,做更改。
二、vivado工程配置
2.1新建工程
打开FQML_AXI_GPIO工程构建调试记录的vivado工程依次点击File–>Project—>Save As…新建工程qspi_program。
2.2 vivado处理器外设配置
使能DDR,型号选择MT41J256M16 RE-125
使能PS_UART
使能QSPI 接口
配置QSPI 时钟源频率为120MHz
2.3 新建SDK工程(bsp备用)
导出HDL,生成bitstream文件,(详细步骤可参考FQML_AXI_GPIO工程构建调试记录中相关章节)launch SDK新建应用工程,如下图所示
三、procise工程配置
3.1 新建procise工程
3.1.1新建空白工程
3.1.2从vivado 导入
3.1.3 生成IAR工程
导出模板
3.2 完善IAR工程
添加头文件
standalone_v6_8/src下添加源文件
gpio驱动部分添加源文件和头文件
xparameters.h文件中注释掉#include “xparameters_ps.h”
xgpio_l.h中注释掉#include “xil_io.h”,添加#include “fmsh_common.h”
更改读写接口宏定义
#define XGpio_In32(addr) FMSH_ReadReg(addr,0x0)
#define XGpio_Out32(addr,data) FMSH_WriteReg(addr,0x0,data)
四、IAR工程编译生成.out文件
4.1 更改工程编译生成fsbl.out
4.2 更改工程编译生成Helloworld.out
4.2.1 编辑主程序
编辑主程序
#include <stdio.h>
#include “platform.h”
#include “fmsh_common.h”
#include “xgpio.h”
#include “fmsh_ps_parameters.h”
int FGpioOutputExample(void);
int main()
{
//init_platform();
FMSH_WriteReg(FPS_SLCR_BASEADDR, 0x008, 0xDF0D767BU);
FMSH_WriteReg(FPS_SLCR_BASEADDR, 0x838, 0xf);
FMSH_WriteReg(FPS_SLCR_BASEADDR, 0x004, 0xDF0D767BU);
//printf(“1\r\n”);
while (1)
{
FGpioOutputExample();
}
//cleanup_platform();
return 0;
}
int FGpioOutputExample(void)
{
XGpio led_out;
u32 led_channel = 1;
int status;
u32 maxloop = 3;
u32 led_bit;
u32 led_width = 4;
u32 i;
status = XGpio_Initialize(&led_out, 0);
if(status != XST_SUCCESS)
{
return XST_FAILURE;
}
//set all output
XGpio_SetDataDirection(&led_out, led_channel, 0x0);
//set GPIO outputs to high
XGpio_DiscreteWrite(&led_out, led_channel, 0x0F);
for(i = 0; i < maxloop; i++)
{
for(led_bit = 0; led_bit < led_width; led_bit++)
{
XGpio_DiscreteWrite(&led_out, led_channel, ~(1<<led_bit));
delay_ms(200);
}
}
return 0;
}
4.2.2 更改ps初始化配置
更改Hello world工程下的FM_QL_bsp–>ps_a7–>bootloader下的bspconfig.h文件
4.2.3 编译生成HelloWorld.out
五、制作BOOT.bin文件
5.1 启动procise 中BOOT.bin制作应用接口
5.2 生成.bif文件后续直接导入BOOT.bin生成配置
5.3 添加FSBL.out文件
5.4 添加vivado中的bit文件
5.5 添加应用程序HelloWorld.out文件
5.6 生成BOOT.bin文件
六、烧录
6.1 启动Program Flash
烧录到QSPI_Flash中,在procise 中依次点击PSOC—>Program Flash,然后添加BOOT.bin文件
6.2 配置烧录偏移量,点击program
6.3 等待烧录
6.4烧录完成提示
七、IAR在线调试
进入调试模式
选择JTAG目标设备选择Cortex-A7
八、总结
按照此篇的操作步骤可完整实现上FMQL的 BOOT.bin文件生成烧录以及IAR工程在线调试,包含fsbl工程及编译配置,应用程序配置,BOOT.bin生成所需的文件添加顺序等,最终烧录到QSPI Flash中。