zynq中mgtx应用_基于ZYNQ的UCOS移植(TCP通讯)

一、功能简介
    通过第三方库创建SDK工程

    在ZYNQ-UCOS中实现TCP echo通讯

二、配置需求

操作系统    Windows 10(64位)
开发环境    SDK 2018.3
三、操作流程

1、添加资源库。启动SDK软件,选择Xilinx->Repositories弹出Perferences视图,在Local Repositories中添加ucos资源库(ucos 资源库下载链接 见附件部分 )。

2、创建新工程。选择File->New->Application Project弹出New Project视图,输入工程名称ucos_tcp,选择操作系统平台ucos,点击Next>,在弹出的Templates选项中选择Micrium uc/OS- Ⅱ Hello World,点击Finish完成基础示例工程的创建。

3、配置emac。 在ucos_tcp_bsp文件 夹上单击鼠标右键,选择Board Support Pcakage Settings,在弹出的Board Support Pcakage Settings视图中选择drivers,修改ucos_emacps为emacps,单击OK完成emac的配置。

4、移植Lwip。将lwip212文件夹及内容拷贝到工程源文件目录下(Lwip资源库下载链接见附件部分)。

5、设置 头文件路径 ,在src文件夹上单击鼠标右键,选择Properties,在弹出的Properties for src视图中选择C/C++ Build->Settings->Directories,在Include Paths中依次添加lwip212文件下的contrib、contrib/xilinx/include,lwip-2.1.2/include三个文件夹。单击Apply应用配置变更,单击OK退出 Properties for src视图。

6、删除报错的头文件。
注释/ucos_tcp/src/lwip212/contrib/xilinx/include/netif/xemacpsif.h中xuartps.h的引用

注释/ucos_tcp/src/lwip212/contrib/xilinx/netif/xemacpsif.c中xuartps.h的引用

注释/ucos_tcp/src/lwip212/contrib/LwipEnter.h中platform_config.h的引用

7、修改入口函数文件。将app.c文件进行如下修改。

#include "ucos_ii.h"
#include "LwipEnter.h"

OS_STK  Polling_thread_Stk[256u];
OS_STK  LwipEnter_thread_Stk[512u];
void  MainTask (void *p_arg);
void  PollingTask (void *p_arg);


int main()
{
    UCOSStartup(MainTask);
    return 0;
}


void  MainTask (void *p_arg)
{    
    OS_CPU_SR cpu_sr;  
    OS_ENTER_CRITICAL();  
    // Create Task  
    OSTaskCreate(PollingTask, (void*)0, (OS_STK*)&Polling_thread_Stk[255u], 20u);  
    OSTaskCreate(LwipEnter_thread, (void*)0, (OS_STK*)&LwipEnter_thread_Stk[511u], 50);                      
    OS_EXIT_CRITICAL();     
    // Suspend this Start Task after initialization  
    OSTaskSuspend(OS_PRIO_SELF);
}


void  PollingTask (void *p_arg)
{    
	UCOS_Print ("Hello world from the main task\r\n");    
	while (DEF_TRUE) 
	{        
		OSTimeDlyHMSM(0, 0, 3, 0);
		UCOS_Print("Periodic output every 3 seconds from the main task\r\n");    
	}
}
		

8、调试配置。调试配置如下图所示。

9、启动调试。将测试PC机IP设置为192.168.1.99(与Zedboard处于同一网段),子网掩码为255.255.255.0。此时即可通过网口调试助手测试TCP的通讯功能。

四、资源链接

链接:https://pan.baidu.com/s/1iVkFfXC964F7cCZVK8URCA

提取码:s5p1

相关资源:zynq_ucos lwip usb.zip

 

 

原文链接:

https://blog.csdn.net/weixin_39517868/article/details/111682824?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161898694016780264031699%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161898694016780264031699&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-2-111682824.first_rank_v2_pc_rank_v29&utm_term=zynq%E7%BD%91%E7%BB%9Cucos

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值