Jump to content
43oh

I want to try some new architecture (or rediscover one i already know), what are some nice development board?


Recommended Posts

Hi, to briefly introduce myself, i am more a software guy than a hardware guy. So well, i pass more time trying out mcu thing than actual electronics, but everyone has some preference. Im wondering what development board  (abordable of course) did you guy already tried, and could recommend.

 

Of course, the launchpad (already own the tiva and msp430 (G serie)

Arduino

Pioner board (PSOC4)

 

But i know the mcu market is much more bigger, and i was wondering if there are anything else worth trying out.

Link to post
Share on other sites

Which Quickstart? Every company has one...

 

I already have a pickit3, because at my school, its what we use, and i found out the pic 8 bit serie (including the 18f) to be a very ugly architecture. Yes, in the 18f, they tried to make it C friendly, but its still based on an architecture not made for that. You can't just take a non C friendly architecture, and patch few thing to make it C friendly. Well, its still more C friendly than the 16f tough. Apart for the architecture, I found out the register arrangement to be horrible. We configure something, and suddenly, we realize that there is one bit in another random register... (random because that register have no link with what we are trying to do, that register is for something else really).

Also, the peripheral are not really smart. For example, on AVR, the uart have parity implemented in hardware if we want, and we have more control on how many bit per data we want to send. On the pic18f, we have to implement it trough software, and we don't have much control over number of bit per data.

 

I didn't tried yet the 16 bit or 32 bit series of pic, but I know that these one are true C friendly architecture. Completely different architecture from the 8 bit. The only thing that worry me out if its the register and bit organization, and the non-optimizing and de-optmizing compiler, when we get it for free. If only I could use gcc-mips unmodified by microchip to program those pic32

 

Well, i also found out a nice list of board when looking on the mbed site : https://mbed.org/platforms/

 

The only thing that worry me with that is if I have to use mbed. I don't like those high level abstraction where we loose control on what really happen. But this summer, i will try to get my hand dirt with openOCD and linker script(its the linker script and make file that worry me the most about ARM).

Link to post
Share on other sites

I bought an mbed on the theory I could make it work with a CMSIS-based development environment, but after looking into it a little bit closer am concerned it's outdated and expensive for what you get. I might still play with it sometime but the STM kits look like they're more capable and cheaper, if you're not interested in the mbed environment.

 

To avoid linker script/makefile issues with ARM when you're using a POSIX/GNU environment, take a look at BSPACM. It handles all the lower-end (<$100) TI Tiva and Silicon Labs (EFM32) kits that I've found.

Link to post
Share on other sites

You shouldn't judge the features of libopencm3 from the wiki page. There isn't any mention of cortex-m0 support last time I checked, however it works fine with the stm32f0 chips on the discovery board.  If you want to see what it supports, grab the latest version from github source and build it.

Link to post
Share on other sites

I didn't tried yet the 16 bit or 32 bit series of pic, but I know that these one are true C friendly architecture. Completely different architecture from the 8 bit. The only thing that worry me out if its the register and bit organization, and the non-optimizing and de-optmizing compiler, when we get it for free. If only I could use gcc-mips unmodified by microchip to program those pic32

 

I have one of those Microstick-II dev sticks.  I really like the pic24/dspic 16 bit architecture.  PIC24 assembler is very approachable and has some features I've not seen with other chips.  The REPEAT instruction paired with a NOP makes for small and easy cycle counted loops. My only problem is there isn't a C++ compiler for it.

Link to post
Share on other sites

My comments on libopencm3's lack of support for Tiva and EFM32 hardware (which is what I have) weren't based on the wiki; I cloned the repository and looked. As best I can tell after fetching the deltas since I assessed it in late March, STM32 is still the only platform that's getting any attention.

 

The development model they had seemed to be to implement everything from scratch by transcribing content from data sheets or other sources, instead of leveraging the existing BSD-3-Clause CMSIS headers that STM makes available through STM32Cube packages.

 

All in all, the whole project doesn't really make sense to me.

Link to post
Share on other sites

Well gee, there are two ways to think about this:

 

1. Learning/experimenting with various ISAs (Instruction Set Architectures).  If you are going to program in assembly, maybe this is something interesting to learn about.  In this case, I do believe PIC has a MIPS-based variant.  That would be a good thing to compare with the MSP430 -- classic RISC against classic CISC.

 

2. Picking an MCU family that has features that match nicely with the sorts of applications you want to build.  This would be the more practical and less educational track.  The STM32 line is the most expansive and probably best-supported family of Cortex-M ARMs, although the Atmel Cortex-M ARMs now have Arduino boards, if that's your kind of thing.

Link to post
Share on other sites

I have one of those Microstick-II dev sticks.  I really like the pic24/dspic 16 bit architecture.  PIC24 assembler is very approachable and has some features I've not seen with other chips.  The REPEAT instruction paired with a NOP makes for small and easy cycle counted loops. My only problem is there isn't a C++ compiler for it.

 

I have mixed feelings about the PIC24. (I should preamble this by mentioning I do high temperature electronics and use the high temp selection of ICs which are all quite old with respect to the most recent micros available...)

 

I like peripheral options that are available on the PIC24 and PIC33/DSPIC, they seem to really have the actual application level in mind when they set them up. Programming in C is quite simple. The huge amounts of RAM and flash are nice to work with too. Another positive is the re-map-able I/O, the I/O and the peripherals are multiplexed. 

The ADC is quite fast and having an internal PLL is wonderful. The max speed is 40MIPs which is another great feature. 

 

The BAD: I feel like Microchip puts band aids on things (PIC18F I'm looking at you!).

For example there is a nice 8 channel DMA controller that will go to just about any peripheral you want, but on the same note you have to be in the DMA RAM Space, using non-ASCII functions to declare the memory location. You cant do RAM->RAM DMA transfers!

 

The clock system does not lend itself well to low power in any which way (PIC24HJ502, I am not sure about the newer models). They implemented a DOZE mode such that you can run your CPU at a fractional rate of the input clock, which seems nice from the outside, but this is a band aid for the fact that you cant run different peripherals using different clock sources other then the designated Fosc. 

 

The start up time from "Sleep" is atrocious. And the current consumption in general is worse then terrible: at 3.685MIPS I am drawing ~8ma with only the 2 UARTs turned on. You really gotta try hard to lower the current consumption. 

 

If it wasn't for the temperature constraints I would be jumping ship ASAP. 

Link to post
Share on other sites

The start up time from "Sleep" is atrocious. And the current consumption in general is worse then terrible: at 3.685MIPS I am drawing ~8ma with only the 2 UARTs turned on. You really gotta try hard to lower the current consumption. 

 

If it wasn't for the temperature constraints I would be jumping ship ASAP. 

 

There are quite a few Cortex-M devices for automotive temperature ranges these days.  I know TI, ADI, and Infineon all have their own offerings.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...