Must manually press erase button before uploading by programming port

I've just got a arduino due board. Everything works fine expect for the programming port. I know it is basically a usb to serial by ATmega16u2. The problem is the designed "auto hardware erase" seems not long enough to erase the main chip ATSAM3X8E. Even if I press the erase button by my finger, it won't erase unless I hold it down for a second. I used a oscilloscope to test the auto erase time by 16u2 and it was about 250 ms, which is longer than recommended 220 ms. So it shouldn't be the problem with the 16u2 and the program inside. Obviously the real thing does not meet the function claimed in their documents (both Arduino and Atmel/Microchip).

I am wondering if I should return the board. It is not a big deal to press the button before every uploading. But it is awful. I am also wondering why this feature is designed. I have used different microprocessors for a couple of years and never have seen a similar erase pin. A similar way is only used to enter the bootloader in stm32. An erase can be done in the bootloader.

Thanks!

I've never had a issue with autoReset on programming port.
When you upload sketch, simply let the Due sit there (and don't touch the reset button/erase button). the 16u2 should be able to trigger a soft reset and a soft erase.

The guy just told you it doesn't work. What do you do?... Tell him it should work. Why? What's the point? He knows it should work. Does he need you to tell him it should work when it clearly doesn't? How does it help him if you told him it should work? I have a board that does the same as his board. Are you also going to tell me it should work?

@razvitm
Well, the guy did not tell me whether he pressed the erase button before uploading a sketch or whether he pushed some other button before uploading a sketch (which might be perceived as normal behavior).
I am saying that if I did not press any button (just soft reset) the ARMm3 will be erased and programmed
@wangsair
I vaguely remember that the Arduino website have described some issue about resetting on the ARM boards (zero, due).
Anyhow. Remember that the chips have a write/erase limit, of about 10000 cycles (after which it will die). You can use this as the "test chip" and use a better one for a "finished product".

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.