Best IDE and configurator tools to start SAM E70 MCU development ?

Go To Last Post
13 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am new to Atmel and Microchip. I have on-going large project which is currently based on another vendor of ARM Cortex M4 MCU and another development framework.

I am researching the SAM ARM line of MCUs and respective firmware development tools with possibility to switch . ATSAME70-XPLD development board is surprisingly powerful for a development board.

Two parallel lines of the development tools are both looking promising but somewhat confusing to choose. 

MPLAB X IDE with Harmony v.3 (which is now supporting SAM 32 bit MCUs)  vs. Atmel Studio 7 with Atmel STUDIO on-line configurator ? Which framework is more robust, reliable and well maintained in relation to the SAM MCUs based on Cortex M4 and M7 ?

My project needs the following libraries / peripherals:

  • RTC with external crystal,
  • MicroSD card 4-bit SDIO interface (code examples?),
  • SPI both master and slave, UART, I2C communications
  • USB Device stack supporting Composite CDC and MSC classes (code examples?),
  • extended usage of Timers for timed Interrupt events, generation of complex PWM waveforms, complemental outputs, chained (linked) synchronization of the generated Timer outputs

 

The main criteria - which are the most clean libraries and good documentation and code examples for the above listed tasks for SAM MCUs? The second criteria is how fast/easy would be migration of existing code from another ARM Cortex M4 vendor/framework.  How well tested are their libraries for SAM MCUs ? MPLAB X only recently included support for SAM MCUs and Microchip does not provide information on what kind of library they use.  Atmel tools use ASF4 library which seems to be well documented although it is also new.

Also which tools have embedded support for the Segger J-Link debugging probe ?

Please help

Sincerely

Vlad

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I forgot to include some important tasks in the list of my project requirements:

  • automated cyclic ADC conversions triggered by a Timer and the results moved to a global memory array using DMA bus ( code examples?)
  • MicroSD card uses FATFS over SDIO interface (code examples?)

 

can this be implemented using ASF4  and also MPLAB X Harmony libraries?

 

Please advice

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've never used MPLAB, but I use Atmel Studio 7 every day and have worked on some projects with SAME70 Xplained boards. There are tons of examples and drivers for you in ASF3, specifically on the things you've requested. I don't know if this exists in MPLAB.

im a penguin

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thank you very much Penguin. Great help. I also learnt from your reply that you use ASF3 library for SAME70 (not necessarily using the latest ASF4 with START ).

Sincerely

bird-man

PS. ( all kind of birds help each other :)

Last Edited: Sun. Jun 30, 2019 - 01:26 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dear all,

 

in my project I use SPI, I2C (2x), all Timers and all channels including chained mode, CAN (2x), UART (2x), USART, Reset-Watchdog, USB Device (2xCDC, 1xMSD), RMII, HSMCI, AFEC (8channels, both AFEC blocks), digital in/out, DAC and AES. All make use of XDMAC whenever possible and meaningful. Additionally the application is based on FreeRTOS and I use the FATFS file system. Recently I was able to enable the Cache feature of the SAME70. I might add TCM and USB DualRole. That first I already did some example and it seems to be not too complicate to be realized. The latter I havn't investigated anything yet. Anyway, with this list it's pretty much everything the SAME70 is offering.

It took me ages to get everything running properly. I changed the tool chains during that time when I felt I get really stucked. Finally I have to say that ASF3 (integrated in AtmelStudio) seems to be the best choice. Just make sure you are using the latest version (and don't update after you successful installed because the changes are sometimes quite substantial - that might screw up your application). I haven't looked intensively in MPLAB because the SAME support is still not complete. That might be an alternative in the future.

 

Best Regards

Markus

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dear Markus - thank you, yours is quite helpful post - many peripherals and interfaces. I am close to moving to ASF3 library. Still testing. I like the START GUI configurator with ASF4 ... Whatever I tried in ASF4 worked well but the number of examples is too limited and those which are done are not exactly the way I need... ASF3 is better represented in examples.

In particular I was impressed with USB Composite example of CDC + MSC classes.  This was a revelation for me how it should be done. I thought I had this case working in my STM32 implementation but now I realized it was not working properly according to the Composite USB interface standard (and it was eventually broken after STM updated library and at the same time broken STM32Cube tool did not allow me to choose old library to get it running again... add no support and in the end I myself was broken...).

Another sweet cookie from SAME70 is that Timers are well logically organized - looks to me been much easier to code than those from other MCU vendors ...

 

One problem I cannot get over at the moment : ASF3 FATFS example with SD card - does not recognize the FAT system on the card... Card is mounted OK but doesn't see FAT table.

This is strange because I have SD card RAW example doing all write/read successfully and my PC sees FAT system on all SD cards which I tried. I even added f_mkfs() formatting of the same card in the same FATFS example to make sure that FAT table will be acceptable ... yet following reading FAT table failed...  they probably have a bug here in ff.c file...

This does not allow me to continue to USB Composite CDC + MSC + SD card...

If I just get this microSD card working here, I'll build my custom development board and will start moving all my project to SAM S70 chip... probably using ASF3 + Atmel START just to help configure/allocate resources.

 

Thanks again for your valuable input,

sincerely

Vlad

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Markus, why did you change toolchain? Are you using thumb or ARM compiler?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bird-man how is your project going?

 

I too am trying to decide on what IDE to go with for the SAM E70. I need the QDEC feature of the TC module and neither Harmony nor Atmel Start seem to be able to configure it. At least with ASF3 I found an example using a SAM4E board.

 

Did you decide to go with ASF3?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi avrdude, I tested many examples with ASF3, I checked out Harmony 3 drivers and got all available ASF4 drivers I could find out of what I need .

The conclusion is this:

The most intelligent design of the ARM library I've seen so far (compared to other libraries from Microchip and also to 5 other main ARM vendors I tested and used) is ASF4 with START on-line tool. It has the best level of abstraction , most logical intuitive readable APIs and fast running code. This library is well paired with Atmel Studio IDE which is very intuitive without ever need to read IDE documentation .

Bad news is that I've learned that Microchip decided to "streamline" their offerings of development tools. This means their end aim is at MPLAB with Harmony 3 for all their MCUs ... ASF4 could be that "golden egg" which they bought but considering to drop some time in the future... I feel that since Microchip/Atmel deal went into effect, the ASF4 development probably slowed down... As example the ADC conversion driver configuration screen has not been finished until today - there is no DMA option in ADC configuration screen! they're still working on it...

Although there are no documentation yet on Harmony 3 but I found a list of all drivers which supposedly available for Harmony 3 (https://microchip-mplab-harmony....) . I could not find in there any mentioning of FATFS with SDIO or SDMMC card ... seems it is not implemented. Other drivers from my needed list are all there . I don't know if they all work or they are mix of some working and others are "to do list" because there is no official document released to describe working APIs,  github pages only ...

Currently I've designed my custom SAME70 board and working on all the drivers I need in ASF4 . Regardless the Microchip plans for the future I believe they will support ASF4/START at some level for years to come so hopefully I have enough time to implement what I need wink

About QDEC feature of TC, I believe your only optin is to do it yourself using other TC code examples as examples of TC APIs plus SAME70 datasheet for QDEC functionality description (it is quite detail)...

Regards

Note 09.13.19  :  I found out from Microchip tech support that they are planning to include support for FATFS over SDIO for SAME70 family MCUs in upcoming Q4/2019 release. Also I found more apps and drivers for SAME70 in Harmony-3 which I did not see before and links to those repositories are not available from any MHC-3 introductory pages...  Looks like my evaluation of Harmony-3 is not complete yet... story continues...

Last Edited: Fri. Sep 13, 2019 - 03:49 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi bird-man, 

 

I can see this is an old post, but it all that i could find for help. I am also working on a project with SAME70 and I would liketo know which is the most suitable IDE to start with. I am quite new to Atmel and Microchip as well. Is still Atmel Studio with ASF4 the most suitable one, or do you think that MPLABX and Harmony v3 could also work? I want to run FreeRTOS 10.2 with TCP, so do you know the most suitable one for this case? (Atmel Start provides up to FreeRtos 10.0)

 

Thanks in advance for you help

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi everybody,

 

even that I have a quite complex project with a custom board and the E70 working, I'm still scanning on regulary the available tool-chains. For the moment my point of view:

  • Atmel Studio: Still very competitive with some problems if you are looking for USB composite device that has more than two CDC. However, the Microchip support helped me with this. FatFS and FreeRTOS are not on the latest version but that can be fixed with not much effort by anybody. Indeed, using Atmel Studio means you are still working a lot with the User Manual of the E70 to find out how things can be used best. Luckily the underlying ASF3 seems to be continously improving and bugfixing.
  • Atmel START: Somehow the same as Atmel Studio. A little bit more user friendly and less working with the documentation of the E70. Also some problems if you like to configure things like USB composite devices. I asked the Microchip support for help on this but get the answer 'you can do this with Atmel Studio'. Personally I didn't find that very customer friendly but OK for the moment.
  • MPLAB+Harmony v3: Seems to be the most powerful and user friendly approach. However, I'm missing a really good user manual about how to deal with Harmony v3. The latest I could find is from 2017 and maybe relates to Harmony v2. The Chip configuration is easy and user friendly. Also for more complex things. However, I'm still confused about their generated app.c and app.h and the state machine that is using these files. For me, that is using always FreeRTOS, this is not easy to follow. Anyway, I will look more into it in the near future and if things turn out to be useful I will switch. FreeRTOS seems to be the latest version. FatFS is available (wrong post above) but not in the latest version.
  • SEGGER Embedded Studio: Very powerful and fast IDE. No support for the configuration at all. I used that IDE in the past after I configured the E70 in Atmel Studio. So for those of you who are very familiar with low-level embedded programming I would recommend this combination. Especially if you have a SEGGER JTAG device. Nobody can download faster. Additionally you can use SEGGER Ozone. A even more powerful debugger - I personally never used because the one that comes with the IDE was totally efficient for me.

 

Final statement. None of the above mentioned tool chains come close to the one that STMicroelectronics is providing with STM32CubeIDE. I wish Microchip will have a look at it and copy ideas in one of their tool chains.

 

Best Regards

Markus

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


Just a small comment. FatFS is available in MPLAB Harmony v3. At least in the latest version. It's not the latest version of FatFS but I guess in most projects it's totally sufficient. It can be found under

 

Drag&Drop it to your project and then you can select and configure the kind of File System you like (including FatFS) on the right hand side.

 

Best Regards

Markus

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the feedback bird-man. I agree with you on ASF4.

I did get my QDEC code working , going bare metal. Well at least it's transferable to other projects.

I might try a few Harmony-3 projects to kick the tires.

 

Best Regards