OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5491|回复: 3

[XILINX] FreeRTOS工程怎么固化到QSPI?

[复制链接]

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2019-7-17
在线时间
57 小时
发表于 2020-2-26 15:37:11 | 显示全部楼层 |阅读模式
开发环境:Win Xilinx SDK 2018.3
硬件环境:ZYNQ 7020 不使用DDR

FreeRTOS工程,直接Run As Launch on Hardware是可以直接运行的。
FreeRTOS工程不能创建FSBL工程,怎么固化到QSPI呢?
20200226152444.png

如果创建standalone OS Platform工程是可以创建FSBL示例工程。
如果以这个示例工程创建Boot Image的话,Program Flash会出现以下错误。
  1. ****** Xilinx Program Flash
  2. ****** Program Flash v2018.3 (64-bit)
  3.   **** SW Build 2405991 on Thu Dec  6 23:38:27 MST 2018
  4.     ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.


  5. Connected to hw_server [url=home.php?mod=space&uid=95564]@[/url] TCP:127.0.0.1:3121
  6. Available targets and devices:
  7. Target 0 : jsn-JTAG-HS1-210512180081
  8.         Device 0: jsn-JTAG-HS1-210512180081-4ba00477-0

  9. Retrieving Flash info...

  10. Initialization done, programming the memory
  11. ===== mrd->addr=0xF800025C, data=0x00000000 =====
  12. BOOT_MODE REG = 0x00000000
  13. Downloading FSBL...
  14. Running FSBL...
  15. Finished running FSBL.
  16. ===== mrd->addr=0xF8000110, data=0x000FA240 =====
  17. READ: ARM_PLL_CFG (0xF8000110) = 0x000FA240
  18. ===== mrd->addr=0xF8000100, data=0x00036008 =====
  19. READ: ARM_PLL_CTRL (0xF8000100) = 0x00036008
  20. ===== mrd->addr=0xF8000120, data=0x1F001900 =====
  21. READ: ARM_CLK_CTRL (0xF8000120) = 0x1F001900
  22. ===== mrd->addr=0xF8000118, data=0x000FA240 =====
  23. READ: IO_PLL_CFG (0xF8000118) = 0x000FA240
  24. ===== mrd->addr=0xF8000108, data=0x00036008 =====
  25. READ: IO_PLL_CTRL (0xF8000108) = 0x00036008
  26. Info:  Remapping 256KB of on-chip-memory RAM memory to 0xFFFC0000.
  27. ===== mrd->addr=0xF8000008, data=0x00000000 =====
  28. ===== mwr->addr=0xF8000008, data=0x0000DF0D =====
  29. MASKWRITE: addr=0xF8000008, mask=0x0000FFFF, newData=0x0000DF0D
  30. ===== mwr->addr=0xF8000910, data=0x000001FF =====
  31. ===== mrd->addr=0xF8000004, data=0x00000000 =====
  32. ===== mwr->addr=0xF8000004, data=0x0000767B =====
  33. MASKWRITE: addr=0xF8000004, mask=0x0000FFFF, newData=0x0000767B
  34. Problem in running uboot
  35. Flash programming initialization failed.

  36. ERROR: Flash Operation Failed
复制代码




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

712

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2177
金钱
2177
注册时间
2018-8-27
在线时间
257 小时
发表于 2020-2-26 17:43:05 | 显示全部楼层
没玩过FreeRTOS不知道,帮顶!
森罗万象
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2019-7-17
在线时间
57 小时
 楼主| 发表于 2020-2-26 21:34:48 | 显示全部楼层
xiaotaotao 发表于 2020-2-26 17:43
没玩过FreeRTOS不知道,帮顶!

谢谢,刚接触ZYNQ,坑有点多
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2019-7-17
在线时间
57 小时
 楼主| 发表于 2020-3-3 14:02:08 | 显示全部楼层

2020年3月3日更新:
烧不进去原因:
    没有使用到DDR。
因为目前想法是用ZYNQ7020替换原来板子上的MCU和CPLD,所以能不用DDR就不用DDR。

经过多天尝试,找到不使用DDR方法将裸机程序固化到QSPI里。
使用OCM运行程序:
OCM 256K,分为ps7_ram_0 192K,ps7_ram_1 64K,
FSBL程序运行在ps7_ram_0 上, APP程序运行在ps7_ram_1上,这样导致问题是APP程序不能大于64K,FreeRTOS工程helloworld示例都不止64K。
由于禁止了DDR,FSBL无法将bit文件搬到FPGA里,DDR是作为中间缓存用的。

由于能力有限,卡在这好久了。
原子哥可以出个相关的教程吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-10-3 09:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表