硬汉嵌入式论坛

 找回密码
 立即注册
查看: 480|回复: 3
收起左侧

[μCOS-III] 求zynq板上ucos的开发例子

[复制链接]

2

主题

5

回帖

11

积分

新手上路

积分
11
发表于 2024-12-20 14:50:48 | 显示全部楼层 |阅读模式
有zynq板上ucos的开发例子吗,网上资料太少了,感谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-12-21 09:20:02 | 显示全部楼层
uCOS全家桶对Xilinx的Zynq-7000,Zynq UltraScale+ MPSoC和MicroBlaze全面支持,含手把手教程文档!
https://www.armbbs.cn/forum.php? ... 6767&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2024-12-31 18:14:29 | 显示全部楼层
哥 ,如何配置多网口呢? 这样只能配置一个硬件的网口。我在//
//    UCOS_TCPIP_IfCfgInit(&NetDevCfg2);
//    NetDevCfg2.MemAddr = 0xFFFF4000u;
//    NetDevCfg2.MemSize = 0x4000;
//    Xil_SetTlbAttributes(0xFFFF4000u, NORM_NONCACHE);
//    NetDevCfg2.BaseAddr = 0xE000B000u;
//    UCOS_TCPIP_PhyCfgInit(&NetPhyCfg2);
//
//    if_nbr2 = NetIF_Add((void*)&NetIF_API_Ether,
//           (void*)&NetDev_API_GEM,
//           (void*)&NetDev_BSP_GEM_0,
//           (void*)&NetDevCfg2,
//           (void*)&NetPhy_API_ksz9131rnx,
//           (void*)&NetPhyCfg2,
//           & err_net);
//       if (err_net != NET_IF_ERR_NONE) {
//           UCOS_Printf("UCOS - Error initializing GEM Interface. Error code %d\r\n", err_net);
//           return (DEF_FAIL);
//       }
//        NetIF_Start(if_nbr2, &err_net);
//        if (err_net != NET_IF_ERR_NONE) {
//              UCOS_Printf("UCOS - Error starting GEM Interface. Error code %d\r\n", err_net);
//              return (DEF_FAIL);
//          }
//        UCOS_Print("UCOS - GEM Interface started successfully.\r\n");
//        if_init_res = UCOS_TCPIP_IF_Cfg(if_nbr2);
aff0db59-08fa-4a9b-8376-c5717f709fad.png
回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2024-12-31 18:20:11 | 显示全部楼层
接上条。感谢大哥。就算只设置一个,改变基地址也无效。网口1是0xE000B000u  网口2是0xE000c000u。ucos中接口设置设置none都无法使用。网口1就只能使用0xE000B000u  ,而0xE000c000u 是无效的,这时该如何处理多网口,现在看来只能选择一个然后使用。我看示例也只有一个以太网和一个wifi的。附我的代码    NET_IF_NBR        if_nbr;
    NET_IF_NBR        if_nbr2;
    NET_ERR           err_net;
    CPU_BOOLEAN       if_init_res;


    UCOS_Print("UCOS - Initializing GEM Interface.\r\n");

    UCOS_TCPIP_IfCfgInit(&NetDevCfg);

#if (UCOS_CPU_TYPE == UCOS_CPU_TYPE_PS7)

#if (UCOS_IF_DEDIC_MEM_ADDR != 0)
    NetDevCfg.MemAddr = UCOS_IF_DEDIC_MEM_ADDR;
    NetDevCfg.MemSize = UCOS_IF_DEDIC_MEM_SIZE;
    NetDevCfg2.MemAddr = UCOS_IF_DEDIC_MEM_ADDR;
    NetDevCfg2.MemSize = UCOS_IF_DEDIC_MEM_SIZE;
#else
    ;
    NetDevCfg.MemAddr = 0xFFFF0000u;
    NetDevCfg.MemSize = 0x4000;
    Xil_SetTlbAttributes(0xFFFF0000u, NORM_NONCACHE);


#endif

#if (UCOS_ETHERNET_DEVICE_ID == 0)                              /* Base address is returned as 0 from HSI, hardcode for now.*/
    NetDevCfg.BaseAddr =  0xE000B000u;
#else
    NetDevCfg.BaseAddr = 0xE000B000u;
    NetDevCfg2.BaseAddr = 0xE000C000u;
#endif

    UCOS_TCPIP_PhyCfgInit(&NetPhyCfg);

    if_nbr = NetIF_Add((void*)&NetIF_API_Ether,
        (void*)&NetDev_API_GEM,
        (void*)&NetDev_BSP_GEM_0,
        (void*)&NetDevCfg,
        (void*)&NetPhy_API_ksz9131rnx,
        (void*)&NetPhyCfg,
#if (APP_TCPIP_EXP_ENABLED == DEF_ENABLED)
        DEF_NULL,
#endif
        & err_net);

#endif

    if (err_net != NET_IF_ERR_NONE) {
        UCOS_Printf("UCOS - Error initializing GEM Interface. Error code %d\r\n", err_net);
        return (DEF_FAIL);
    }

    UCOS_Printf("UCOS - GEM Interface initialized successfully with if number %d.\r\n", if_nbr);
    UCOS_Print("UCOS - Starting GEM Interface.\r\n");
    NetIF_Start(if_nbr, &err_net);
    if (err_net != NET_IF_ERR_NONE) {
        UCOS_Printf("UCOS - Error starting GEM Interface. Error code %d\r\n", err_net);
        return (DEF_FAIL);
    }
    if_init_res = UCOS_TCPIP_IF_Cfg(if_nbr);

//
//    UCOS_TCPIP_IfCfgInit(&NetDevCfg2);
//    NetDevCfg2.MemAddr = 0xFFFF4000u;
//    NetDevCfg2.MemSize = 0x4000;
//    Xil_SetTlbAttributes(0xFFFF4000u, NORM_NONCACHE);
//    NetDevCfg2.BaseAddr = 0xE000B000u;
//    UCOS_TCPIP_PhyCfgInit(&NetPhyCfg2);
//
//    if_nbr2 = NetIF_Add((void*)&NetIF_API_Ether,
//           (void*)&NetDev_API_GEM,
//           (void*)&NetDev_BSP_GEM_0,
//           (void*)&NetDevCfg2,
//           (void*)&NetPhy_API_ksz9131rnx,
//           (void*)&NetPhyCfg2,
//           & err_net);
//       if (err_net != NET_IF_ERR_NONE) {
//           UCOS_Printf("UCOS - Error initializing GEM Interface. Error code %d\r\n", err_net);
//           return (DEF_FAIL);
//       }
//        NetIF_Start(if_nbr2, &err_net);
//        if (err_net != NET_IF_ERR_NONE) {
//              UCOS_Printf("UCOS - Error starting GEM Interface. Error code %d\r\n", err_net);
//              return (DEF_FAIL);
//          }
//        UCOS_Print("UCOS - GEM Interface started successfully.\r\n");
//        if_init_res = UCOS_TCPIP_IF_Cfg(if_nbr2);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-25 21:49 , Processed in 0.241801 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表