OpenEdv-开源电子网

标题: STM32F767上FreeRTOS+LWIP移植成功 [打印本页]

作者: HCDS    时间: 2018-1-12 10:23
标题: STM32F767上FreeRTOS+LWIP移植成功
参考原子的网络实验2,移植成功FreeRTOS+LWIP,网络已经ping通,现在将sys_arch.c,sysarch.h,cc.h文件上传。其他文件不变,另外以太网中断优先级需要小于configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY


作者: vinolee    时间: 2018-1-12 11:20
楼主,上传一下整个工程呗,我测试一下网络部分的dhcp是不是和我的一样存在不能获取ip的状况
作者: zuozhongkai    时间: 2018-1-12 15:09
不错,多谢分享
作者: HCDS    时间: 2018-1-12 17:43
为了方便大家查看,我将工程稍作修改后可直接在阿波罗STM32F767上运行,该工程为TCP客户端实验,我测试过了,连接路由器DHCP跟静态IP都没问题,本地IP:192.168.1.100,远端IP:192.168.1.104,端口8087。用路由器时请直接在程序中修改要连接的服务器IP地址。连接成功后自动发送100个0。测试时请直接连接串口,方便查看各种信息。如有问题请在该帖子里及时反馈。
作者: vinolee    时间: 2018-1-12 21:18
感谢楼主共享,可能我的硬件出问题了,我测试了一下我的板卡dhcp不停重启测试,成功获取概率在50%左右,之前试过其他ucos的程序,自己也整出三四套cubemx生成的dhcp,dhcp都不能全部成功
作者: HCDS    时间: 2018-1-13 20:10
vinolee 发表于 2018-1-12 21:18
感谢楼主共享,可能我的硬件出问题了,我测试了一下我的板卡dhcp不停重启测试,成功获取概率在50%左右,之 ...

cubemx能freertos跟lwip一起生成?
作者: vinolee    时间: 2018-1-14 12:18
嗯,一起生成的,一版是rtos+lwip,驱动有按照ucos的参数更改的,一版是只有lwip的,还有一版是使用lan8742驱动的
作者: HCDS    时间: 2018-1-15 09:10
vinolee 发表于 2018-1-14 12:18
嗯,一起生成的,一版是rtos+lwip,驱动有按照ucos的参数更改的,一版是只有lwip的,还有一版是使用lan8742 ...

lwip不是选取不了吗
作者: vinolee    时间: 2018-1-15 15:05
先选择ETH,有了驱动才能选择lwip,还要对照原理图确认一下所有管脚是否正确
作者: HCDS    时间: 2018-1-15 16:54
vinolee 发表于 2018-1-15 15:05
先选择ETH,有了驱动才能选择lwip,还要对照原理图确认一下所有管脚是否正确

哦,这样啊,可以看看
作者: avenldq    时间: 2018-7-19 17:21
我对楼主的源程序很有兴趣,可惜我是F429开发板,楼主能提供给个F429的源程序吗?我不会改呀。
作者: HCDS    时间: 2018-8-7 18:05
本帖最后由 HCDS 于 2018-8-7 18:07 编辑

在原子例程FreeRTOS上,参照LWIP移植手册,移植过去就行,注意以太网中断优先级和LWIP内核优先级的分配,重点看sys_arch.c文件
avenldq 发表于 2018-7-19 17:21
我对楼主的源程序很有兴趣,可惜我是F429开发板,楼主能提供给个F429的源程序吗?我不会改呀。

HardFaul
作者: ewrest    时间: 2018-8-8 16:45
请教下以太网中断, 在官方给出的http+freertos中,查到的以太网中断给的是 7, 原子例程里边给的是 1, 这种会造成什么不同呢? 附件是官方STM32Cube_FW_F7_V1.11.0的demo.
另外 lwip的内核优先级是指?
作者: HCDS    时间: 2018-8-9 20:25
ewrest 发表于 2018-8-8 16:45
请教下以太网中断, 在官方给出的http+freertos中,查到的以太网中断给的是 7, 原子例程里边给的是 1, 这种会 ...

7也没问题的,要看FreeRTOSConfig.h中设置的最高中断优先级,

#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY        5  
设置的以太网中断优先级要大于这个值。只是建议设的优先级更高点。

内核优先级是指,任务tcpip_thread优先级,设置高优先级,具体看例子


作者: 小工人    时间: 2018-8-28 08:49
本帖最后由 小工人 于 2018-8-30 10:57 编辑

请问,为啥我遇到了这种情况
AssetError:..\FreeRTOS\portable\RVDS\ARM_CM7\r0p1\port.c,754
AssetError:..\FreeRTOS\portable\RVDS\ARM_CM7\r0p1\port.c,425
AssetError:..\FreeRTOS\portable\RVDS\ARM_CM7\r0p1\port.c,754
AssetError:..\FreeRTOS\portable\RVDS\ARM_CM7\r0p1\port.c,425
AssetError:..\FreeRTOS\portable\RVDS\ARM_CM7\r0p1\port.c,754


作者: hpdell    时间: 2018-10-2 11:05
HCDS 发表于 2018-1-12 17:43
为了方便大家查看,我将工程稍作修改后可直接在阿波罗STM32F767上运行,该工程为TCP客户端实验,我测试过了 ...

你好,请问你这个 dhcp 获取 ip 地址成功率有多少啊,

我目前使用 dhcp 自动获取 ip 时,很多时候不成功 ??
作者: 飀人士    时间: 2018-11-11 19:18
谢谢分享
作者: dreamy0709    时间: 2019-1-3 14:56
小工人 发表于 2018-8-28 08:49
请问,为啥我遇到了这种情况
AssetError:..\FreeRTOS\portable\RVDS\ARM_CM7\r0p1\port.c,754
AssetError ...

你好,你遇到的这个问题解决了吗?

作者: 1838039453    时间: 2019-1-16 19:40
本帖最后由 1838039453 于 2019-1-16 19:55 编辑

可以成功,但是有一个现象我不太明白:使用网络调试助手发送500字节,tcp_client_thread中的循环会执行两次,一次是458字节,一次是42字节;再发送长度大一点的数据,会分成多个,,,
作者: michael91    时间: 2019-1-29 21:15
DMA的配置部分在程序中没找到啊
作者: 小工人    时间: 2019-5-10 16:09
dreamy0709 发表于 2019-1-3 14:56
你好,你遇到的这个问题解决了吗?

好久之前的事情了,好像是因为中断和任务的优先级分配上有问题
作者: PeterYu    时间: 2021-1-29 18:32
谢谢分享,学习学习。

作者: 朱志凌    时间: 2023-3-22 11:27
感谢分享





欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) Powered by Discuz! X3.4