Run latest version on ATSAME70Q21



  • I was able to run the RRF version(Release 3.1.1) on SAM E70 Xplained board and I was able to connect to the board with the native USB and also using the on-board Ethernet port using the Duet Web Control.
    Of course there was some error messages but never the less, it worked!

    I did a parametric search and compared both of them and it seems the only apparent difference is the amount of the program memory!
    https://www.microchip.com/ParamChartSearch/Chart.aspx?branchID=2113

    My question now, this version is compiled to run on ATSAME70Q20 so what should be changed in the compilation and the source code to be 100% compatible with Q21?
    Or this is not required and everything with be just fine?

    Thanks



  • I wanted to edit my original post to clarify that I was taking about ATSAME70Q21 & ATSAME70Q20 when I did the parametric search
    but the system stopped me from submitting the edit and it said only allowed within the first 3600 seconds!



  • It seems you guys are busy those days, hope someone will be able to help soon!

    I want to create a custom board for RRF3 and going to use the mentioned MCU(ATSAME70Q21) so, some help would be very nice
    thanks!


  • Moderator

    Everyone is quite busy with the beta firmware development for 3.2 at the moment so you may have to wait a bit before @DC42 can respond.


  • administrators

    Code compiled for the SAME70Q20B will run on the SAME70Q21B unless you need to use the additional 1Mbyte of flash memory.

    If you do intend to use that additional 1Mbyte, then you will at least have to change the linker script, which is within CoreNG/variants/same70.

    If you need to enable in-app programming of the flash memory, you will probably need to change the processor type in the compiler preprocessor sessions. You would need to create a new build configuration in Eclipse, defining __SAME70Q21B__ in the preprocessor definitions instead of __SAME70Q20B__. Then look for places in RRF and CoreNG that use __SAME70Q20B__ (there should be very few of them) and change them to accept __SAME70Q21B__ as well.



  • @dc42
    Thank you very much to take the time to write the reply.

    @dc42 said in Run latest version on ATSAME70Q21:

    Code compiled for the SAME70Q20B will run on the SAME70Q21B

    That's a great news!

    @dc42 said in Run latest version on ATSAME70Q21:

    If you do intend to use that additional 1Mbyte, then you will at least have to change the linker script

    I expected this, but that can wait for now. My goal for now is running the latest stable release on a custom board that I am in the process of building it right now.

    @dc42 said in Run latest version on ATSAME70Q21:

    If you need to enable in-app programming of the flash memory

    Does the "in-app programming" required for anything related to the workflow of RRF?, or you are talking about flashing the firmware using in-app programming method?(I am a bit confused!)

    But anyway, I think I tried this approach awhile ago by swapping all "SAME70Q20B" by 'SAME70Q21B" but failed to at linking stage but I will give a try later again.

    I am software developer but unfortunately my experience with c++ and using eclipse is somehow limited (I am a Web developer) but I think I can manage to make the changes(it will be a good excuse to learn new things about eclipse anyway since I am a Visual studio guy)

    Thanks again for your reply.


Log in to reply