zynq7 双核处理器的最简单例子

59 篇文章 4 订阅
54 篇文章 4 订阅

 

全兼容ZEDBOARD 开发板子    SYSCLK.TAOBAO.COM 

今天终于有时间做这个事情。

首先从官方下载XAPP1079看看。

官方的X1079是基于XPS和SDK。并且也牵扯到了PL部分。

我们循序渐进,只实现两个处理器分别跑,没有联系,没有通讯和对话。

实验就先实现CPU0通过串口输出字符串,而CPU1则独立控制MIO7的LED进行闪烁。

 

因为不牵扯PL部分的配置和逻辑编写了,我们接下来面临三大部分要处理:

 

1, 编写FSBL。这里的FSBL跟我们以往单处理器的FSBL没有多大差别,做了初始化处理器的工作,之后就拷贝文件,拷贝文件之后就运行用户程序。

2,编写CPU0的应用程序,这里注意CPU1是由CPU0启动,CPU1启动的时候的PC指针设置的地址再0XFFFFFFF0这个地址里,这个地址是OCM的最高地址的32BIT。

CPU0执行 *(unsigned int *)0xfffffff0 = CPU1_PC,设置CPU1启动地址之后就开始执行SEV汇编指令,激活CPU1开始执行。

3,CPU1需要执行的应用程序,也要编写一下,因为这里不涉及PL,不涉及中断,不涉及与CPU0的互斥和同步,所以写CPU1的应用程序很随意。

 

 

我们按步就班来进行操作:

STEP1: 编写FSBL。我们这里之前的视频22就是使用BOOTGEN将内核,以及RAMDISC都生成一个单独文件。那时候我们指定了文件存放在处理器存储器的物理地址,这里我们也,但是我们这里我们要搬移的是两个ELF文件,ELF文件本身就有目的地址的信息,FSBL也会根据这个目的地址进行搬运。我们唯一关心的是在两个ELF搬运完毕后,如何让FSBL停止搬运。看代码:

 

 

 

 

<继续进行中。。。。>

SYSCLK.TAOBAO.COM  

 

 

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
文档共60页。主要向初学者提供了Zynq开发的技术方向,针对不同应用给出了基本的参考文档;同时对Zynq双核AMP加载方式做了详细描述,对Zynq的fsbl启动流程做了简单介绍。章节如下: Zynq User Guide 1 介绍 4 2 快速上手指南 4 3 多核开发教程 4 3.1 AMP开发说明 6 3.1.1 快速生成amp工程 6 3.1.2 Generating Boot File 8 3.1.3 烧写程序 9 3.1.4 启动 10 3.1.5 调试 10 3.1.6 总结 11 3.2 SMP开发说明 11 4 ZC706启动代码分析 11 4.1 启动代码 12 4.2 FSBL流程(FOR AMP) 13 4.3 CPU0启动CPU1流程 14 5 程序在线烧写方案及流程 14 5.1 程序烧写需求 14 5.2 提出该需求的原因 14 5.3 程序烧写方案 14 5.3.1 BOOT.BIN组成 14 5.3.2 BOOT.BIN生成方法 15 5.4 FSBL.BIN和APP.BIN等的生成 15 5.5 制作*BIN及烧写的具体步骤 15 5.5.1 制作*bin流程 15 5.5.2 BOOT.bin制作过程 15 5.5.3 FSBL.bin和APP.bin等的生成过程 22 5.6 烧写BOOT.BIN步骤 26 5.6.1 通过SDK工具烧写步骤 26 5.6.2 通过上位机烧写软件的烧写步骤 29 5.6.3 通过串口调试助手烧写步骤 29 6 Zynq Qspi控制器 30 6.1 基本特性 30 6.2 I/O接口 31 6.3 QSPI控制器模式 33 6.3.1 I/O模式 33 6.3.2 线性地址(linear address)模式 33 6.3.3 传统(legacy)SPI模式 34 6.4 QSPI 例程 34 6.5 QSPI控制器支持访问32MB方法 35 6.5.1 Bank地址寄存器(Bank address register) 35 6.5.2 扩展地址模式(Extended address mode) 35 6.5.3 使用新写命令(New commands) 35 6.6 QSPI FLASH选择 35 6.7 作为BOOT器件考虑 35 7 µC/OS系统启动指南 36 7.1 INTRODUCTION 36 7.1.1 Software Requirements 36 7.1.2 Hardware Requirements 36 7.2 HARDWARE DESIGN 37 7.2.1 Step 1. Invoke the Vivado IDE and Create a project 37 7.2.2 Step 2. Create an IP Integrator Design 39 7.2.3 Step 3. Add and setup the Zynq processor system IP block 39 7.2.4 Step 4. Customize the Zynq block for our design 41 7.2.5 Step 5. Add the soft peripherals 45 7.2.6 Step 6. Generate HDL Design Files 47 7.2.7 Step 7. Synthesis, Implement and Generate Bitstream 48 7.3 SOFTWARE DESIGN 49 7.3.1 Step 1. Installation of the µC/OS Repository 49 7.3.2 Step 2. Generate the µC/OS BSP 50 7.3.3 Step 3. Build and Debug the Demonstration Project 54 7.3.4 Step 4. Program the AXI Timer 0 with the ucos_axitimer Driver 55 7.3.5 Step 5. Program the AXI Timer 1 with the Xilinx tmrctr Driver 58 7.4 CONCLUSION 59 8 Linux系统启动指南 59

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值