完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用CH32V307,用WCHNET,弄着弄着,有时候程序改动一下。在库初始化之后printf就没输出了,根本就没调用底层的_write,后来拿ETH_IAP例程,把基本功能给删了,就出现这样的情况。最后定位到把
u8 SocketRecvBuf[WCHNET_MAX_SOCKET_NUM][RECE_BUF_LEN];注释掉就出问题(实际上已经没有代码使用这个变量,只是占了空间)。真搞不懂是哪里的问题。真是服了。 |
|
相关推荐
2个回答
|
|
再仔细试了一下,这个变量换个名字也不行。看了一下map文件,好像在
__attribute__((__aligned__(4))) SOCK_INF SocketInf[WCHNET_MAX_SOCKET_NUM]; 后面占用位置的才生效。然后我把这个大小改为 __attribute__((__aligned__(4))) SOCK_INF SocketInf[WCHNET_MAX_SOCKET_NUM*4];才正常。所以,是不是库0x10例子里面定义的库需要的变量大小有问题。 __attribute__((__aligned__(4))) ETH_DMADESCTypeDef DMARxDscrTab[ETH_RXBUFNB]; /* MAC接收描述符 ,4字节对齐*/__attribute__((__aligned__(4))) ETH_DMADESCTypeDef DMATxDscrTab[ETH_TXBUFNB]; /* MAC发送描述符,4字节对齐 */__attribute__((__aligned__(4))) u8 MACRxBuf[ETH_RXBUFNB*ETH_MAX_PACKET_SIZE]; /* MAC接收缓冲区,4字节对齐 */__attribute__((__aligned__(4))) u8 MACTxBuf[ETH_TXBUFNB*ETH_MAX_PACKET_SIZE]; /* MAC发送缓冲区,4字节对齐 */__attribute__((__aligned__(4))) SOCK_INF SocketInf[WCHNET_MAX_SOCKET_NUM]; /* Socket信息表,4字节对齐 */const u16 MemNum[8] = {WCHNET_NUM_IPRAW, WCHNET_NUM_UDP, WCHNET_NUM_TCP, WCHNET_NUM_TCP_LISTEN, WCHNET_NUM_TCP_SEG, WCHNET_NUM_IP_REASSDATA, WCHNET_NUM_PBUF, WCHNET_NUM_POOL_BUF };const u16 MemSize[8] = {WCHNET_MEM_ALIGN_SIZE(WCHNET_SIZE_IPRAW_PCB), WCHNET_MEM_ALIGN_SIZE(WCHNET_SIZE_UDP_PCB), WCHNET_MEM_ALIGN_SIZE(WCHNET_SIZE_TCP_PCB), WCHNET_MEM_ALIGN_SIZE(WCHNET_SIZE_TCP_PCB_LISTEN), WCHNET_MEM_ALIGN_SIZE(WCHNET_SIZE_TCP_SEG), WCHNET_MEM_ALIGN_SIZE(WCHNET_SIZE_IP_REASSDATA), WCHNET_MEM_ALIGN_SIZE(WCHNET_SIZE_PBUF) + WCHNET_MEM_ALIGN_SIZE(0), WCHNET_MEM_ALIGN_SIZE(WCHNET_SIZE_PBUF) + WCHNET_MEM_ALIGN_SIZE(WCHNET_SIZE_POOL_BUF) };__attribute__((__aligned__(4)))u8 Memp_Memory[WCHNET_MEMP_SIZE];__attribute__((__aligned__(4)))u8 Mem_Heap_Memory[WCHNET_RAM_HEAP_SIZE];__attribute__((__aligned__(4)))u8 Mem_ArpTable[WCHNET_RAM_ARP_TABLE_SIZE]; |
|
|
|
您好,SocketRecvBuf是定义的协议栈的接收缓冲区,这个使用是在协议栈内部调用的。eth_driver.c下面的__attribute__定义的一些变量名称不建议修改,否则会出现Lib库里面一些变量未定义的编译错误或者无法执行的问题。
|
|
|
|
只有小组成员才能发言,加入小组>>
358 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2813 浏览 2 评论
2309 浏览 1 评论
856浏览 2评论
927浏览 2评论
554浏览 2评论
CH32V203中CAN测试模式中,静默环回模式需上电才能恢复是特性吗?
573浏览 2评论
请问CH446Q可否采用3.3V MCU/FPGA进行控制?
507浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-7 03:22 , Processed in 0.970687 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号