Eth: STM32: Upating documentation on mbed_otp_mac_address()

This commit updates the documentation on how to use
mbed_otp_mac_address() to modify the default MAC address to custom
Mac address.

Signed-off-by: Kather Rafi Ibrahim <katherrafi.i@hcl.com>
pull/14838/head
Kather Rafi Ibrahim 2021-06-25 22:11:48 +05:30
parent 81aaef48b2
commit a9e9564ced
2 changed files with 35 additions and 2 deletions

View File

@ -136,7 +136,7 @@ static ETH_TxPacketConfig TxConfig;
#endif // ETH_IP_VERSION_V2
__weak uint8_t mbed_otp_mac_address(char *mac);
MBED_WEAK uint8_t mbed_otp_mac_address(char *mac);
void mbed_default_mac_address(char *mac);
#ifdef __cplusplus
@ -852,7 +852,7 @@ void mbed_mac_address(char *mac)
return;
}
__weak uint8_t mbed_otp_mac_address(char *mac)
MBED_WEAK uint8_t mbed_otp_mac_address(char *mac)
{
return 0;
}

View File

@ -458,7 +458,40 @@ https://github.com/ARMmbed/mbed-os/blob/master/connectivity/drivers/emac/TARGET_
Option is also to define your own `HAL_ETH_MspInit` function,
you then have to add **USE_USER_DEFINED_HAL_ETH_MSPINIT** macro.
To change the default MAC address in STM32,
If we have the function mbed_otp_mac_address() in the user application,the default ethernet address
can be changed.
Because as this is defined as weak in mbed-os/connectivity/drivers/emac/TARGET_STM/stm32xx_emac.cpp
```
#include "platform/mbed_toolchain.h"
MBED_WEAK uint8_t mbed_otp_mac_address(char *mac).
```
Please find the code snippet here for reference:
```
..
uint8_t mbed_otp_mac_address(char *mac);
uint8_t mbed_otp_mac_address(char *mac)
{
unsigned char ST_mac_addr[6] = {0x00, 0x88, 0xe0,0x90,0x80,0x70}; // New User mac address
// printf("%s:%s\n",__FILE__,__func__);
memcpy(mac,ST_mac_addr,sizeof(ST_mac_addr));
return 1;
}
int main()
{
// Bring up the ethernet interface
printf("Ethernet socket example\n");
uint8_t MyMAC[6];
printf("return of set_mac_address:%d\n",net.set_mac_address(MyMAC,sizeof(MyMAC)));
net.connect();
printf("MAC address %s\n",net.get_mac_address());
...
```
### Asynchronous SPI limitation
The current Asynchronous SPI implementation will not be able to support high speeds (MHz Range).