commercial IDE for microchip parts including Amel SAM stuff - Page 1
Forum section: electronics / general

author: Simon
author_rank: Unknown
timestamp: May 15, 2024, 01:37:31 pm
content: I am interested in an IDE paid is fine to work on microchip/atmel sam parts. Any recommendations? I'm not after a ton of libraries, I am really just interested in an IDE that works without being a computer scientist and linux guru.

author: Dazed_N_Confused
author_rank: Contributor
timestamp: May 15, 2024, 01:43:26 pm
content: Have a look at platformio with Visual Code to see if it supports the micros you need. It automagically takes care of some of the setup for youhttps://platformio.org/

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: May 15, 2024, 02:45:23 pm
content: What's wrong with MPLABX?

author: Tation
author_rank: Regular Contributor
timestamp: May 15, 2024, 02:54:08 pm
content: If interested in the ARM-based ones, use Keil uVision 5.

author: Simon
author_rank: Unknown
timestamp: May 15, 2024, 02:57:41 pm
content: Quote from: mikeselectricstuff on May 15, 2024, 02:45:23 pmDon't even go there. I want commercial support, not one company blaming the bunch of hippies who's amateur project they decided to use to save themselves time instead of doing the job properly. I'm so close to instead investing the time in doing it all on the command line....

author: NaDobraNich
author_rank: Regular Contributor
timestamp: May 15, 2024, 04:35:43 pm
content: QuoteOof... Man... Someone come in and say some vendor's implementation on top of Eclipse for the fourth horseman. ffs, I'm sorry but I have used those three options and you couldn't pay me enough to go back to any of them. PIO is fine for their tutorials and terrible once you need to do a single thing outside the normal, Microchip known universally for their excellent software is a great idea and I can't possibly disagree, and Keil... Which is only 20 years behind any decent IDE although the CC compiler is fine it isn't supported like GCC.I'm not great at embedded OP, but look.... I'm going to give you the best advice you'll get all day, feel free to ignore it.VS Code, GCC, CMake, DevContainers. No paid, no off the shelf solution, no vendor, works everywhere. Man up, but know that you'll have a support group for you.If you forced me to pay for something, maybe CLion, or Visual Studio actual-not-Code set up with GCC and those two options are they're the only two popular options that I don't have experience with or know enough to hate them yetIt would be a strong force to rip me away from VS Code.

author: Simon
author_rank: Unknown
timestamp: May 16, 2024, 12:44:09 pm
content: Right. So everyone is banging on about CMSIS, sure, sure, best thing since sliced bread and it does all the work for you even your dishes. What does it actually do? Is this just CPU related stuff or is this supposed to be peripheral support as well. I have downloaded it I think as seeing for myself is faster than expecting any vendor to tell me and all I see is CPU related stuff. Is that correct?

author: bingo600
author_rank: Super Contributor
timestamp: May 16, 2024, 01:16:00 pm
content: I like Code::Blocks - As it's fast (written in C) - But no commercial support i thinkhttps://www.codeblocks.org/But also uses Eclipse, if i (absolutely) have to ...I'm so "old school" that i often use makefiles, even in CB.CB is just an IDE ... You have to install & add the (path to) compiler & libs your self/Bingo

author: Simon
author_rank: Unknown
timestamp: May 16, 2024, 02:40:48 pm
content: what I lack is how to set up the entire tool chain. So I aim to learn to do it on the command line so that I understand the entire process. then I can go looking for another IDE an understand how to set it up. Looked at uVision 5 it's crap, it won't do uint8_t type, types, as soon as I include inttypes.h the compiler does not like it's contents.Tried kiel cmsis under visual studio code and it failed to locate it's own cmsis header file that was sitting there in the project. I'm just so fed up with it all. I want to write code, not fix other peoples lousy IDE's.I don't know if there are other options for SAMC or any micro controller under VSC that make any sense, the next bit of fun is debugging although at this point I am almost willing to write my own serial port code to debug with.

author: ajb
author_rank: Super Contributor
timestamp: May 16, 2024, 03:03:23 pm
content: You can still getAtmelMicrochip Studio. It's based on Visual Studio rather than Eclipse, so pick your poison. Not sure what kind of support you'd get from Microchip for it, but it's all just arm-gcc under the hood and one install to get started, with full interactive debug etc.It has some quirks, but IME most problems can be solved by deleting the .atsuo file from your project (it will be recreated automatically).

author: Tation
author_rank: Regular Contributor
timestamp: May 16, 2024, 03:16:51 pm
content: Quote from: Simon on May 16, 2024, 02:40:48 pmIt is not inttypes.h, but <stdint.h> or <cstdint>.Keil MDK6 on Visual Studio Code is still, at best, at beta stage. I am yet to first successfully compile with it any previous uVision 5 project.

author: PlainName
author_rank: Super Contributor
timestamp: May 16, 2024, 03:28:11 pm
content: Quote from: Simon on May 15, 2024, 01:37:31 pmPerhaps you should specify what you think of as an IDE, or what features/facilities you would expect. There are many variations on the theme, and without knowing what you're actually looking for people will propose whatever they like as The Solution.As a for instance, when I did PIC stuff I loathed MPLab (and don't start on MPLabX, as you note) so I used it purely as a compiler. I used Slickedit for the IDE, which is far FAR better as an editor than any proprietary IDE editor. After all, most of my time is going to be editing, and I want multiple windows, object lookups, etc. The downside of that approach was I had to - horrors! - click on a different window to perform a compile. Even so, any errors could be picked up by Slickedit and drop me at the exact point in a file where I boobed (but, over time, I've realised that's not so important as it once was).So there I'm using two 'IDEs' and I'm willing to bet that if I'd come on here asking what would suit me, no-one would ever come up with that solution.I'm not saying that's how you should work; I am saying that if you don't specify what you want/need/expect then you might as well ask for link to random application downloads.

author: NaDobraNich
author_rank: Regular Contributor
timestamp: May 16, 2024, 04:28:23 pm
content: Quote from: Tation on May 16, 2024, 03:16:51 pmIf you absolutely had to have a paid compiler, this seems like a good option.I'm sure they still find a way to get their failed PACK system into this, right? The system that no one supports anymore and you're going to be on your own quickly anyhow so why bother? But still... At least you're dumping the worst part of Kiel their ancient IDE in favor of the world's best text editor.I feel like some of these other responses are bizzaro-world.OP, time to learn. Yea, it sucks to set up your first tool chain. But it's not like there aren't a ton of guides to do this. If you find someone using dev containers, just get a copy of their devcontainer.json and their dockerfile.... Done! Now you have a fully running system.OR.... Go purchase something and then wind up where I'm telling you to go now, just in a 3-5 years of lost time.

author: Rudolph Riedel
author_rank: Regular Contributor
timestamp: May 16, 2024, 05:07:04 pm
content: I am still mostly using Atmel Studio for ATSAMC21 / ATSAME51, now called Microchip Studio.This is because everytime I tried to use MPLAB-X it ended badly and I know that Microchip made the Includes used in MPLAB-X incompatible, so I could not really re-use the code I already have anyways.I am considering to use a different controller from a different manufacturer before switching over to MPLAB-X.PlatformIO, as much as like to use it with VSCode, it does not really work for me with ATSAM since platform-atmelsam does not support Baremetal / CMSIS, at least not the official and "supported" version onhttps://github.com/platformio/platform-atmelsam- it supports either Arduino or Zephyr.There was a pull-request for CMSIS support and it works, but it completely got ignored.And this is typical for PlatformIO, often enough you get Arduino support only, another example would be Raspberry Pi RP2040.Needing to use a different controller than already is supported is another issue, I have two STM32 Nucleo boards that I can not usewith PlatformIO and I am waiting for support to catch on for over a year now.Sometimes things break in PlatformIO, because of whatever and searching for the issue leads to tickets that are generally several years old,at this point it is a good idea to remove PlatformIO and re-install it.Ok, less ranting, more positivity.Another option might be Segger Embedded Studio.I have not tried to use it with ATSAM and recently had issues trying to use it with TIs TM4C, but did not get very far.I just installed the ATSAMC21 and ATSAME51 support packges and setup a project for the ATSAME51.And at least this results in a project that compiles.But I am facing the same issue as with the TM4C, that main.c is exactly the same and there is nothing that is target specific and no hint how to go from there.Code:#include <stdio.h>#include <stdlib.h>int main(void) {int i;for (i = 0; i < 100; i++) {printf("Hello World %d!\n", i);}do {i++;} while (1);}Now what?I want to program a micro-controller, not a x86 DOS box.Microchip-Studio adds a #include "sam.h" which gives you all the includes for the controller.And this seems to work for Segger Embedded Studio as well - I could not find any hint in regards of that though.And most of the code with registers I imported into the main.c does not work, likely because Microchip f*cked up the includes.Oh, yes: "Copyright (c) 2023 Microchip Technology Inc. and its subsidiaries.", splendid.The packages are installed here:C:\Users\****\AppData\Local\SEGGER\SEGGER Embedded Studio\v8\packagesAnd now I saw that for TM4C I probably need to include SEGGER_TM4C.h.Apart from issues with the includes which Segger could help with by adding more target specific examples,Segger Embedded Studio looks like an alternative to the Microchip Studio now.The pain with the ATSAM includes though is entirely on Microchip and something I likely do not forgive Microchip.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: May 16, 2024, 05:12:50 pm
content: Quote from: Rudolph Riedel on May 16, 2024, 05:07:04 pmmaybe add a putc() routine to tell it what to do with that printf ?

author: krish2487
author_rank: Frequent Contributor
timestamp: May 16, 2024, 05:22:12 pm
content: @simon,I have a couple of suggestions.Segger Embedded StudioRowley crossworks for ARMboth are based on gcc and the usual suspects, however they might just offer the thing you are looking for - support.I have used rowley briefly but I seem to recall good things about it. keep in mind, its interface is not "modern". Not that its a bad thing, just the way it is.SES is excellent but expensive.. IIRC it is free upto 32K or so. Again, the interface is nothing to crow about.Please keep in mind both of them come with their share of learning curves, but its more or less a one time investment as the IDEs do support a variety of devices across manufacturers.I have not used Atmel SAM series, but I have used SES for other stuff - nrf chips, silabs efm chips and stm32 stuff..SES has ozone which is hands down the best debugger ( GUI types ) for debugging.Having said that, I still use gcc + makefiles + gdb for my professional and personal work . :-D

author: Gribo
author_rank: Frequent Contributor
timestamp: May 16, 2024, 05:50:35 pm
content: Did you try IAR Embedded workbench? ($$$)

author: Simon
author_rank: Unknown
timestamp: May 16, 2024, 08:10:58 pm
content: Quote from: Gribo on May 16, 2024, 05:50:35 pmYou mean the people that want to know all about you before they will even quote? just to make sure the charge enough.

author: Dazed_N_Confused
author_rank: Contributor
timestamp: May 16, 2024, 09:43:10 pm
content: A little heads up on Microchip IDE. First catogory under dev tools.Code:24011 DEV1 : Next Generation MPLAB® IDEThe next-generation MPLAB IDE is based on Microsoft Visual Studio Code and Eclipse Theia™, providing existing VS Code® users with a familiar development environment.This class will provide a hands-on experience on how to use VS Code extensions for MPLAB IDE to create, build and debug embedded applications.https://techtrain.microchip.com/usmasters/classes.aspx

author: jnk0le
author_rank: Regular Contributor
timestamp: May 16, 2024, 09:52:10 pm
content: Another commercial one is VisualGDB which is build on the real visual studio (didn't use it, so can't comment more)Alternatively a plain old eclipse CDT + MCU on eclipse plugin. Not a single click installation and it's still eclipse with it's annoying 20+ yo bugs, but works.Quote from: Simon on May 16, 2024, 12:44:09 pmTheoretically it's just basic headers common to all cortex-m + a bit of device specific headers (startup code, definitions of registers, bitfields etc.).In reality "CMSIS" is most often used to refer to a ST SPL or in some instances, ST HAL.

author: NaDobraNich
author_rank: Regular Contributor
timestamp: May 16, 2024, 10:39:06 pm
content: lol.... Rowley and Segger Embedded Studio.... Corporate wants you to find the difference in these two pictures. They're the exact same product.Oh man, I feel bad that at one point I searched on this exact topic. I thought I needed "support". And I got all the same info.IAR, Keil, Rowley, MPLab... wow embedded moves slowly.Good luck OP.

author: Simon
author_rank: Unknown
timestamp: May 17, 2024, 06:40:23 am
content: Quote from: Dazed_N_Confused on May 16, 2024, 09:43:10 pmYou mean they have seen the light and will release a new MPLAB based on visual studio?

author: JPortici
author_rank: Super Contributor
timestamp: May 17, 2024, 07:15:46 am
content: Quote from: Simon on May 17, 2024, 06:40:23 amYou mean that humongous IDE that is unable to open more than one project at once? Or the glorified text editor full of telemetry (also basically unable to keep more than one project at once in the same window)? If you want that experience there is the VSLABX plugin that transforms VSCode in a glorified editor for microchip projects, but you need to keep MPLABX on the side to create, program, debug anywayWe'll probably see in september after the MASTERs

author: Simon
author_rank: Unknown
timestamp: May 17, 2024, 07:40:53 am
content: Quote from: Tation on May 16, 2024, 03:16:51 pmSo I used µVision 5, this is the old one you can use for free, the idea was to evaluate for the paid version. But there is this MDK6 that is the new version. Does that mean that µVision 5 is not the actual program that we would purchase?

author: uliano
author_rank: Regular Contributor
timestamp: May 17, 2024, 07:45:24 am
content: Quote from: Dazed_N_Confused on May 16, 2024, 09:43:10 pmSo they're finally gonna trash away that horrific Netbeans?If true, I can stick to Microchip Studio and forget about transitioning to MPLABX

author: westfw
author_rank: Super Contributor
timestamp: May 17, 2024, 08:44:11 am
content: QuoteNote that "Visual Studio" and "Visual Studio Code" are two significantly different products.

author: tellurium
author_rank: Frequent Contributor
timestamp: May 17, 2024, 09:34:20 am
content: Quote from: Simon on May 15, 2024, 01:37:31 pmCan you be more specific about the target MCU, please?Also, what are the most important things you're looking for?

author: Simon
author_rank: Unknown
timestamp: May 17, 2024, 02:53:18 pm
content: Quote from: tellurium on May 17, 2024, 09:34:20 amI'm a bare metal programmer. Fact is a micro is not a PC, there is no standardization, only across the same line from the same vendor so I don't go in for the STM-HAL style stuff. So my needs are limited. I just want it to work on a 4K monitor like any modern program should and be able to write and compile code. Debugging would be preferable.

author: PlainName
author_rank: Super Contributor
timestamp: May 17, 2024, 03:04:01 pm
content: QuoteThat is exactly why I use a third-party IDE/Editor. In my case it's Slickedit but if could be VSC or Eclipse or whatever floats your boat. The fact is you're going to be spending most of your time editing, so something you are used to and can drive blindfold would be ideal for any and all projects. It won't happen if you use ANOther manufacturers IDE, as you note.So that's why I suggested you say what's important to you, and concentrate of a solution for that. If your choice of editor doesn't do source-level in-circuit debugging it's not the end of the world - you should need that debugger not very often, and in those cases it's surely not that onerous to just switch to the 'official' IDE just for that. But any serious editor will let you run, say, DBG under the bonnet and likely then provide in-editor source-level debugging anyway. If it's a proper developers editor you'll be able to run CLI commands from it, so the edit-compile-fix cycle can still be done in that editor.The massive advantage of that approach is that you won't be here asking this again because whatever you are working on, your tool is already sorted and will be the same for all of them. It's just the compiler and flasher/programmer commands that change, and all that should involve is a profile in your editor.

author: Rafiki
author_rank: Contributor
timestamp: May 17, 2024, 03:31:32 pm
content: I'm also a long time Slickedit user (on different platforms). I always set in Slickedit the build command to <F5> which calls the compiler/make. Be it make, nmake, wmake, crossbuild, uVision, .... For Cortex-Mx I use Rowley Crossworks as programmer/debugger set to 'auto reload external changed source files'. Only drawback for using different 'IDEs' is, you've to manage the project files in two different programms (Crossworks and Slickedit). But I find this less annoying than relearning different editors every time I switch targets.

author: tellurium
author_rank: Frequent Contributor
timestamp: May 17, 2024, 08:45:35 pm
content: Quote from: Simon on May 17, 2024, 02:53:18 pmThen IMO it is largely a matter of taste, and tastes vary a lot.I spend quite a time writing bare metal, and my preferred way is to use just plain GCC + make + editor. No IDE.Debugging - printf, but in rare cases when I need an interactive debugger - Segger Ozone.If you want to try this approach, here's how:1. Setup your environment (ARM GCC, git and make):https://mongoose.ws/documentation/tutorials/tools/2. Build test project:git clonehttps://github.com/cesanta/mongoosecd mongoose/examples/microchip/same54-xpro/device-dashboardmakeThat will give you a working bare metal app for SAME54.Remove all mongoose stuff, and you'll get a baremetal skeleton with simple HAL on top of CMSIS, which you can expand the way you want.

author: Perkele
author_rank: Regular Contributor
timestamp: May 17, 2024, 08:59:34 pm
content: Quote from: Simon on May 16, 2024, 02:40:48 pminttypes.h was introduced in C99. Could it be that you've selected C90 or C89 as the C standard in project's options.