Porting MEGA to DUE - Guidelines

Hello,

The question I have here, what should be the guidelines or key steps, checkings, headers added, modifications to insure that an IDE fully running and operational on MEGA board will work right away on DUE...

It would be interesting to have reports on how MEGA code ports easy or what has to be done so it ports in DUE without big work.

In my case, I'm struggling probably through the same issue where i've been using SerPro protocol open sourced by Alvaro known member of arduino forum, it has been working for more than 2 years within different MEGA (1280, 2560 rev 2 and rev 3) on different projects. When It will work OK then download on DUE but the SerPro protocol using Serial standard routines does not work. Please note that SerPro is an implementation HDLC on top of USB protocol plus has object oriented programming to add very easy any RX or TX commands coming from a GUI (Mac, PC or Linux) so among other things, has 16-bit CRC detection.

Another aspect that might explain the problem, do some of you have been confronted to a endianness issue between MEGA, in fact all classic arduino AVR boards and DUE since we go from 8-bits to 32-bits. I've noticed the DUE compiler did check mistake when using INT on AVR so 16bits but if we leave this on DUE, it thinks of 32-bits or something else.

Albert

P.S. Another thing that I've noticed, maybe i'm not doing something right with IDE but i've noticed two differences between same code compile/load on MEGA versus on DUE:

  • both compilation times seem similar
  • downloading into DUE takes more than 10 or 20 times than downloading into MEGA

Thank you for any sharing, help, suggestions...