Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
国民技术_N32G45x
lwip移植到rtt,ping不通
发布于 2024-04-12 10:09:58 浏览:530
订阅该版
开发环境: RT Thread Studio , lwip版本2.1.2 ,参考FreeRTOS驱动lwip。 在N32例程中有lwip+freertos源码,现在移植LWIP到RTT后电脑ping板子是不通的 ,但是烧录例程就可以,所以网络的硬件连接啥的应该是没问题, 且底层驱动啥的也是直接移植的应该也没有问题。 移植步骤: 使用RT Thread Studio ,生成LWIP协议栈,线程创建啊,信号量啊,互斥量等系统级接口RTT自动生成sys_arch.c .然后手动移植 lwip_port,IP使用静态地址,编译通过。测试发现,eth中断可以触发, 接收线程也可以收到数据,但是接收ping的请求数据包后不会发送回复数据包。 例程是可以ping通,能接收到数据包,且有回复数据包发送出去。 不知道是啥原因导致的 , 有懂的看到能指点一二 ,抱拳。 ```c uint8_t lwip_port_init(void) { rt_thread_t tid = RT_NULL; //log_func(); //信号量 dynamic_sem = rt_sem_create("dsem", 0, RT_IPC_FLAG_PRIO); if (dynamic_sem == RT_NULL) { rt_kprintf("create dynamic semaphore failed.\n"); return -1; } else { rt_kprintf("create done. dynamic semaphore value = 0.\n"); } tcpip_init(NULL, NULL); ip_addr_t ip, msk, gw; #if LWIP_DHCP ip.addr = 0; msk.addr = 0; gw.addr = 0; #else // !LWIP_DHCP IP4_ADDR(&ip, 192,168,1,80); IP4_ADDR(&msk, 255, 255, 255, 0); IP4_ADDR(&gw, 192,168,1,10); #endif // LWIP_DHCP netif_add(&netif_dev, &ip, &msk, &gw, NULL, init_eth, tcpip_input); // xTaskCreate(recv_task, "recv_task", DEFAULT_THREAD_STACKSIZE, NULL, TCPIP_THREAD_PRIO + 1, &recv_task_handle); //创建接收线程,等待信号量释放 tid = rt_thread_create("recv_task",recv_task, (void*)2,4096,10, 10); if (tid != RT_NULL) rt_thread_startup(tid); #if LWIP_DHCP sys_thread_new("dhcp_task", dhcp_task, NULL, DEFAULT_THREAD_STACKSIZE * 2, TCPIP_THREAD_PRIO - 1); #endif ETH_EnableTxRx(); return 0; } void recv_task(void* p) { //log_func(); static rt_err_t result; while (1) { //if (ulTaskNotifyTake(pdTRUE, portMAX_DELAY) > 0) // packet received event //等待 result = rt_sem_take(dynamic_sem, RT_WAITING_FOREVER); //rt_kprintf("result : %d\r\n",result); if (result == RT_EOK) { err_t err; struct pbuf* p; while (1) { p = low_level_input(&netif_dev); // call low_level_input to receive if (p == NULL) { break; } err = netif_dev.input(p, &netif_dev); // process packet if (err != ERR_OK) { LWIP_DEBUGF(NETIF_DEBUG, ("IP input error\n")); pbuf_free(p); p = NULL; // break; } } } } } void ETH_IRQHandler(void) { //portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; /* Frame received */ if (ETH_GetDmaFlagStatus(ETH_DMA_FLAG_RX) == SET) { /* Give the semaphore to wakeup LwIP task */ //vTaskNotifyGiveFromISR(recv_task_handle, &xHigherPriorityTaskWoken); //释放信号量 rt_sem_release(dynamic_sem); } /* Clear the interrupt flags. */ /* Clear the Eth DMA Rx IT pending bits */ ETH_ClrDmaIntPendingBit(ETH_DMA_INT_RX); ETH_ClrDmaIntPendingBit(ETH_DMA_INT_NIS); //portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } ```
查看更多
1
个回答
默认排序
按发布时间排序
xuel
2024-04-12
123
因为RTT没有对于N32的drv_eth,所以没能使用RTT的ETH驱动框架 , 只能参考freertos+lwip+dm9161的例程移植LWIP到rtt来实现。
撰写答案
登录
注册新账号
关注者
0
被浏览
530
关于作者
xuel
123
提问
3
回答
2
被采纳
0
关注TA
发私信
相关问题
1
[N32G457]移植sdio驱动后,开启sdio1系统挂掉
2
N32G457开发板使用AT组件编译出错
3
ADC采样只有0和3.3v?
4
基于N32G45X开发板建立工程失败?
5
有没有人N32G457在挂载SPI Flash上挂载文件系统成功的?
6
使用N32G457的us函数程序会卡死?
7
在程序里关闭JTAG 后,无法再次烧录程序
8
求一个N32系列QSPI驱动
9
N32G457 MPU6050软件包使用不成功
10
在N32G455 HTTP_OTA升级上,下载成功,无法跳转
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
a1012112796
13
个答案
1
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部