Hi @amankumbhani ,
MAC address are 6 bytes and format is defined by BT SIG. Please refer to bluetooth.org for more details. It can be either public , private or random mac address.
This MAC address is stored in a dedicated place in NVM section managed by BLE stack. You do not directly program MAC address. Using RF Flasher, you can program each of your device based on a specific pool of MAC address you previously bought or defined. Anyway, you are programming it at a specific flash address, but this is not the one used by BLE stack. As mentioned upper, your FW will read MAC adrerss at this specific flash @ and apply it to device - BLE stack will then store it in NVM.
Now, if you don't need public MAC address and want to use random address. You don't need to program any MAC address using RF flasher.
You can use static random address. The static random address is generated and programmed at every first boot of the device on the dedicated Flash are and never erased (except if you perform mass erase)
More details on MAC addresses are available in PM0269 ( BLE Stack Programming manual) section 3.1.1.
Regards,
Sebastien.