News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Microcontrollers, anyone?

Started by bieber, June 27, 2010, 08:03:54 PM

Previous topic - Next topic

bieber

I'm starting to find electronics interesting, and I'm thinking once I have some more cash to spare I'll be picking up some Atmel's and playing around with them a little.  Does anyone around here do assembly for embedded targets like that?  Any advice, or warnings, or resources I should be aware of?

clive

Yes, some assorted ARM7, ARM9 and MIPS M4K SoC implementations.

Most recently I've been working on some boards using the ST Micro STM32 chips using the ARM Cortex M3 processor, and before that some with the STR7 and STR9 chips.

Atmel has some assorted offerings, typically with a similar/equivalent set of peripherals, and a somewhat better external interface. I've played around with the SAM7 family, SAM9263, AT91FR4081.

Get a decent compiler and JTAG pod (flash/debug/single step). I've used RealView, Keil and Rowley tool chains, and Segger (J-Link) and Keil (U-Link) JTAG pods. Some of the eval boards come with limited versions of the compiler/IDE which might suffice if you are just tinkering around. The WinARM/Yagarto tools use the GCC compiler, and are free, I've built code for the STM32 using these. Downloading/debugging might be more challenging. The STM32 does have a boot loader you can use with free tools to download software into RAM and/or FLASH. GCC generally sucks for embedded targets, and the free tools will require a lot of time/effort to get productive. I'd strongly recommend the eval version of Keil if you are just starting.

The U-Link pods only work with the Keil tool chains last I checked, but they and clones can be picked up relatively cheaply. Atmel has a tied version of the Segger J-Link pod call the SAM-ICE, and can be sourced of about $100 USD

Luminary Micro/TI has a whole family of ARM Cortex M3 solutions, some eval boards have JTAG built it.

Microchip's PIC32 uses the MIPS architecture, and runs up to 70-80 MHz. Might be worth a look if you have taken some CS classes on MIPS/SPIM.

Not sure what your speed requirement are, or the anticipate code size. Most of my applications are space (size of chip footprint) limited, but fit in 256-512KB FLASH, and 64KB RAM.

If you need to run Linux or Win32 you'll need a more powerful chip with a memory manager (MMU), ATMEL has some nice 200/400 MHz ARM parts that might be worth considering.
It could be a random act of randomness. Those happen a lot as well.

Siekmanski

Hi bieber

I started a few years ago with very cheap 8 bit 20 MHz microcontrollers like ATmega88 and ATtiny 2313 ( 1 - 4 dollars a piece )
I started with blinking a led and writing to lcd displays.
Now I'm programming GPS modules and FM radio chips etc.
I can tell you it's a lot of fun to play with those chips.
And programming them in assembler is easy as well.

Atmel offers you free programming software ( AVR studio )

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725

For a few box you can make your own programmer or buy one.

I have this one: http://shop.tuxgraphics.org/electronic/detail_avrusb500.html

There's a lot of info available on the internet.

http://www.atmel.com/
http://www.avrfreaks.net/
http://www.mikrocontroller.net/articles/AVR
http://www.avr-asm-tutorial.net/avr_en/index.html

bieber

Thanks for the info, everyone.

Siekmanski: I've already got an Arduino, so my plan is to try and use the Mega-ISP software to turn it into a programmer for the other AVR chips.  I know it's not the most elegant solution, but I'm also not up to my eyeballs in money atm, and I already spent as much on the Arduino as it would cost me to buy a dedicated programmer :/

clive: Definitely no worries about performance here: I'm more on the blinking lights level at the moment.  My first planned real micro project is just to build a boxing timer.  Heh, and I think I have a lot of practice to do before I can even think about soldering those tiny-pinned surface mount chips...

vanjast

This http://www.xmos.com/home will freak you out.
The documentation is a bit tedious (that's the Brits for you), but all the info is there.
:U