嵌入式开发者社区

标题: 《基于下载器的程序固化与加载》相关问题 [打印本页]

作者: czs----Tronlong    时间: 2019-12-17 13:43
标题: 《基于下载器的程序固化与加载》相关问题
FreeRTOS例程固化失败   


    我们自己开发的程序采用freertos,已通过jtag测试过。在固化程序时设置了对应的u-boot环境变量,断电重启后,系统无法运行,一直在重启,打印信息如下图所示:

        代码已经在调试的时候测试过了,就是在xilinx sdk中运行debug;我这的堆栈倒是开的挺大的,是否是因为堆栈的配置问题呢?
[attach]6209[/attach]
[attach]6210[/attach]











解决办法

从您的打印信息来看,有如下错误地方,地址应该是:

## starting application at 0x00000000 ...
undefined instruction

       请确认FreeRTOS例程的ELF文件的start address是否正确









作者: czs----Tronlong    时间: 2019-12-17 14:00
客户问题1

使用Vivado 2018.2,将自己开发的vivado工程编译生成了.bin文件 ,然后参照创龙《基于下载器的程序固化与加载》文档,已经将QSPI 器件时钟设置为 50MHz,最后打开SDK使用XSDK烧写自己生成的BOOT.bin到SPI FLASH失败

[attach]6158[/attach][attach]6159[/attach][attach]6157[/attach]

客户问题2

直接使用创龙光盘的BOOT.BIN和fsbl.elf文件烧写,会一直卡在XSDK烧写界面的进度条不动了,等了有10+分钟也是无法烧写进去

[attach]6162[/attach]

[attach]6161[/attach]

[attach]6160[/attach]









问题答复

1.  Xilinx的BOOT.BIN文件是由FSBL、 U-Boot 、 Bitsream和裸机/FreeRTOS 程序综合生成;我司认为在开发调试阶段, Bitsream和裸机/FreeRTOS 程序需要频繁修改,这样会导致每一次修改都需要重新生成BOOT.BIN文件。
     因此我司将FSBL单独抽出作为BOOT.BIN文件。

[attach]6163[/attach]


2.    我司ZYNQ平台案例默认使用Vivado 2017.4开发,使用其他版本的Vivado可能会出现无法烧写的情况。建议使用我司例程配套的Vivado 2017.4,或者先使用Vivado看看能否烧写SPI FLASH,然后再用XSDK测试;







欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4