I am attempting to program our custom imx6 board's serial number and MAC address as part of our factory procedure.
I have a legacy procedure which was used to program our imx28 boards.
The legacy procedure used the old 1.6.2 version of MfgTool.exe.
The profile file 'ucl.xml' launched a python program with the line '<CMD type="exec" body='"$(PROFILEPATH)\\Python27\\python.exe" ...etc>'
The python program generated a custom OTP configuration settings file (containing our serial number as a register value) and passed those setting to 'otp_burner.py' which created an .sb file which was loaded and burned.
I believe that 'otp_burner.py' was provided by Freescale and was specific to the imx28 in that it contains register name to location settings.
I understand that OTP settings (MAC/serial numbers etc) may be programmed following the procedure detailed in OPTION 1.
I also understand that (once linux is loaded) OTP setting is as simple as writing to '/sys/fsl_otp/'
I need a one step procedure however and therefore one which is driven from MfgTool2.exe (Library 2.6.2).
Dropping the original command (& associated files) into the imx6 procedure produces the following error:
'ModuleID LevelID: <CMD>1 has no "state" attribute'
If I add a state attribute then the MfgTool2.exe GUI does not even appear. No error report in the .log.
I cannot find any documentation on the '<CMD type="exec"' command either for the imx28 nor the imx6. I suspect that the command is no longer supported?
I would not be able to provide MfgTool2.exe with serial numbers either through producing a new 'ucl2.xml' file on each programming (see OPTION 1) nor by passing serial numbers as parameters to MfgTool2.exe as both these
methods would requires MfgTool2.exe to be stopped and restarted & the factory would not accept this.
Is there a way to call a host program/script from a ucl2.xml command?
How are serial numbers and MAC addresses normally programmed?