Migration of working projects from Atmel Studio 7 into a new IDE (Keil, IAR)?

Hi all!

I would try to tell my complex problem in short words...

I am developing some programs (boot, firmware) for my own devices/circuits with SAM S70 MCUs. I used Atmel Studio 7 (+Atmel ICE tool with SWD) and got familiar with it but until now I've faced hundreds of problems (speed, fuctionality, bugs and debug failures) and now it's enough. I need to port all of my programs under a usable IDE.

One hard thing that I have to do it in quite short time. I downloaded the evaulation version of both Keil uVision (MDK 5 or such) and IAR but there are no example projects at all for SAM (Atmel/Microchip) devices. So I can't figure out in short time how to convert my working "linker scripts" under these new IDEs and compilers. (And possibly other issues later which I don't see yet.) Is there any solution, how-to document, guide or anything that helps doing all such things under Keil or IAR? I don't need to fully learn it, they should only work (as do now). Later I will have time to learn everything else or new things. Currently I don't even know which IDE would fit for me the best.

Some technical info:

  • The target MCU is SAM S70 (precisely ATSAMS70N19 and ATSAMS70Q21).
  • Debug interface is SWD. Used tool is Atmel-ICE.
  • The circuits are custom made, two of them, both have boot and firmware programs working (but not finalized).
  • The projects are bare-metal, also no ASF or such used. Everything is under low-level control from reset to fault handling. Memory layout is also 'predefined', I need to know and control exactly where things are placed. No IO features etc. (I use my own tiny OS too.) The only thing why it is written in C/C++ is the complexity. :P

If I had some low level examples for any of the IDEs (eg. a TCM example) I might do the porting in a week. Please help me where could it gather some info on this!

ps.: the final straw about AS7 was the following: I can download and run+debug the firmware program into one device, which does not start at the start of the flash memory, so VTOR is overridden by the tool. It works as intended. But EXACTLY THE SAME does not work for the other device... (only for one special "reset strategy"). Despite the two MCUs are exactly the same from the point of view of SWD. ???

More questions in this forum