嵌入式开发者社区
标题:
《基于下载器的程序固化与加载》相关问题
[打印本页]
作者:
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