Topic

FAQ
Login Register
TL8263芯片的MAC地址是程序写入的,还是出厂会自带唯一的?
Aug 21, 2017 16:43

/

A

/A
如题“TL8263芯片的MAC地址是程序写入的,还是出厂会自带唯一的?”
我在看TL8263的Beacon代码:
u32 *pmac = (u32 *) CFG_ADR_MAC; //0x3fec
if (*pmac != 0xffffffff)
{
memcpy (tbl_mac, pmac, 6);
updateAdvDataMacAddr();
}
发现MAC地址永远调用的是用户自定义的tbl_mac。
我试着改了tbl_mac,烧录到DEMO板上,也证实了这一问题。

我的问题是:
1、TL8263的芯片出厂时,有没有唯一的MAC地址?如果有,程序要怎么改才能读出和使用这唯一的MAC?
2、如果没有MAC地址,那就意味着大批量时要自己定义不同的MAC,烧录到IC中,这个怎么解决?还有怎么自己定义MAC才能通过认证?
3、TL的其他芯片8266、8267在MAC地址上,是否和8263一样?
1 replies
TL_dafeng.chen Aug 22, 2017 20:31
0
/A
1.因为蓝牙芯片需要互联互通的,所以MAC都是需要购买的。我司芯片只要带内部flash,芯片出厂时就有唯一的MAC地址。带内部flash的型号如 TLSR826XF512ET48, 其中F512就表示内部flash是512k。在程序代码中MAC地址存放的位置有所不同,在128K flash中,位置是 0x1f000,在512k flash中,位置是 0x76000。至于8263中,mac地址有所不同,可以查看代码中 CFG_ADR_MAC 宏的定义来查看地址。

2. 你做的修改MAC地址的测试时,需要注意:在擦除flash时是不是把 CFG_ADR_MAC 宏定义的地址上的MAC值擦除掉了。如果被擦除了,在程序初始化时,会读该地址时,就会返回0xffffffff,然后就会使用 tbl_mac 数组中的用户自定义的值。