AnsweredAssumed Answered

BitInit 2.2 and MAC Address production programming

Question asked by Patrick McNeil on Oct 25, 2012
Latest reply on Jan 8, 2013 by Alejandro Sierra Guiza
Branched to a new discussion



I'm wondering if the source for BitInit 2.2 is available? This seems to be written in .NET and I would like to integrate the code into my production programming/testing software, which is also written in C#.


I've been trying to integrate by just running from C# using Process() - but when I try to redirect I/O, BitInit throws an exception:


Unhandled Exception: System.InvalidOperationException: Cannot see if a key has been pressed when either application does not have a console or when console input has been redirected from a file. Try Console.In.Peek.

   at System.Console.get_KeyAvailable()

   at BitInit.Program.Main(String[] args)


Since I can't redirect I/O - I have no way of programatically telling whether the program was successful. Also, the ExitCode is often 0 even when the program has failed - for example, when there is a timeout. I'd also like to ensure that I only program one board at a time, even if two are connected, because I'm doing MAC addresses.


I know the mfg-tool source is available, but this is in C, so the BitInit source would be easier to integrate.



Also, I've seen a lot of posts saying that mfg-tool is a good way to program MAC addresses into the OTP fuses - but I don't understand how. I can get mfg-tool to program the fuses easily enough - but how do I get it to automatically increment the MAC address and recreate the file after every program - and especially, how can this be done when we are programming up to 16 boards simultaneously? Is this functionality available, or do I need to implement it separately?


Right now - I'm thinking of doing mass gang programming of 16 at a time for the large firmware files using mfg-tool, and then program MAC addresses / test one at a time using our internal production software.