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.

RTOS/PROCESSOR-SDK-C6748: How to change MAC address with Processor SDK C6748 on LCDK C6748?

Part Number: PROCESSOR-SDK-C6748
Other Parts Discussed in Thread: OMAPL138

Tool/software: TI-RTOS

Recently i have two boards running on the same network. To prevent network collision I want to change MAC address on these boards. I have looked for NIMU_emacExample_lcdkOMAPL138C674xBiosExampleProject in PDK package, but could find a place to change MAC address. Is there anyway to change MAC address with Processor SDK C6748 on  LCDK C6748? If any, how to config it? thank u in adv.

My environment is CCS 7.3, processor_sdk_rtos_omapl138_4_00_00_04, LCDK C6748. 

  • Hi,

    You can reprogram the MAC address by modifying the MACADDRLO & MACADDRHI registers. Check out the EMAC_coreInit() function in the pdk.

    Best Regards,
    Yordan
  • Thank u for your reply, Yordan Kovachev. I have checked the EMAC_coreInit() function and found it modifies the MACADDRLO & MACADDRHI registers. That means I should reprogram the registers after running EMAC_coreInit() function. Then when does the EMAC_coreInit() function run? If i reprogramed the register, would it take effect immediately?
  • Then when does the EMAC_coreInit() function run? If i reprogramed the register, would it take effect immediately?



    After modifying the function, you need to recompile the emac example & the board library and then load and run the program. This function is part of the emac low level driver (which is the initialization part of the nimu examples).

    Best Regards,
    Yordan

  • Thank u, Yordan Kovachev. I have solved the problem. The MAC address was first fetched in nimu_get_emac_info() function. For C6748 LCDK, this function was implemented as hard coded mac address, not get from the BootCfg register. I have override nimu_get_emac_info() function in my code(comment out the original function and extern it outside). It works fine.