一、总览

这里要首先感谢前期接触了瑞萨的RZ/N2L芯片以及RT-THREAD的开发板子EtherKit,在整个移植过程中帮了大忙。

其实瑞萨做这款芯片的目的就是跑工业以太网协议栈的,集成了ESC控制器,官方提供了EtherCAT、Eip、Profibus、等等。

而RT-THREAD把官方的行为发扬光大了,推出了300多元的开发板子,并且把官方的软件包集成到了系统中,可以直接“点点鼠标”就完成功能集成。

二、思路

经过上面的分析,现在手里有两个可参考的代码

瑞萨官方开发板子的:

https://www.renesas.cn/zh/design-resources/boards-kits/rz-n2l-rsk#tab-sample-code

跑的是FreeRTOS+LWIP+opener实现Eip从站功能,并且提供的从站的eds文件。

RT-THREAD的EtherKit板子的:

https://github.com/RT-Thread-Studio/sdk-bsp-rzn2l-etherkit/tree/master/projects/etherkit_ethernetip_opener

跑的是RT-HREAD+LWIP+opener实现的Eip从站功能,并且提供的从站的eds文件。

可以这样简单的认为,RT-THREAD是在瑞萨官方移植适配 过去的。

于是思路就比较清晰了,优先移植适配瑞萨官方的版本。

但在后面具体移植过程中,却无从下手。因为瑞萨“集成度”太高,导致opener/port部分被瑞萨改动比较多,无法适配STM32F407平台。

反观RT-THREAD,系统不熟悉,但并没有改太多源码,且自己改动的opener/port部分新建了文件夹,源码的opener/port没被改动。

于是在几经周折后(实际上已经移植折腾了好几遍了),决定移植RT-THREAD版本,在移植过程中与FreeRTOS差异的部分参考瑞萨官方代码。

三、移植的前置项

由于opener是建立在TCP/IP协议之上的软件协议,也就说在移植之前,先确保宿主平台已经具备了网络通讯功能。

这就需要MCU完成以太网外设初始化,Lwip初始化,通过PC能ping通MCU设备。通过调用Lwip的API与PC正常建立TCP、UDP通讯。

在上述工作完成后才能进行后续的pener移植工作

未完待续。。。。。。

文内示例见咸鱼ID:tb764914262

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐