Due derivative without Programming Port? SAM3X Erase, Bootloader?
hello. working on board based on due educational aid. aim place same processor on due (sam3x8e), want eliminate second boot loader 16u2 processor if possible. skilled in hardware , have written simple software various arduino platforms, not familiar low level details of various boot loaders , options. appreciate guidance before spinning own board.
it understanding function of 16u2 twiddle reset , erase pins of sam3x cause mass erase, work usbserial uart converter load sketch onto sam3x. reading datasheet of sam3x, seems holding erase pin high more 220 ms cause mass flash erase of sam3x.
i considering adding simple external one-shot circuit accomplish without need populate 16u2.
the following understanding - hopeful knowledgeable in low level details can tell me if work or if missing something.
1) assumption arduino ide environment, when due native port selected target, arduino ide communicates directly bootloader inherently present in sam3x. assumption there no additional or special bootloader added sam3x arduino ide or prior shipping due board.
2) understanding due "programming port" (which programs via 16u2) there guarantee programming possible if sam3x becomes locked or crashed, according read on due page, may make native programming port (usb direct sam3x) unresponsive.
3) there reason not populate sam3x (the exact same part number used on due) , allow programming using native usb port on sam3x, provide button or jumper on board trigger simple circuit reset sam3x , hold erase pin high while? allow user activate erase function if sam3x becomes bricked, native port can used once again re-program there.
4) if take new, blank sam3x of same part number used in due , populate on board following due reference design, plug arduino ide , target due native port, can expected can load sketch work on due board onto new board?
thanks in advance help!
then provide button or jumper on board trigger simple circuit reset sam3x , hold erase pin high while? this allow user activate erase function if sam3x becomes bricked, native port can used once again re-program there.
one hidden gotcha terrible quality problems microsoft's usb serial driver. it handles unexpected device disconnection poorly program has com port open , in use in ways. it leaves junk in windows registry, wouldn't big deal, except can confused leftover stuff next time device reappears. of course, there's no feedback of giving user, makes delayed troubles confusing , difficult resolve. if take common tactic of trying reinstall driver, add yet layer of complexity problem.
the 16u2 solves never disconnecting usb. well, @ least if leave cable physically plugged in.
mac , linux work pretty well, can disregard particular issue if you're never going use windows.
it might not big deal if benign things don't necessitate hard reset while usb in use. @ least, might try advise users close arduino serial monitor or program accessing native port before pressing button!
Arduino Forum > Products > Arduino Due (Moderator: fabioc84) > Due derivative without Programming Port? SAM3X Erase, Bootloader?
arduino
Comments
Post a Comment