Skip to main content
2 votes

Is there a good reference for Arduino Due memory architecture and usage?

Yes, the Arduino Due uses a flat memory model with a single address space for Flash and RAM. Therefore all constant data sits in flash and does not need to be copied to RAM at startup, like the AVR-...
PMF's user avatar
  • 1,296
2 votes
Accepted

Why NVIC_EnableIRQ handler function only run once?

Two things: Never use delay() inside an ISR. On some systems it may work, but on most it will just block. It's bad practice to have your ISRs run for more time that absolutely needed anyway. You need ...
Majenko's user avatar
  • 105k
2 votes

PROGMEM on Arduino Due (ARM Cortex M3)

There is no PROGMEM required on ARM. There is no memory bus separation between Flash and RAM, so it doesn't copy constants from flash to RAM which PROGMEM is used to prevent.
Majenko's user avatar
  • 105k
2 votes

while(1) loop blocks program to enter interrupt

The while loop should have no effect on interrupts. Where does run() get called? We'll need to see the code that sets up and calls the code you've shown. But as a sanity check, you could try replacing ...
JRobert's user avatar
  • 15.3k
1 vote
Accepted

Is there a good reference for Arduino Due memory architecture and usage?

So (review feedback welcomed) in the Arduino Due SAM3x memory architecture compared to the AVR architecture: Non-volatile flash memory contains: program instruction code (same as AVR) bootloader (...
RowanP's user avatar
  • 869

Only top scored, non community-wiki answers of a minimum length are eligible