RT-Thread 中龙芯1C的网络lwip升级到2.1.0

2023-10-27

RT-Thread 龙芯1C(智龙开发板)的网络lwip升级到2.1.0

1. 硬件平台

智龙开发板V3.42 。

2. 软件平台

RT-Thread 4.0.0, 其中LWIP 2.1.0 。

3. 问题描述

一直使用 RT-Thread 软件平台,配套lwip1.4.1。 在调试过程中, RTT 组件丰富,尤其是一些小工具,如 ping 、 tftp 进行文件传输。 想使用这些小工具时发现 lwip1.4.1 没有apps目录,不能够使用以上工具。 考虑升级至 lwip 2.1.0。

在 env 中,勾选 lwip 2.1.0 后, 发现 PC 机能 ping 通开发板,而开发板不能 ping 通PC机。如图1 所示。
图1 PC 机能 ping 通开发板

查找原因,用 netstat (msh) 或者 list_if(finsh) 查看当前网络,发现当前的网络没有 link_up 上。 将网络换回原来的 lwip 1.4.1 ,再次查看网络,那时是连接上的。
如图2所示。
图2 RTT-lwip升级两个版本下的网络状态对比.png

lwip 升级到2.1.0后, 打开 netutils 中的 ping , 从开发板 ping PC机不成功,TFTP也不成功,均提示 no route 。但是PC机 ping 开发板成功的. 在 env 打开 调试信息 后再进行ping, 显示的具体信息如图3所示。

图3  lwip 升级到2.1.0后 ping 不成功的提示

4. 解决方法

按照 RTT 官司方论坛,https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=8048,对 eth 的网络驱动进行修改, 在 synopGMAC.c 文件的最后添加语句:

    eth_device_init(&(eth_dev.parent), "e0");

    eth_device_linkchange(&eth_dev.parent, RT_TRUE);   //添加的语句

如图4所示。

图4 RTT-lwip升级添加语句

5. 检测结果

修改代码后,再次连通网络,并进行 ping 操作如图5,6所示。

图5 RTT-lwip升级修改后查看网络状态

图6 开发板ping通PC机

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RT-Thread 中龙芯1C的网络lwip升级到2.1.0 的相关文章

  • RTTHREAD软件包目录

    RTTHREAD软件包目录 这边统计下RTTHREAD软件包的各项内容 IOT 包名技术标签依赖平台备注abup fotaOTATCP UDP本软件包是用于 Abup FOTA 升级的固件下载器agile jsmnjsonC库jsmn是一个
  • RT-Thread记录(十八、I2C软件包 — 温湿度传感器 SHT21与EEPROM 24C02)

    本文学习测试一下几款典型设备的 RT Thread I2C软件包 目录 前言 一 RT Thread I2C 总线注册 1 1 I2C 设备使用步骤 1 2 检查问题 二 温湿度传感器软件包 2 1 添加及基本测试 2 2 程序中使用 三
  • RT-Thread记录(十一、I/O 设备模型之UART设备 — 源码解析)

    深入理解 RT Thread I O 设备模型 分析 UART设备源码 目录 前言 一 初识 UART 操作函数 应用程序 二 UART 的初始化 2 1 UART 设备初始化位置 2 2 UART 设备初始化函数分析 stm32 uart
  • RT-Thread记录(十六、SFUD组件 — SPI Flash的读写)

    从本文开始 测试学习一些 RT Thread 常用的组件与软件包 先从刚学完的 SPI 设备开始 目录 前言 一 SFUD 组件简介 1 1 基本简介 1 2 SFUD 对 Flash 的管理 二 SFUD 组件操作函数 2 1 初始化相关
  • 使用RT-Thread Studio 建立 L476 Nucleo 项目工程并完成相关功能

    使用RT Thread Studio 建立 L476 Nucleo 项目工程并完成相关功能 1 新建RTT工程 2 添加cube对应的驱动 Nucleo 板上 X2 低速时钟有 X3调整时钟无 UART2串口配置 PA2 PA3 用户按键
  • rt-thread系列文章目录

    rt thread系列文章目录 本文是rt thread系列文章目录 后续关于rt thread的更新都会添加到此文内 实战篇 rt thread 生成工程模板 rt thread fal移植 内核篇 rt thread 内存管理 内存堆
  • RT-Thread中AT组件连接ESP8266 模块

    应用 AT 组件连接 ESP8266 模块 本文介绍 智龙开发板 应用AT组件 连接 esp8266 模块 从而连接无线网络 参考官网 应用 AT 组件连接 ESP8266 模块 1 首先去除 lwip 2 连接硬件模块 连接到智龙开发板的
  • [开发过程]<RTOS>关于RT-Thread

    以前一直折腾FreeRTOS 没时间折腾RT Thread 虽然暂时对RT Thread学的不深 但是从学习难度和社区支持来看 相信多年后RT Thread会成为主流 大概是因为很多RT Thread的中文资料吧 入门还要先学FreeRTO
  • STM32F4 RTC-Alarm 的使用(RT-Thread操作系统)

    文章目录 1 工程的创建和配置 1 1 CubeMX 的配置 1 1 1 时钟源的选择 1 1 2 Debug 引脚配置 1 1 3 控制台串口的配置 1 1 4 RTC的配置 1 1 5 时钟树配置 1 1 6 代码生成 1 2 RT T
  • 内核7-线程间同步

    目录 1 信号量 1 1 信号量机制 1 2 信号量的使用场合 1 2 1 线程同步 1 2 2 锁 1 2 3 中断与线程的同步 1 2 4 资源计数 1 3 信号量控制块 1 4 函数 1 4 1 rt sem init 函数 1 4
  • RT-Thread 断言:assertion failed at function:rt_mutex_take 等

    断言 断言是什么 https www cnblogs com thisway p 5558914 html ASSERT 是一个调试程序时经常使用的宏 在程序运行时它计算括号内的表达式 如果表达式为FALSE 0 程序将报告错误 并终止执行
  • RT-Thread记录(八、理解 RT-Thread 内存管理)

    RT Thread内核的我们已经基本都学习过了 除了基本的线程操作和通信 内核部分还有内存管理和中断处理 本文主要就来说说内存管理相关问题 目录 前言 一 为什么要内存管理 二 RT Thread 内存堆管理 2 1 RT Thread 内
  • RTT-信号量

    RTT 信号量 概念 信号量就是一个标记位 释放信号量就是标记位加一 获取信号量后自动减一 减到0后不能再获取了 信号量 Semaphore 是一种实现线程间通信的机制 实现线程之间同步或临界资源的互斥访问 常用于协助一组相互竞争的线程来访
  • rtt下的adbd使用

    RTT 下的ADBD使用 1 引言 调试柿饼时 需要文件传输 由于智龙平台的RTT环境下USB还没有调试好 这里就使用ADB进行文件传输 找到了何元杰的帖子 并参考 rdb 建立 RTT与PC 的文件传输通道 2 使用环境 2 1 硬件平台
  • RT-Thread之ENV工具

    快速索引 ENV工具简介 准备工作 1 Git 安装并设置环境变量 2 ENV 前往RT Thread官网下载 3 RTT源码 GitHub OSChina 云盘 ENV工具打开方式 scons 编译项目 1 进入 BSP 目录 选择 st
  • RT-Thread记录(五、RT-Thread 临界区保护与FreeRTOS的比较)

    本文聊聊临界区 以及RT Thread对临界区的处理 通过源码分析一下 RT Thread 对临界区保护的实现以及与 FreeRTOS 处理的不同 目录 前言 一 临界区 1 1 什么是临界区 1 2 RTOS中的临界区 二 RT Thre
  • RTThread学习有关的Keil的两个符号 $Sub$ $main 与 $Super$ $main

    Keil的两个符号 Sub 与 Super 是其做的打 补丁 功能 具体调用方法就是程序中包含有main函数 和 Sub main Super main 两个符号 源码先放出来 re define main function int Sub
  • RT-Thread记录(七、IPC机制之邮箱、消息队列)

    讲完了线程同步的机制 我们要开始线程通讯的学习 线程通讯中的邮箱消息队列也属于 RT Thread 的IPC机制 目录 前言 一 邮箱 1 1 邮箱控制块 1 2 邮箱操作 1 2 1 创建和删除 1 2 2 初始化和脱离 1 2 3 发送
  • 操作系统内部机制学习

    切换线程时需要保存什么 函数需要保存吗 函数在Flash上 不会被破坏 无需保存 函数执行到了哪里 需要保存吗 需要保存 全局变量需要保存吗 全局变量在内存上 无需保存 局部变量需要保存吗 局部变量在栈里 也是在内存里 只要避免栈不会被破坏
  • RT-Thread 内核基础(五)

    使用static修饰全局变量作用 限制作用域 如果全局变量前面加上 static 关键字 那么该变量的作用域将被限制在声明它的源文件中 即它将成为一个文件作用域的静态变量 其它源文件无法访问这个变量 这对于控制变量的可见性和避免命名冲突是有

随机推荐

  • CUDA C/C++ 中如何优化数据传输

    设备内存和 GPU 之间的峰值带宽 例如 在 NVIDIA Tesla C2050 上为 144 GB s 远高于主机内存和设备内存之间的峰值带宽 在 PCIe x16 Gen2 上为 8 GB s 这种差异意味着您在主机和 GPU 设备之
  • c语言练习题55:IP 地址⽆效化

    IP 地址 效化 题 描述 给你 个有效的 IPv4 地址 address 返回这个 IP 地址的 效化版本 所谓 效化 IP 地址 其实就是 代替了每个 例 1 输 address 1 1 1 1 输出 1 1 1 1 例 2 输 add
  • Oracle:number类型的使用

    一 number m n 创建测试表 create table t1 a number b number 9 c number 9 2 d number 9 1 e number 6 f number 7 2 g number 7 2 插入
  • 深入理解数据结构——堆栈应用(括号匹配)

    include
  • Feed流系统设计

    Feed流系统简介 Feed 是一种数据格式 用于给订阅的用户提供持续更新的内容 内容大多是基于时间线的方式呈现 从上往下流动 通常称为Feed流 移动互联网时代 国内最具代表性的Feed流类产品包括微信 微博 抖音 它们各具特点 产品 特
  • ChatGLM-6B-PT,P-Tuning

    本仓库实现了对于 ChatGLM 6B 模型基于 P Tuning v2 的微调 P Tuning v2 将需要微调的参数量减少到原来的 0 1 再通过模型量化 Gradient Checkpoint 等方法 最低只需要 7GB 显存即可运
  • 华为ensp模拟器--通过IKE动态协商方式建立IPSec隧道的实验(不对对等体存活进行检测)

    组网需求 如图1所示 在Router1和Router3之间建立一个安全隧道 对PC 1代表的子网 10 1 1 x 与PC2代表的子网 20 1 1 x 之间的数据流进行安全保护 安全协议采用ESP协议 加密算法采用DES 认证算法采用SH
  • 利用linux系统安装caffe_fastrcnn参考链接

    1 2 3 4 5
  • Code Llama系列教程之 微调 CodeLlama 34B 以进行聊天(打造自己的代码AI)

    虽然 Meta 的 Llama2 在 AI 领域引起了广泛关注 但 34b 模型却缺席了相当长一段时间 对于许多人来说 这个 34b 模型是运行本地 LLM 的理想选择 因为它与使用 4 位量化的单个 4090 GPU 兼容 我一直在热切地
  • TCP报文格局详解

    TCP和谈只定义了一种报文格局 建立 拆除连接 传输数据应用同样的报文 TCP报文格局 TCP报文段首部 20个字节 源端口和目标端口 各占2个字节 16比特的端标语加上32比特的IP地址 共同构成相当于传输层办事接见点的地址 即 插口 这
  • (十九)STM32——输入捕获

    目录 学习目标 成果展示 内容 获取 配置 代码 总结 学习目标 本节内容我们要介绍的是输入捕获 其实也和定时器那部分知识是有关系的 所谓输入捕获 通俗一点来讲 其实就是通过检测上升沿和下降沿来计算你的输入持续时间 具体怎么去检测和捕获呢
  • c++实现图的操作(最小生成树和最短路径)

    题目描述 1 图的深度优先搜索演示 要求 图采用邻接表存储结构 编程实现图的创建 图的深度优先搜索递归算法 2 图的广度优先搜索演示 要求 图采用邻接表存储结构 编程实现图的创建 图的深度优先搜索递归算法 3 求带权无向图的最小生成树问题
  • VueRouter4简介

    第十四节 VueRouter4 x简介 基本用法 路由懒加载 打包分析 动态路由 路由嵌套 相关Api 一 简介和基本用法 1 简介 官网地址 https next router vuejs org zh introduction html
  • 详解随机梯度下降法(Stochastic Gradient Descent,SGD)

    深度学习最常用的优化方法就是随机梯度下降法 但是随机梯度下降法在某些情况下会失效 这是为什么呢 带着这个问题我们接着往下看 一个经典的例子就是假设你现在在山上 为了以最快的速度下山 且视线良好 你可以看清自己的位置以及所处位置的坡度 那么沿
  • 递归的本质理解

    什么是递归 函数里面调用函数本身 这就是递归 public int factorial int n if n lt 1 return 1 return n factorial n 1 先有 递 再有 归 递 是将问题拆分成子问题来解决 子问
  • vue 高德地图 实时路况

    先放效果图 1 准备工作 路况信息只需要使用web端即可实现 2 代码部分 1 在 public index html中引入 2 在需要用到地图的页面中
  • c语言valotile关键字

    volatile 是一种类型修饰符 提醒编译器他后面所定义的变量随时都有可能改变 因此编译后的程序每次需要存储或读取这个变量的时候 都会直接从变量地址中 内存中 读取数据 如果没有volatile关键字 则编译器可能优化读取和存储 可能暂时
  • Python爬虫案例:爬取世界大学排行榜,做数据可视化

    前言 闲的一匹 高三生没多久就要高考了 还有四个月 也是快了 咱来看看世界大学的排行榜 采集一下 做个可视化 看看有没有你心仪的学校 嘿嘿 知识点 动态数据抓包 requests发送请求 结构化 非结构化数据解析 开发环境 python 3
  • CCF-CSP真题《202212-3 JPEG 解码》思路+python,c++满分题解

    想查看其他题的真题及题解的同学可以前往查看 CCF CSP真题附题解大全 试题编号 202212 3 试题名称 JPEG 解码 时间限制 1 0s 内存限制 512 0MB 问题描述 问题背景 四年一度的世界杯即将画上尾声 在本次的世界杯比
  • RT-Thread 中龙芯1C的网络lwip升级到2.1.0

    RT Thread 龙芯1C 智龙开发板 的网络lwip升级到2 1 0 1 硬件平台 智龙开发板V3 42 2 软件平台 RT Thread 4 0 0 其中LWIP 2 1 0 3 问题描述 一直使用 RT Thread 软件平台 配套