Advise needed from any ARM Cortex-M programmers out there

Thread Starter

hunterage2000

Joined May 2, 2010
487
Hi all

I've decided to make the step up from using PIC to ARM Cortex-M but having trouble finding an equivalent to the PICKIT to program it.

After googling the net I have been given loads of options but have no idea what to buy.

Can anyone out there give me any advise on what to buy?

I'm so used to buying a PIC16F microcontroller, using MPLAB and the PICKIT 3 I'm unsure about what I need.
 

MrChips

Joined Oct 2, 2009
21,084
I am an STM32 user.
I use STM32F407-DISCOVERY, Atollic TrueSTUDIO, STM32CubeMX.
You can use a lower priced DISCO board such as STM32F0-DISCOVERY.

There is a new suite STM32CubeIDE that you ought to use for starters.
 

Thread Starter

hunterage2000

Joined May 2, 2010
487
Excellent guys, I spent hours looking at a million different dev boards but your answers have narrowed this down a lot.

So I'm guessing that the M4 is more complex than the M0 and there is more than one IDE.

I was looking at one called Keil MDK but now not so sure.

Basically I'm asking this because I was researching what is the most used microcontroller in jobs as an embedded systems engineer (Mostly ARM Cortex-M). I am a PIC user but there's either no junior positions or you need 5+ years experience working with PIC.

Can anyone tell me the most common IDE used for programming the ARM Cortex-M in industry please? or does this vary?

Every PIC job I've looked at wants experience of MPLAB X IDE, XC8 or HI-TECH.
 

MrChips

Joined Oct 2, 2009
21,084
I would not get hung up on any hardware or software.
ARM is simply an architecture. C is the most common programming language for embedded systems.
Use any ARM chip with any IDE.
 

danadak

Joined Mar 10, 2018
4,057
The Cypress IDE covers all the cores in my prior post. Its free.

The principle difference in Cypress is its analog and routing capability. DACs,
OpAmps, SAR 12 bits, DelSig 20 bits, PGA, Mixer, Vref, Muxes......Besides
all the digital library.........logic fabric, digital filter, COM, LUT, DMA........

Attached is a component list. A component is an onchip resource. The
attachment is for a 5LP, the PSOC 4 family a subset.

Regards, Dana.
 

Attachments

rsjsouza

Joined Apr 21, 2014
246
I am a user of TM4C and MSP432 devices, which are Cortex M4 with floating point extensions. They have a few development kits called Launchpads and several attachments to them, called Boosterpacks.

The main launchpad page is:
http://www.ti.com/tools-software/launchpads/launchpads.html

The relevant kits are:
MSP-EXP432P401R - General purpose, 14-bit ADC, 256kB Flash, 64kB RAM, 48MHz, etc.
MSP-EXP432E401Y - Ethernet, USB on the go, 12-bit ADC, 1MB Flash, 256kB RAM, 120MHz, etc.
MSP-EXP432P4111 - LCD controller, 14-bit ADC, 2MB Flash, 256kB RAM, 48MHz, etc.

Code Composer Studio is the main development tool and is free.
http://processors.wiki.ti.com/index.php/Download_CCS

The boards above share a common SDK:
http://www.ti.com/tool/simplelink-msp432-sdk

One of the advantages is the SDK is similar for the processors above and other wireless stuff (Zigbee, Bluetooth, Wi-Fi, etc.) - if you need this, the migration may be easier.
 

Thread Starter

hunterage2000

Joined May 2, 2010
487
Thanks for your suggestions guys, I've decided to go with the
CY8CKIT-059 PSoC® 5LP Prototyping Kit (£10) and PSoc Creator IDE.

I may try other IDE'S to test which one I prefer.

Thanks again

 

danadak

Joined Mar 10, 2018
4,057
There is a series of videos at cypress website, PSOC Creator 101 that are short videos
that get you up and running quickly.

http://www.cypress.com/video-library/PSoC-Software/psoc-creator-101-lesson-1-introduction-0/108116

When you do a project one step that gets overlooked is to update components. Components
are periodically updated, after first being introduced, and step is needed. "Update Components"
is in the main menu, "Project" menu entry. Note you do this also to run example projects because
a number of them were done in older versions of Creator when released. Eg. Cypress does not
commit a team forever to updating example projects every time Creator upgrades are released.
Its a simple step

One other minor issue is when wiring busses to individual logic I/O, like a control register N bits
wide to mux control address inputs, its tricky first time you do it, then completely intuitive after
you go thru it. Basically wiring 1 bit into a buss you have to select index into the buss so tool
knows which buss wire to pick up. There is a video on this.

As an aside the 059 is excellent choice. Cost, debug are there. And you get two PSOC 5LPs
on the board. One to handle interface, debug, and programming, the other is the target. If you
finish a project and decide to break off the debug/programmer you are now free to use it as
another target, although as you can see I/O is severely limited, very few GPIO brought out to
header holes on that small section of board. If you do and later decide you need to make a
change to the original target, you reload the firmware into it, and connect to target, and go
about your business. Note when you do break off the programmer/debug and use it as
a target, there is no debug capability because you over write that firmware to make it
a target chip.

Regards, Dana.
 

Thread Starter

hunterage2000

Joined May 2, 2010
487
Just had a look at some of those PSOC Creator 101 videos, very helpful.

The drag and drop feature of PSOC Creator is cool.

Is there special function registers like with PIC i.e. OSCCON, PORTA,B, ADCON1 etc?

Ideally I want to use the most commonly used ARM software that they use in industry.

Does anyone know what is the most commonly used software?
 
my choice:
1) STM32F4xx or STM32L4xx - lots of types, now IDE free of charge, very cheap discovery boards, ...
2) XMC4xxx from INFINEON - enought types of MCUs, development environment free of charge (look for DAVE), cheap development boards
 
Top