作者:joy_v
原文链接: https://blog.csdn.net/longfei_3/article/details/105277058
声明:本文由原创博主授权转发,如需转载请联系博主
疫情期间是真爽,睡觉睡得我啥也不想干,本来也琢磨着继续更新,无奈开工就很忙,天天只想睡觉,自从爽了一个月,我就只想睡觉,看来我要买点亚麻籽油提提神了,碰巧最近有网友问他的双核没法正常工作,我试了下,是可以的,但是这当中也遇到点bug,好吧,开始干活吧。
实现:cpu1跑echo server例程,cpu0跑helloword。
配置继续使用上个教程的,不明白的可以移步这里: http://xilinx.eetrend.com/blog/2020/100048439.html
硬件配置如下,同echo server例程完全一样
生成的文件
打开vitis,一步步创建
既然用cpu1跑echo server,那我先从CPU1开始创建吧
创建好之后
选中lwip
点锤子编译
先创建一个echo server 在CPU1上试试
选择刚才的xsa
选择cpu 1
选择 echo server
选中工程,点个锤子编译一下
运行一下,打印出来了
测试回传,效果正常,CPU1跑的工程没啥幺蛾子。
删除当前的工程,准备测试双核
先添加cpu0 的支持包
保持命名一致,选择CPU0(processor一定别搞错)
添加完成,点个锤子编译一下
开始创建双核工程,先给CPU1创建echo server工程
再给CPU0搞个大项目
两个工程创建好了
修改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保存
稍微修改一下工程代码,让CPU0一直干活一直干活一直007
代码:
#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工程
工作正常
开始双核测试,把两个工程都选中
看打印两颗核心已经能够正常工作了
测试一下回传
也可以工作了