Xilinx vitis学习教程:ZYNQ之双核使用(3)

        疫情期间是真爽,睡觉睡得我啥也不想干,本来也琢磨着继续更新,无奈开工就很忙,天天只想睡觉,自从爽了一个月,我就只想睡觉,看来我要买点亚麻籽油提提神了,碰巧最近有网友问他的双核没法正常工作,我试了下,是可以的,但是这当中也遇到点bug,好吧,开始干活吧。

       实现:cpu1跑echo server例程,cpu0跑helloword。

      配置继续使用上个教程的,不明白的可以移步这里:https://blog.csdn.net/longfei_3/article/details/103882050

硬件配置如下,同echo server例程完全一样

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第1张图片

生成的文件

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第2张图片

打开vitis,一步步创建

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第3张图片

 

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第4张图片

 

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第5张图片

既然用cpu1跑echo server,那我先从CPU1开始创建吧

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第6张图片

创建好之后

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第7张图片

选中lwip

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第8张图片

点锤子编译

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第9张图片

先创建一个echo server 在CPU1上试试

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第10张图片

选择刚才的xsa

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第11张图片

选择cpu 1

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第12张图片

选择 echo server

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第13张图片

选中工程,点个锤子编译一下

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第14张图片

运行一下,打印出来了

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第15张图片

测试回传,效果正常,CPU1跑的工程没啥幺蛾子。

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第16张图片

删除当前的工程,准备测试双核

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第17张图片

 

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第18张图片

先添加cpu0 的支持包

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第19张图片

保持命名一致,选择CPU0(processor一定别搞错)

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第20张图片

添加完成,点个锤子编译一下

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第21张图片

开始创建双核工程,先给CPU1创建echo server工程

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第22张图片

 

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第23张图片

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第24张图片

再给CPU0搞个大项目

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第25张图片

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第26张图片

两个工程创建好了

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第27张图片

修改CPU0工程的ld文件,一定要按ctrl+s保存

一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存一定要按ctrl+s保存

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第28张图片

稍微修改一下工程代码,让CPU0一直干活一直干活一直007

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第29张图片

代码:

#include 
#include "platform.h"
#include "xil_printf.h"
#include 

void delay()
{
	uint32_t i,j;
	for(i=0;i<65535;i++)
	{
		for(j=0;j<1000;j++)
		{

		}
	}
}

int main()
{
    init_platform();


   while(1)
   {
	   print("cpu0 do nothing_1\n\r");
	   delay();
	   print("cpu0 do nothing_2\n\r");
	   delay();
   }
}

先单独跑下CPU0工程

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第30张图片

工作正常

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第31张图片

开始双核测试,把两个工程都选中

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第32张图片

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第33张图片

看打印两颗核心已经能够正常工作了

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第34张图片

测试一下回传

Xilinx vitis学习教程:ZYNQ之双核使用(3)_第35张图片

也可以工作了

 

 

 

 

 

你可能感兴趣的:(ZYNQ)