CH579-Lwip-2.12移植
代码可以参考以下链接:https://gitee.com/maji19971221/lwip-routine
Lwip可以在以下链接下载:http://download.savannah.gnu.org/releases/lwip/
1. 创建一个CH579的最简单工程。
2. 复制一份lwip-2.12的压缩包,解压
3. 工程创建以下文件夹
4. 下面开始添加文件。Lwip/api文件夹下添加lwip-2.12的api文件。
5. Lwip/core文件夹下面添加lwip-2.12/scr/core/ipv4文件夹下面的所有内容+core文件夹下面的所有C文件。
、
6. Lwip/netif文件夹下面添加lwip-2.12/scr/netif下的部分源文件。
7. 添加头文件,编译。此时会报错说没有lwipopts.h。
8. 通过搜索发现,这个文件并不在协议栈的scr文件夹下面,我们把这个文件复制出来,放在自己创建的arch文件夹下面。并在工程中添加arch的路径。
9. 再次编译,报错没有arch/cc.h这个头文件。
10 .我们从其它工程复制过来,放在arch文件夹下面。在头文件这边包含arch的上级文件夹路径。点击编译。显示一些定义问题,因为我这边cc.h和arch.h里面一些定义冲突了,只需要注释掉一种一个即可。
11.点击编译,显示没有arch/bpstruct.h头文件。正常添加即可。添加sys_arch.c文件。然开lwippopts.h,这个是lwip的配置文件。我们将LWIP_IPV6写0,关闭ipv6。此时再编译就是正常的。
12.添加579底层MAC相关的配置文件,编译。
13.其实是缺少ethernetif.c导致的。我们从F4的工程中复制过来,进行修改即可。
后面编译显示以下错误,这个是内存溢出,只需要把lwippopts.h里面一些设置修改小写即可。
14.最后加上写的相关调用网卡接收函数和处理LwIP中定时事件即可。
CH579-Lwip-2.12移植的更多相关文章
- kernel 4.4.12 移植 HUAWEI MU609 Mini PCIe Module
首先请参考 http://www.cnblogs.com/chenfulin5/p/6951290.html 上一章刚讲了 kernel 3.2.0 移植 MU609 这一章记录新版kernel 的移 ...
- 驱动12.移植dm9000驱动程序
1 确定相异性 1.1 选中网卡芯片nGCS4 1.2 确定相异性:基地址,中断号,设置时序(内存控制器BWSCON,BANKCONn) 1.3 修改相应的部分 2 测试DM9000C驱动程序:2.1 ...
- 海思3559A QT 5.12移植(带webengine 和 opengl es)
海思SDK版本:Hi3559AV100_SDK_V2.0.1.0 编译器版本:aarch64-himix100-linux-gcc 6.3.0(这个版本有点小问题,使用前需要先清除本地化设置) $ e ...
- STM32F107移植LWIP
STM32F107上移植LWIP2.0.3 因为最近需要在STM32F107上实现TCP/IP协议栈,所以网上查了一下,准备使用LWIP,虽然大多数用的是1.4.1版本但是官方说2系大版本修复了1.4 ...
- rt—移植笔记2(Lwip)
首先参考f107已经有的目录结构添加Lwip这一组,添加各种.c文件及.文件. 还有drive下边的很重要的eth.c 到此,工程编译通过.(刚开始,小编是一个一个 的比对...一个一个错误排查... ...
- LWIP带UCOS操作系统移植
LWIP支持RAW.NETCONN.SOCKET这三种编程接口,后两者必须有操作系统来支持的:LWIP带操作系统的移植很重要!!
- ETH—Lwip以太网通信
第39章 ETH—Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- 第39章 ETH—Lwip以太网通信
第39章 ETH—Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- 第39章 ETH—Lwip以太网通信—零死角玩转STM32-F429系列
第39章 ETH—Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- linux-2.6.33移植到FL2440
宿主机:ubuntu10.04 目标机:fl2440 交叉编译器:arm-linux-gcc-3.4.1 交叉编译器路径:/usr/local/arm/3.4.1 要移植的内核版本:linux-2.6 ...
随机推荐
- 分布式存储系统之Ceph集群存储池操作
前文我们了解了ceph的存储池.PG.CRUSH.客户端IO的简要工作过程.Ceph客户端计算PG_ID的步骤的相关话题,回顾请参考https://www.cnblogs.com/qiuhom-187 ...
- PHP全栈开发(五):PHP学习(1.基础语法)
PHP脚本在服务器上执行,然后将纯HTML的结果返回给浏览器. 听上去很厉害的样子,所以说PHP是服务器端的语言啦.HTML才是前端啦. PHP文件的默认文件扩展名是".php" ...
- OpenStack云计算平台框架
概: OpenStack是包含很多独立组件的一个云计算平台框架.在安装组件前,需要先将框架搭建出来,才能向其中放置组件. 搭建open stack云计算平台框架 一.安装open stack云计算平 ...
- 2.pytest前后置(固件、夹具)处理
一.setup/teardown/setup_calss/teardown_class 为什么需要这些功能? 比如:我们执行用例之前,需要做的哪些操作,我们用例执行之后,需要做哪些操作 # 在所有用例 ...
- 八、docker compose容器编排
一. Docker-Compose 1.1. 什么是Docker Compose Compose 项目是 Docker 官方的开源项目,负责实现 Docker 容器集群的快速编排,开源代码在 http ...
- 七、docker镜像私有仓库
在Docker中,当我们执行 docker pull xxx 的时候 ,它实际上是从 hub.docker.com 这个地址去查找,这就是 Docker 公司为我们提供的公共仓库.在工作中,我们不可能 ...
- FastAPI + tortoise-orm基础使用
更改sqlite为mysql from tortoise import Tortoise import asyncio async def init(): user = 'root' password ...
- 2022,一个Java程序猿的装机配置
起因 工作一年,身边的老同学都在让我推荐适合他们需求的PC主机.于是仔细研究了一下当下的主机配置.成功试水并积攒了经验后,也给自己装了我的第一台PC主机. 主机配置 CPU:12700 主板:华硕TU ...
- VBA_BASIC
字符串相关 判断单元格是否包含特定字符串,以"P"为例. if cells(1,1) Like "*P*" Then cells(1,2) = "ha ...
- Java计算文件或文件夹大小
导入此类后,直接调用FilesUtil.returnSizi(String path),即可获取文件或者文件夹大小. 代码: 1 /** 2 * 路人甲操作文件的工具类 3 * returnSizi( ...