EEVblog Electronics Community Forum

Electronics => Microcontrollers => Topic started by: TheBrick on May 23, 2014, 08:48:24 pm

Title: ARM Cortex M Development Baord
Post by: TheBrick on May 23, 2014, 08:48:24 pm
Yes its another one of those annoying questions. I'm a little overwhelmed by the choice I have some AVR experience but no ARM. I think its M series I'm looking at, this mainly as a learning experience but the general field will be interfacing and control with data exchange via CANbus.

My requirements are:

M series (I think)
CANbus.
Ideally possible Linux development environment but I can always buy win 7 license if really necessary, its just not what I have at home
UK / Europe supplier.
Cheap! This is not for work and I can't afford to spend £100 on this. Really want to keep it < £50.
Bonus if it can deal with floating point. Not essential but nice. I'm not sure if this is standard in the M series from a quick look, it appears to be only on some models?

www.olimex.com (http://www.olimex.com) look good but no CANbus compatible boards listed. Of course I could gete a CAN chip and make some sort of daughter board but I I'd rather just be able to get moving quickly.

Thanks
Title: Re: ARM Cortex M Development Baord
Post by: eliocor on May 23, 2014, 09:09:43 pm
http://www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419?s_searchtype=keyword (http://www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419?s_searchtype=keyword)
combined with http://www.st.com/web/catalog/tools/FM146/CL1984/SC720/SS1462/PF255417 (http://www.st.com/web/catalog/tools/FM146/CL1984/SC720/SS1462/PF255417) (CAN+...)

Price: 13.76€ http://it.rs-online.com/web/p/kit-di-sviluppo-per-processori-e-microcontrollori/7458434/ (http://it.rs-online.com/web/p/kit-di-sviluppo-per-processori-e-microcontrollori/7458434/)
http://it.farnell.com/stmicroelectronics/stm32f4discovery/stm32f407-usb-otg-discovery-kit/dp/2009276?MER=en-me-pd-r2-acce-sto (http://it.farnell.com/stmicroelectronics/stm32f4discovery/stm32f407-usb-otg-discovery-kit/dp/2009276?MER=en-me-pd-r2-acce-sto)
http://it.farnell.com/stmicroelectronics/stm32f4dis-bb/expansion-stm32f4-cortex-m4-discovery/dp/2250205 (http://it.farnell.com/stmicroelectronics/stm32f4dis-bb/expansion-stm32f4-cortex-m4-discovery/dp/2250205)

This ARM (Cortex M4) supports also floating point.
Title: Re: ARM Cortex M Development Baord
Post by: SirNick on May 23, 2014, 09:10:26 pm
I'm at pretty much the same point as you.  There are plenty of options on the table.  Atmel has the SAM stuff, NXP has the LPCs, ST has the STM32....  pick a vendor.  :)

The ARM M-series is a line of devices intended to compete in the microcontroller space.  The M0/M0+ is the lowest-end, and each tier builds upon the former.  The M4 for example is a pretty capable platform, just shy of a "real processor", and has an M4F variant with floating-point support.  You can run uclinux on the bigger ones, with memory in the 100-256KB range or so.  Otherwise, you'll be using typical bare-metal code like on AVRs, or an RTOS.

Wikipedia's ARM M article is a good place to get your head around the core options, and the level of control each vendor has on what their flavor will look like compared to the reference design.

Dev boards can easily be had for $20-40 US or so.  The bare chips are in the $1 to $20 range.  CAN is definitely a popular option -- nearly as ubiquitous as SPI, i2c, etc.
Title: Re: ARM Cortex M Development Baord
Post by: nctnico on May 23, 2014, 09:12:03 pm
I got a couple of these boards for testing stuff out:
http://www.ebay.com/itm/New-NXP-ARM-Cortex-M3-LPC1768-Development-Board-3-2-TFT-LCD-Module-64KB-SRAM-/270962249071 (http://www.ebay.com/itm/New-NXP-ARM-Cortex-M3-LPC1768-Development-Board-3-2-TFT-LCD-Module-64KB-SRAM-/270962249071)
It has CAN, serial, USB, SD, ethernet, some leds, buttons, TFT touchscreen.... It's a real bargain for $68 including shipping!

edit: Link to a picture:
http://thumbs4.ebaystatic.com/d/l225/m/m0m59krxRc2xE3jYyYqBm7g.jpg (http://thumbs4.ebaystatic.com/d/l225/m/m0m59krxRc2xE3jYyYqBm7g.jpg)
Title: Re: ARM Cortex M Development Baord
Post by: mtdoc on May 23, 2014, 09:28:09 pm
Disclaimer: I'm a total ARM noob (just having done the UT online embedded course on edX). 

But - the  TI Tiva C launchpads  (https://estore.ti.com/Tiva-C-LaunchPad.aspx) are a real bargan ($12.99) and meet all your requirements I believe.

As an ARM noob - I found learning to program with one of these pretty painless using Keil on Win7, but I believe there are Linux toolchains available as well.
Title: Re: ARM Cortex M Development Baord
Post by: Harvs on May 24, 2014, 01:02:09 am
Keep in mind that a significant majority of the ARM M series devices from all the vendors will have CAN bus peripherals, just not the PHY.

The PHY for CAN is generally just a 8 pin package (easily available in a DIP8 if you like) you can stick on a piece of veroboard or similar.  So personally I wouldn't let the lack of CAN PHY stop you from getting a board as long as you have access to the pins you need.
Title: Re: ARM Cortex M Development Baord
Post by: westfw on May 24, 2014, 01:18:04 am
>> (just having done the UT online embedded course on edX)

Fun, wasn't it?  Highly recommended, if/when it repeats.
OTOH, very much an "embedded basics on bare metal" kind of class (which it should be, IMO), so you won't learn about CMSIS or TivaWare...  (also, it's a bit depressing how little you cover in a 1-quarter class, compared to how many features are on the chip.)
Title: Re: ARM Cortex M Development Baord
Post by: nctnico on May 24, 2014, 01:32:17 am
Keep in mind that a significant majority of the ARM M series devices from all the vendors will have CAN bus peripherals, just not the PHY.
No. AFAIK they have to pay royalties for CAN so you won't find CAN on the lower end devices or have similar devices without the CAN peripheral.
Title: Re: ARM Cortex M Development Baord
Post by: Harvs on May 24, 2014, 01:50:02 am
Keep in mind that a significant majority of the ARM M series devices from all the vendors will have CAN bus peripherals, just not the PHY.
No. AFAIK they have to pay royalties for CAN so you won't find CAN on the lower end devices or have similar devices without the CAN peripheral.

OK.  Considering the OP was after FP, I should have been more specific in stating M4F devices.
Title: Re: ARM Cortex M Development Baord
Post by: gocemk on May 24, 2014, 09:17:13 am
For the budget you have you really can't go wrong with either STM32F3 or STM32F4 boards equipped with Cortex M4F core. I own STM32F3 Discovery board and you can use the CAN module, no problem at all. All you need is a cheap CAN transceiver (e.g SN65HVD230) and you're good to go. ST also provides CAN library which is a huge plus, especially for begginers (IMO).
Title: Re: ARM Cortex M Development Baord
Post by: miguelvp on May 24, 2014, 08:02:42 pm
Cypress pioneer kit has 2 PSoCs (4 & 5LP)
http://www.cypress.com/?rID=77780 (http://www.cypress.com/?rID=77780)

The PSoC 4 is a cortex M0 but no CAN controller supported for it.
However the PSoC 5LP has a cortex M3 and it supports the CAN protocol..

Video about implementing a CAN controller on a PSoC 3 (applies to 5LP as well)
http://www.cypress.com/?rID=37766 (http://www.cypress.com/?rID=37766)

Note that you need an external transceiver to get to the right signal levels.
http://www.wayengineer.com/wx-sn65hvd230-can-board-mcus-to-the-can-network-33v-p-2291.html (http://www.wayengineer.com/wx-sn65hvd230-can-board-mcus-to-the-can-network-33v-p-2291.html)

Note that comes with sample source code for the STM32 so you could use this transceiver with the kit suggested above as well.

Actually it might be simpler to use the STM32 since most of the samples for the Pioneer focus on the PSoC 4 not the 5LP that much. But it's possible to use the 5LP chip:

http://www.element14.com/community/thread/25084/l/psoc-4-pioneer-kit-community-project036-what-i-can-use-the-psoc-5lp-too (http://www.element14.com/community/thread/25084/l/psoc-4-pioneer-kit-community-project036-what-i-can-use-the-psoc-5lp-too)

One downside is that PSoC creator (the IDE dev environment) is C only but it's possible to compile C++ as well:
http://cladlab.com/programming/microcontrollers/psoc/using-cplusplus-with-psoc-creator (http://cladlab.com/programming/microcontrollers/psoc/using-cplusplus-with-psoc-creator)
http://www.psocdeveloper.com/forums/viewtopic.php?f=43&t=8086 (http://www.psocdeveloper.com/forums/viewtopic.php?f=43&t=8086)

and a project to make the PSoC Arduino Friendly:
http://www.egr.msu.edu/classes/ece480/capstone/fall11/group01/index.html (http://www.egr.msu.edu/classes/ece480/capstone/fall11/group01/index.html)
http://www.egr.msu.edu/classes/ece480/capstone/fall11/group01/doc-6-notes-from-matt.pdf (http://www.egr.msu.edu/classes/ece480/capstone/fall11/group01/doc-6-notes-from-matt.pdf)

That could be ported to the Pioneer easily I will think.



Title: Re: ARM Cortex M Development Baord
Post by: TheBrick on May 27, 2014, 07:26:17 pm
Just a quick reply to say thanks for the replies, they are appreciated I've just been too busy to look. Going to try and work my way thought the links tonight. Seems at least as there are many options.
Title: Re: ARM Cortex M Development Baord
Post by: TheBrick on May 27, 2014, 08:06:16 pm
I like the look of the STM32F4
http://cpc.farnell.com/jsp/displayProduct.jsp?sku=SC13399&CMP=CPC-PLA&gross_price=true&gclid=COD_wtLxzL4CFSEcwwodZJIA0A (http://cpc.farnell.com/jsp/displayProduct.jsp?sku=SC13399&CMP=CPC-PLA&gross_price=true&gclid=COD_wtLxzL4CFSEcwwodZJIA0A)

and the ARM Cortex-M3 LPC1768
http://www.ebay.co.uk/itm/Cortex-M3-LPC1768-Development-Board-3-2-TFT-LCD-Shield-For-NXP-ARM-UK-Stock-/271106959383?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item3f1f3be817 (http://www.ebay.co.uk/itm/Cortex-M3-LPC1768-Development-Board-3-2-TFT-LCD-Shield-For-NXP-ARM-UK-Stock-/271106959383?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item3f1f3be817)
UK seller based in Wigan! Bonus.

@nctnico What development tool chain are you using? Easy to set up?

Any one have any recommendation for Jtag debugger for use with OpenOCD? I've never used JTAG but it sounds incredibly useful, in my desktop experience, debugging is all about your tools and knowing how to use them.  As long as openOCD supports your debugger and chip what is there to choose between one debugger and another. E.g those listed here?

https://www.olimex.com/Products/ARM/JTAG/ (https://www.olimex.com/Products/ARM/JTAG/)
Title: Re: ARM Cortex M Development Baord
Post by: M. András on May 27, 2014, 08:56:17 pm
take a look at the lpc link 2. it can be programmed for a cmsis-dap debugger or a j-link. as a bonus you get a 3 core development board cheap
Title: Re: ARM Cortex M Development Baord
Post by: Rasz on May 30, 2014, 04:44:58 am
take a look at the lpc link 2. it can be programmed for a cmsis-dap debugger or a j-link. as a bonus you get a 3 core development board cheap

with insane 80msps 12bit ADC!
and its only 15 euro with cheap 3euro shipping :o