基于ZYNQ的嵌入式学习笔记六(在standalone上实现AMP以及Flah烧写)

一、ZYNQ上的多核

CMP——Chip Multiple Processor.

同构:指令集和体系结构完全一样;异构:ZYNQ介于同构h和异构之间,单看PS为同构,加上PL可实现异构,可支持AMP和SMP,AMP方案更丰富,手机上的芯片一般集成了CPU和ARM核为异构。

AMP(非对称):分离的操作系统,每个核独自运行不同的任务,由其中一个作为管理;SMP(对称的):一个OS同时管理所有的处理器核,主要由同构处理器构成。BMP(边界);类似于SMP一个OS同时管理所有的处理器核,结合了对称和非对称处理器的优点。

CPU0的DDR占前512M的511M,起始地址为1M,CPU1的DDR占1GB的后512M。OCM一共252K,分为4块,每块64K,地址映射到4GB的最后256K。系统默认RAM0占3*64K,RAM1占64K,RAM1的地址从0XFFFF0000开始占据4GB控件的最后64K,RAM0占据4GB空间的从0开始的开头192K。ZYNQ的PS是32位机地址最大4GB,由于是统一编址DDR只能占1GB,也就是ZYNQ的DDR只支持1GB,默认OCM的192KB会和DDR的192KB重合,如果需要让两者完全分开就需要修改OCM的地址。

ZYNQ上电后的0X00000000地址指向的是内部ROM然后开始执行其第一行代码,根据条线选择决定是从FLASH存储器家在代码还是等待Jtag接口的额之灵,该阶段启动完成后ROM从地址空间消失,用户无法访问该ROM。如果是从F拉升存储器启动则会读取到CPU0的DDR起始地址,本次加载的代码叫做FSBL(First Stage BootLoader)FSBL首先会将Bit流文件下载到FPGA使得在Vivado中设计的硬件在FPGA中生成,接下来再从Flash中将CPU0和CPU1的应用程序加载到各自的DDR起始地址完成启动。

ZYNQ的多处理方案:双l裸机;裸机+Linux;双Linux.

我们今天实现的是双裸机,内存各占50%,设计共享内存加SGI的通信机制。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值