ucosiii 移植 lwip2.1.2挖坑之路(边移植边记录)

        首先,直接去找一个ucosiii的例程, 这里选择的是正点原子的f429 开发板的<<例6-1 UCOSIII任务创建和删除>>,这里就直接改名字成ucosiii移植lwip2.1.2。ucosiii就不移植了,这里说一下,问啥要自己移植,因为我没找到这样的例程,野火的例程太杂乱了并且没有ucosiii的例程,原子的例程都是1.4.1版本的lwip,这个版本好像没有socket,自己搞吧,哎...

       工程改完名字,编译一下,通过。 然后准备好了 lwip-2.1.2, contrib-2.1.0两个文件夹。

       然后在MDK文件里新建一个文件夹LWIP,里面放了三个文件,其中arch  lwip_app是自己创建的文件夹,lwip-2.1.2是直接拷贝放进来的。

然后在MDK工程中,先添加好lwip的源文件,和对应的路径。

然后在LWIP添加lwip-2.1.2 的源文件,

然后在contrib-2.1.0\examples\example_app拷贝lwipopts.h 到arch文件夹,在contrib-2.1.0\ports\unix\port\include\arch拷贝cc.h和pref.h到arch文件夹,然后自己创建sys_arch.c和sys_arch.h,这里我直接复制的原子的ucosiii+lwip1.4.1版本的这两个文件,目录如下:

这里做完编译一下,一大堆错误,先不截图,原子这里还要修改一个文件夹的名字,lwip里面有个sys.c  和 sys.h,和原子的文件名字冲突了,这里修改成 lwip_sys.c  lwip_sys.h。

然后这些名字都要改掉。

OK啊,一键搞定。先编译一下,115个errors

从第一个error看起,未定义 sys_prot_t ,这里直接替换了cc.h文件里面的内容,代码先不贴出来,到时候整个工程发出来。

再编译一下,44个error。

看了一下,lwip_cpu.h里面就一句话,直接拷贝到了cc.h文件里面。

后面错误太多了,就没记录了。

把工程上传一下吧,还不知道有没有问题。

链接:https://pan.baidu.com/s/1IC4e-bLMkV5ovJ-Wdl6YbQ 
提取码:62af 
复制这段内容后打开百度网盘手机App,操作更方便哦

 

 

 

 

 

 

 

 

 

 

 

 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
你好!关于在STM32H743上移植UCOSIIILwIP的问题,我可以为你提供一些指导。首先,确保你已经在STM32H743上成功运行了UCOSIII。如果还没有,请先完成UCOSIII移植。 接下来是移植LwIPLwIP是一个轻量级的TCP/IP协议栈,适用于嵌入式系统。以下是在STM32H743上移植LwIP的一般步骤: 1. 首先,确保你有LwIP的源代码。你可以从官方网站(https://savannah.nongnu.org/projects/lwip/)下载最新版本的LwIP。 2. 在你的工程中添加LwIP的源文件和头文件。将LwIP的源代码文件夹中的所有.c文件和.h文件添加到你的工程中。 3. 配置LwIP。在LwIP的源代码文件夹中,有一个名为"lwipopts.h"的文件,其中包含了许多配置选项。根据你的需求,修改这些选项。例如,你可以配置网络接口、IP地址、端口号等。 4. 实现适配层函数。LwIP需要一些适配层函数来与硬件进行通信,例如发送和接收数据帧。你需要根据硬件平台的特性实现这些函数。具体实现方法可以参考LwIP的文档和示例代码。 5. 初始化LwIP。在你的代码中调用LwIP的初始化函数,例如"lwip_init()"。这将初始化LwIP协议栈并启动相关的任务。 6. 编写应用程序。使用LwIP提供的API,编写你的应用程序。例如,你可以使用LwIP的socket API来实现TCP或UDP通信。 注意,以上步骤只是一个概述,实际的移植过程可能会因具体的硬件平台和需求而有所不同。建议你查阅相关的文档和示例代码,以便更好地理解和完成移植过程。 希望以上信息对你有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值