Author Topic: Microcontrollers + linux  (Read 15486 times)

0 Members and 1 Guest are viewing this topic.

Offline jpelczarTopic starter

  • Contributor
  • Posts: 36
  • Country: kr
Microcontrollers + linux
« on: March 28, 2012, 09:38:10 am »
Hi,

Finally I've got a chance to design an embedded system which is capable of running Linux kernel + some userland apps. I know there are several uCs that are capable of running Linux, but the packages (BGA) are usually the things that can screw the designer who begins to work in wonderful world of BGA.

I've searched for several uCs capable of doing the job:

1. AVR32 (AT32AP700X) - I've used them successfully before. They're available in quite friendly packages (*QFP), support external SDRAM, there's Linux port. Atmel doesn't recommend using them in new designs, though.

2. ARM - well, there are tons of different chips. As usual, the ones that can run Linux require BGA board.

3. Microblaze - throw the FPGA + soft processor onto the board

There are other choices:

4. Single-Board-Computers - e.g. Embest Mini2410-II

5. ? - I've found some strange looking Chinese chips, which (as they claim) are capable of doing the job

6. Not use Linux/NetBSD, but use chips with less power + some embedded RTOS as a last resort.

I could include the SBC module in the design, but one has to learn the BGA and/or multilayer (>2) PCB layout someday.

I'm a bit afraid to use the BGA chips - I don't know if I should go for using it, there are pitfalls when using them. *QFP packages are more friendly - but there's lack of the microcontrollers which would run Linux. Again, there are traps when routing traces for DRAMs. Does anyone have an experience with developing such designs or can share some tips (or chips ;)) ?

Jarek
« Last Edit: March 28, 2012, 09:44:07 am by jpelczar »
 

Offline Psi

  • Super Contributor
  • ***
  • Posts: 10194
  • Country: nz
Re: Microcontrollers + linux
« Reply #1 on: March 28, 2012, 11:38:42 am »
What about the raspberry pi, its cheap and already runs linux.

Also, i think someone on this forum said there are TQFP ARM chips coming that run linux?
Greek letter 'Psi' (not Pounds per Square Inch)
 

Offline Bored@Work

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: 00
Re: Microcontrollers + linux
« Reply #2 on: March 28, 2012, 12:14:23 pm »
What about the raspberry pi, its cheap and already runs linux.

Unavailable. If not to say almost Vapourware.

My recommendation would be to buy a board, instead of developing your own. There are tons of ARM boards on the market. If they don't do, there are also lots of tiny Intel boards on the market. Make sure there is already a Linux port for the system. Otherwise you can have a lot of fun bringing a Linux up on a naked board.
I delete PMs unread. If you have something to say, say it in public.
For all else: Profile->[Modify Profile]Buddies/Ignore List->Edit Ignore List
 

Offline Gall

  • Frequent Contributor
  • **
  • Posts: 310
  • Country: ru
Re: Microcontrollers + linux
« Reply #3 on: March 28, 2012, 12:22:21 pm »
How much power do you need?

Tiny210 is quite cheap (about $100 for stamp module only, $220 for complete devkit). This is a stamp module with CPU, RAM, Flash and minimal power circuits. It is 1 GHz Cortex A8. Less powerful stamp modules (i.e. ARM9) are available too.
The difficult we do today; the impossible takes a little longer.
 

Offline jpelczarTopic starter

  • Contributor
  • Posts: 36
  • Country: kr
Re: Microcontrollers + linux
« Reply #4 on: March 28, 2012, 01:35:12 pm »
I know it will be faster just to throw some Single Board Computer into the design, but I also want to learn proper multilayer PCB routing. As I said before - at some point I will have to, so why not do it now, as I get paid for it :]

There's also AT91RM9200 chip, which seems to do the job. It's in PQFP-208 package, so it won't be that hard to solder. The final product will be machine mounted anyway - small run, around 50 (max 100) devices. I think I'll stick to the QFP AT91RM9200 for now (and maybe include some smaller BGA, e.g. flash memory).
« Last Edit: March 28, 2012, 01:40:47 pm by jpelczar »
 

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 6045
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: Microcontrollers + linux
« Reply #5 on: March 28, 2012, 02:17:29 pm »
Hi,

I agree with a post above regarding the use of a board, but you can also check the option of using modules. 

Since it is a small batch, these modules already have every high density device mounted on them (the processor, the flash, the DDR/SDRAM). They can be pricey and frequently use these super high-density connectors, but get the job done. I worked with LogicPD and Gumstix, but I am pretty sure there are others.

Also, since you are using embedded Linux check if the device of choice has device driver support for all peripherals you want to use - something that is frequently overlooked in the selection and becomes a nightmare along the road. Unfortunately not all Linux distributions are created equal - don't ask me how I know this... :)

One last detail is to check if the Linux runs at an adequate speed on the device, especially if you are using any sort of graphics screen. There's no way to know this from the datasheets, as this is heavily dependent on the application, but again the boards may help you. I've seen my share of devices that promise the world but really struggle to keep up with even moderate ethernet speeds.

--Rafael
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Offline jpelczarTopic starter

  • Contributor
  • Posts: 36
  • Country: kr
Re: Microcontrollers + linux
« Reply #6 on: March 28, 2012, 03:34:28 pm »
The project's scope is mostly high level stuff, and for various reasons there's got to be customized Linux kernel. The external hardware is connected merely through Ethernet, serial port, I2C bus and managed by software stack, so all the drivers are already there. The whole thing will work just fine using 100MHz CPU, 32 MB SDRAM and 32MB NAND flash (no ls,cp,etc. - only minimal kernel and few userland apps), but the CPU stuff will have to be shielded from RF.
 

Offline Gall

  • Frequent Contributor
  • **
  • Posts: 310
  • Country: ru
Re: Microcontrollers + linux
« Reply #7 on: March 28, 2012, 07:09:20 pm »
Some kind of Cortex M probably?
The difficult we do today; the impossible takes a little longer.
 

Offline T4P

  • Super Contributor
  • ***
  • Posts: 3697
  • Country: sg
    • T4P
Re: Microcontrollers + linux
« Reply #8 on: March 28, 2012, 08:04:43 pm »
Cortex-M4 will run at 186MHz and has 210DMIPS but of course that wouldn't run linux probably .
Cortex A8 ... 1GHz but of course all are BGA packages the next problem is ... does a 600MHz MSM7227 run linux properly won't ever know .
An Intel board might probably do you fine  :o
 

Offline Psi

  • Super Contributor
  • ***
  • Posts: 10194
  • Country: nz
Re: Microcontrollers + linux
« Reply #9 on: March 28, 2012, 10:10:34 pm »
how about a ATMega1284 in DIP package emulating an ARM core with some old 30pin SIMM memory tacked onto the side?
Only takes two hours to reach bash login  8)

http://hackaday.com/2012/03/28/building-the-worst-linux-pc-ever/
« Last Edit: March 29, 2012, 08:08:39 am by Psi »
Greek letter 'Psi' (not Pounds per Square Inch)
 

Offline jpelczarTopic starter

  • Contributor
  • Posts: 36
  • Country: kr
Re: Microcontrollers + linux
« Reply #10 on: March 29, 2012, 07:04:00 am »
One guy on Polish EE forum (elektroda.pl) presented this project some time ago:

http://www.elektroda.pl/rtvforum/viewtopic.php?t=2160923
http://obrazki.elektroda.net/7_1268172507.jpg
http://www.twarm.pelos.pl/   

so I'm going to go for this chip.
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8385
Re: Microcontrollers + linux
« Reply #11 on: March 29, 2012, 12:57:44 pm »
how about a ATMega1284 in DIP package emulating an ARM core with some old 30pin SIMM memory tacked onto the side?
Only takes two hours to reach bash login  8)

http://hackaday.com/2012/03/28/building-the-worst-linux-pc-ever/
This shows that with emulation, almost anything is possible given enough memory and time. But I don't think the OP wants emulation :o
 

Offline Psi

  • Super Contributor
  • ***
  • Posts: 10194
  • Country: nz
Re: Microcontrollers + linux
« Reply #12 on: March 30, 2012, 11:43:39 pm »
yeah, i wasn't being serious :)
Greek letter 'Psi' (not Pounds per Square Inch)
 

Offline slateraptor

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: us
Re: Microcontrollers + linux
« Reply #13 on: March 31, 2012, 05:57:07 am »
What about the raspberry pi, its cheap and already runs linux.

Unavailable. If not to say almost Vapourware.

My recommendation would be to buy a board, instead of developing your own.

I'm surprised bunnie's Chumby hasn't been suggested yet. Not as cheap as Rasberry Pi, but it isn't vaporware either.


EDIT:
I know it will be faster just to throw some Single Board Computer into the design, but I also want to learn proper multilayer PCB routing. As I said before - at some point I will have to, so why not do it now, as I get paid for it :]

I hope you're well aware that if you've never designed an embedded system of comparable complexity before, you'll be opening a potentially nasty bag of worms.
« Last Edit: March 31, 2012, 06:07:08 am by slateraptor »
 

Offline jpelczarTopic starter

  • Contributor
  • Posts: 36
  • Country: kr
Re: Microcontrollers + linux
« Reply #14 on: March 31, 2012, 01:49:03 pm »
I hope you're well aware that if you've never designed an embedded system of comparable complexity before, you'll be opening a potentially nasty bag of worms.

I've done embedded systems before, but using 8-bit micros. How else am I supposed to learn routing for high-speed PCB ? You don't learn how to drive by playing computer games.
« Last Edit: March 31, 2012, 01:52:44 pm by jpelczar »
 

Offline Psi

  • Super Contributor
  • ***
  • Posts: 10194
  • Country: nz
Re: Microcontrollers + linux
« Reply #15 on: April 01, 2012, 11:41:35 am »
I hope you're well aware that if you've never designed an embedded system of comparable complexity before, you'll be opening a potentially nasty bag of worms.

I've done embedded systems before, but using 8-bit micros. How else am I supposed to learn routing for high-speed PCB ? You don't learn how to drive by playing computer games.
I don't think the routing will be that hard, its a ~180mhz ARM not a 4ghz i7 :)

I'd be more worried about debugging and getting the kernel to boot.
« Last Edit: April 01, 2012, 11:44:10 am by Psi »
Greek letter 'Psi' (not Pounds per Square Inch)
 

Offline bingo600

  • Super Contributor
  • ***
  • Posts: 2027
  • Country: dk
Re: Microcontrollers + linux
« Reply #16 on: April 04, 2012, 07:41:45 pm »

I've searched for several uCs capable of doing the job:

1. AVR32 (AT32AP700X) - I've used them successfully before. They're available in quite friendly packages (*QFP), support external SDRAM, there's Linux port. Atmel doesn't recommend using them in new designs, though.


Didn't ATMEL discontinue the full 7000 series ?

/Bingo
 

Offline DrGeoff

  • Frequent Contributor
  • **
  • Posts: 794
  • Country: au
    • AXT Systems
Re: Microcontrollers + linux
« Reply #17 on: April 04, 2012, 08:55:52 pm »
Without an MMU you probably want to run uCLinux. Atmel have a module that does this (http://www.atmel.com/tools/NGW100MKIINETWORKGATEWAYKIT.aspx) and you find uCLinux embedded in all sorts of Chinese products these days, from IP cameras to NAS boxes. How much processing power  and memory you need depends entirely on the application.
Was it really supposed to do that?
 

Offline jpelczarTopic starter

  • Contributor
  • Posts: 36
  • Country: kr
Re: Microcontrollers + linux
« Reply #18 on: April 06, 2012, 06:18:39 am »
Didn't ATMEL discontinue the full 7000 series ?

I think that they did. I don't know why. They're quite good chips to run Linux. I think that they were just marketed poorly.

Without an MMU you probably want to run uCLinux.

Thanks, I'll check out uCLinux. ATNGW100 runs on AT32AP7000 which does have MMU (software assisted, though).
 

Offline Entropia

  • Regular Contributor
  • *
  • Posts: 53
  • Country: fi
    • My blog
Re: Microcontrollers + linux
« Reply #19 on: April 10, 2012, 07:27:29 am »
One possibility is Freescale i.MX233 (MCIMX233CAG4B). It's an ARM9 device that runs at 450 MHz, has MMU and most importantly comes in TQFP package guaranteed to stay in production for years. Combine with 64MB DDR SDRAM and you have a nice full Linux system that boots from SD card. It also has an LCD controller so you can run Android on it.
« Last Edit: April 10, 2012, 07:33:31 am by Entropia »
 

Offline nemik

  • Newbie
  • Posts: 1
Re: Microcontrollers + linux
« Reply #20 on: April 11, 2012, 01:11:18 am »
The project's scope is mostly high level stuff, and for various reasons there's got to be customized Linux kernel. The external hardware is connected merely through Ethernet, serial port, I2C bus and managed by software stack, so all the drivers are already there. The whole thing will work just fine using 100MHz CPU, 32 MB SDRAM and 32MB NAND flash (no ls,cp,etc. - only minimal kernel and few userland apps), but the CPU stuff will have to be shielded from RF.

For these small requirements, unless you insist on building on your own, consider using cheap routers and put OpenWRT on them. If cost is any consideration anyway, these things are produced in the hundreds of thousands and the economies of scale make them pretty cheap.
http://www.alibaba.com/product-gs/505152995/TP_LINK_TL_WR703N_150M_11N.html for example and it can be even cheaper. It could communicate with another board/micro using some serial lines or even the USB port if you don't want to modify it. I run OpenWRT on these for small projects and they're awesome.
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: Microcontrollers + linux
« Reply #21 on: April 13, 2012, 04:42:45 am »
The delivery problems with the rberry are because Broadcom is overloaded. They allocated all production of that chip for one customer, so distribution channels get zilch...

This is a common pitfall. Designers find a cool chip, design it in and assume it is going to be availble...

Take a look at ST spear 320. Arm9 dualcore, runs linuc, wince ,vxworx and others. Slap on some sdram and off you go. Lots of peripherals. Proven design. ( used in the agilent 2000 and 3000 scopes. )
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline T4P

  • Super Contributor
  • ***
  • Posts: 3697
  • Country: sg
    • T4P
Re: Microcontrollers + linux
« Reply #22 on: April 13, 2012, 06:01:28 am »
Take a look at ST spear 320. Arm9 dualcore, runs linuc, wince ,vxworx and others. Slap on some sdram and off you go. Lots of peripherals. Proven design. ( used in the agilent 2000 and 3000 scopes. )
Ahh .. ST Spear320 the ARM926EJ-S , have seen them around for a long time ( In my very old Asus P320 phone with a TI 200MHz core )
It's in my epson laser printer and so on ... seen it in so many modems .
But yeah , it's been there done that , proven platform .
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27727
  • Country: nl
    • NCT Developments
Re: Microcontrollers + linux
« Reply #23 on: April 13, 2012, 07:53:32 pm »
I really wonder why nobody has mentioned the Beagle board so far (beagleboard.org). Its cheap, mature, offers loads of CPU horse power and has a huge support community.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline T4P

  • Super Contributor
  • ***
  • Posts: 3697
  • Country: sg
    • T4P
Re: Microcontrollers + linux
« Reply #24 on: April 13, 2012, 11:00:26 pm »
I really wonder why nobody has mentioned the Beagle board so far (beagleboard.org). Its cheap, mature, offers loads of CPU horse power and has a huge support community.
Yep . Genuinely Surprised .
 

Offline slateraptor

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: us
Re: Microcontrollers + linux
« Reply #25 on: April 13, 2012, 11:34:09 pm »
I really wonder why nobody has mentioned the Beagle board so far (beagleboard.org). Its cheap, mature, offers loads of CPU horse power and has a huge support community.
Yep . Genuinely Surprised .

How else am I supposed to learn routing for high-speed PCB ?

The OP has clarified that he simply wishes to focus on high-speed PCB layout; ripping his hair out troubleshooting an embedded OS on an untested platform is merely of secondary concern.
 

Offline jpelczarTopic starter

  • Contributor
  • Posts: 36
  • Country: kr
Re: Microcontrollers + linux
« Reply #26 on: April 14, 2012, 08:27:04 pm »
The OP has clarified that he simply wishes to focus on high-speed PCB layout; ripping his hair out troubleshooting an embedded OS on an untested platform is merely of secondary concern.

I'm well aware of Beagleboard and other ready to use PCBs. The project I'm gonna work on, in reality, has no hard budget constraints and specific deadline, so I wanted to take the chance and learn some stuff ;)
 

Offline slateraptor

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: us
Re: Microcontrollers + linux
« Reply #27 on: April 14, 2012, 11:32:29 pm »
The project I'm gonna work on, in reality, has no hard budget constraints and specific deadline...

Indeed, those are the best kinds of projects. Can't say that I'm not a bit jealous. Best of luck.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 27727
  • Country: nl
    • NCT Developments
Re: Microcontrollers + linux
« Reply #28 on: April 15, 2012, 12:50:39 am »
The OP has clarified that he simply wishes to focus on high-speed PCB layout; ripping his hair out troubleshooting an embedded OS on an untested platform is merely of secondary concern.

I'm well aware of Beagleboard and other ready to use PCBs. The project I'm gonna work on, in reality, has no hard budget constraints and specific deadline, so I wanted to take the chance and learn some stuff ;)
That is a very good goal. I also try to do projects to gain more hands-on knowledge. Its never a waste of time or money.

Concerning the Beagle board: last year I designed a board based on the Omap (or whatever TI calls them this week) used on the Beagle board for one of my customers. The customer used the Beagle board to prototype their software. Once they got to the point where they needed their own hardware they called me. These kind of boards are not easy to get right though. You'll need to read a lot about routing high speed signals and the routing guidelines of the chip. The next step is to think about how to organize the layers of the PCB and how the power is distributed. It is good to work out placement of major components before entering the diagram in a CAD package. On top of all that you'll find that most quick turnover / pooling PCB manufacturers can't make boards with traces/clearances less then 0.1mm. You'll need to choose the packages carefully.

Another thing is getting the right equipment. You'll find frequencies up to 200MHz on these kind of boards. Having a >300MHz oscilloscope (even if its analog) will help a lot.
« Last Edit: April 15, 2012, 12:56:39 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf