zynq无外部RAM在QSPI Flash下XIP模式加载运行前导

2016-11-17 02:31 阅读 723 次 评论 0 条

有了在vivado2016.2版本下运行加载QSPI Flash xip_mode的成功经验,还是决定在vivado2015.1版本下再实践一把,并且这次是通vivado sdk自带工程模板修改实现QSPI xip,而不是直接覆盖代码实现。

同时也为了验证fsbl xip与应用程序helloworld在L2 cache中运行是可以分别实现的,即在无ddr情况下,在ocm中运行fsbl与helloworld,可以演变为fsbl在qspi中运行xip模式,而helloworld仍然在ocm中运行,则为下文中的第一阶段的内容。

计划将整个实验过程分为三个阶段:

第一阶段,完成fsbl为xip模式,helloworld程序仍然在ocm中运行的加载过程

第二阶段,完成fsbl为xip模式,helloworld程序在L2 cache中运行

第三阶段,完成fsbl为xip模式,helloworld程序与arm1核程序amp运行方式

第一阶段的内容在无ddr的情况,可能会使用外部SRAM等外部存储器,相当于OCM,所以相对来讲第一阶段的实用型更强,应用范围更大。

第二、三阶段将应用程序放到L2 cache中运行,而数据段、堆和栈等仍然需要放到ocm中,一则ocm容量有限,支持数据容量不够大;二则L2 cache总共为512KB,代码段的数量也将不大,所以这种应用适合PL部分完成大部分工作,而arm部分只需完成少量控制工作的应用场景,即完全不需要外部存储器的场景。

考虑对于应用来说,也没有必要将三个阶段都重复来一遍,所以在三个阶段的编写上,都是从头开始写,这样从任何一个阶段开始都可以达到本阶段的成果,内容上有部分重复的地方。需要的同学可以根据应用的具体需求进行移植。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:zynq无外部RAM在QSPI Flash下XIP模式加载运行前导 | 起点博客
分类:应用笔记 标签:, , , , , , ,

发表评论


表情