This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
is there a complete documentation about MAC-ID programming of Tiva devices available?
Is it possible to delete and re-programm the MAC-ID?
br
Ralf
Hello Ralf,
I am not aware that we have a document that details all of that, but that might not a bad topic for an FAQ in the future!
The programming can be done with tools such as CCS Uniflash or LM Flash Programmer, or you can use the EMACAddrSet API in your software.
LM Flash is handy for programming at first if you use the User Register Programming section of Other Utilities in the MAC Address Mode as it helps explain what is stored in which Userx Register's.
The TivaWare API also offers a lot of details:
//! Sets the MAC address of the Ethernet controller. //! //! \param ui32Base is the base address of the Ethernet controller. //! \param ui32Index is the zero-based index of the MAC address to set. //! \param pui8MACAddr is the pointer to the array of MAC-48 address octets. //! //! This function programs the IEEE-defined MAC-48 address specified in //! \e pui8MACAddr into the Ethernet controller. This address is used by the //! Ethernet controller for hardware-level filtering of incoming Ethernet //! packets (when promiscuous mode is not enabled). Index 0 is used to hold //! the local node's MAC address which is inserted into all transmitted //! packets. //! //! The controller may support several Ethernet MAC address slots, each of which //! may be programmed independently and used to filter incoming packets. The //! number of MAC addresses that the hardware supports may be queried using a //! call to EMACNumAddrGet(). The value of the \e ui32Index parameter must //! lie in the range from 0 to (number of MAC addresses - 1) inclusive. //! //! The MAC-48 address is defined as 6 octets, illustrated by the following //! example address. The numbers are shown in hexadecimal format. //! //! AC-DE-48-00-00-80 //! //! In this representation, the first three octets (AC-DE-48) are the //! Organizationally Unique Identifier (OUI). This is a number assigned by //! the IEEE to an organization that requests a block of MAC addresses. The //! last three octets (00-00-80) are a 24-bit number managed by the OUI owner //! to uniquely identify a piece of hardware within that organization that is //! to be connected to the Ethernet. //! //! In this representation, the octets are transmitted from left to right, //! with the ``AC'' octet being transmitted first and the ``80'' octet being //! transmitted last. Within an octet, the bits are transmitted LSB to MSB. //! For this address, the first bit to be transmitted would be ``0'', the LSB //! of ``AC'', and the last bit to be transmitted would be ``1'', the MSB of //! ``80''. //! //! The address passed to this function in the \e pui8MACAddr array is //! ordered with the first byte to be transmitted in the first array entry. //! For example, the address given above could be represented using the //! following array: //! //! uint8_t g_pui8MACAddr[] = { 0xAC, 0xDE, 0x48, 0x00, 0x00, 0x80 }; //! //! If the MAC address set by this function is currently enabled, it remains //! enabled following this call. Similarly, any filter configured for //! the MAC address remains unaffected by a change in the address.
To delete the MAC address after it has been committed, you would need to clear out the whole device by using the device unlock process.