[以太网芯片] CH579M例程问题:工程中必须有 MACAddr 变量符号,不能用其它符号代替,否则报错

[复制链接]
3521|4
手机看帖
扫描二维码
随时随地手机跟帖
d1z1y2|  楼主 | 2021-10-8 23:51 | 显示全部楼层 |阅读模式
问题如标题所描述,提示MACAddr 符号未定义,这个变量符号是原全程中的,我只是改成了MAC_Addr,代码里面也改了,编译提示报错,想不通
Error: L6218E:Undefined symbol MACAddr (referred from eth.o)
而且,eth.o也搜索不到文件

使用特权

评论回复
weifeng90| | 2021-10-9 07:57 | 显示全部楼层
eth.o是编译后的文件,你把例程的编译结果删了,再重新编译。

使用特权

评论回复
d1z1y2|  楼主 | 2021-10-9 09:41 | 显示全部楼层
weifeng90 发表于 2021-10-9 07:57
eth.o是编译后的文件,你把例程的编译结果删了,再重新编译。

我也知道.o文件是各个.c文件编译出来的,全盘搜索都没有eth.c   eth.h ,甚至eth.o也没有。而且也把obj文件夹里的文件都删除了再重新编译也是一样报错,不知道是什么原因

使用特权

评论回复
d1z1y2|  楼主 | 2021-10-9 10:34 | 显示全部楼层
经过测试,可以确定是由于 CH57xNET.LIB 的原因,不使用库里面的资源就不会报错
另外,在CH579xNET.h文件中,结构体_CH57x_SYS 中定义的 MacAddr是8个字节,即    UINT8    MacAddr[8]   ,不知道为什么不是6字节

使用特权

评论回复
d1z1y2|  楼主 | 2021-10-9 15:25 | 显示全部楼层
结帖,询问了官方技术,回复如下:
1. MACaddr这个不能修改,因为在以太网的Lib库里面,也会调用这个全局变量,所以不能修改。
2. _CH57x_SYS 结构体里面的MAC8字节只是为了对齐。

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 呐咯密密 得到打赏 ¥310.00
  • 2 qbwww 得到打赏 ¥265.00
  • 3 yanzhengxin1 得到打赏 ¥200.00
  • 4 full_stack 得到打赏 ¥100.00
  • 5 laocuo1142 得到打赏 ¥55.00
  • 6 二哲科技 得到打赏 ¥50.00
  • 7 zhangjiantao 得到打赏 ¥50.00
  • 8 改名了 得到打赏 ¥50.00
  • 9 小叶三千 得到打赏 ¥50.00
  • 10 cjseng 得到打赏 ¥50.00
在线客服 快速回复 返回顶部 返回列表