Jump to content
starhawk1426459861

Noob here, looking for education (in all the wrong places?)

Recommended Posts

OK, not necessarily the best of thread titles, but at least it's honest.

 

I've ordered the new Stellaris Launchpad. I'd like to know what to expect, what it can do, but in plain English, please. I'm a PC hardware person with a little more than enough electronics knowledge to be dangerous, but absolutely no microcontroller experience -- and almost no *meaningful* programming experience.

 

What am I wanting to do? Well, I'd like to see if I could build a mini Linux box with it. I'm thinking a few SPI (or I2C if I can find 'em) SRAM chips totaling 128mb and connections to an SD card for memory and storage... I've not worked out the video yet, but it will almost certainly be fairly primitive. I'll be rolling my own Linux almost for sure, but I think I can handle it.

 

Er... yes, I do want SRAM and not SDRAM -- SDRAM requires that dastardly refresh signal, which would eat up a small amount of CPU power. I know I'm going to need every cycle I can get, so SRAM it is.

 

I certainly stand to learn a lot in the process of building this thing, if I somehow gather the patience to stick with it ;)

 

OK... now hack me to bits :wacko:

Share this post


Link to post
Share on other sites

OK, not necessarily the best of thread titles, but at least it's honest.

 

I've ordered the new Stellaris Launchpad. I'd like to know what to expect, what it can do, but in plain English, please. I'm a PC hardware person with a little more than enough electronics knowledge to be dangerous, but absolutely no microcontroller experience -- and almost no *meaningful* programming experience.

 

What am I wanting to do? Well, I'd like to see if I could build a mini Linux box with it. I'm thinking a few SPI (or I2C if I can find 'em) SRAM chips totaling 128mb and connections to an SD card for memory and storage... I've not worked out the video yet, but it will almost certainly be fairly primitive. I'll be rolling my own Linux almost for sure, but I think I can handle it.

 

Er... yes, I do want SRAM and not SDRAM -- SDRAM requires that dastardly refresh signal, which would eat up a small amount of CPU power. I know I'm going to need every cycle I can get, so SRAM it is.

 

I certainly stand to learn a lot in the process of building this thing, if I somehow gather the patience to stick with it ;)

 

OK... now hack me to bits :wacko:

 

I made a post here earlier in the project section Linux on Stellaris M3 - Is this real? which I found on youtube. I have no idea how it's being done. If you think about it, the Stellaris Launchpad is controlled by an LM4F chip that does not support external SRAM( EPI interface) like the other Stellaris chips, so it's a bit difficult.

 

The Stellaris is great for controlling actuators or running displays. It was certainly not meant for running Linux. There are other architectures like the broadcom on the RaspberryPi or the beagle board which are designed for it.

 

Hope this helps and does not let you down in anyway.

Share this post


Link to post
Share on other sites

Not to argue, but if I'm reading the specs correctly, it supports SPI serial communications. Isn't that enough? Just run the SPI bus over to the SRAM chips and it should work, right?

Hmmm..It will work alright... but how will you memory map it?

Share this post


Link to post
Share on other sites

Why Linux particularly? (i.e. what do you want to do with it eventually).

There are other operating systems that run on chips similar to the Stellaris Launchpad

(real time operating systems).

 

I was musing the other day that stellaris launchpad has higher specs than the first computers I started out using. (e.g. Commodore PET, IBM PC). So something akin to CPM, DOS or an early linux seems

possible. (Text only, command prompt) Or a bytecode interpreter could be interesting. (Build a virtual machine.)

 

I am not a Linux expert, but I am guessing it could involve a lot of programming at pretty low level (kernel, etc.) to get Linux going on this, unless you find a project where somebody already done it.

 

As a beginning programming project you might consider starting with something a little less ambitious.

(Not that it wouldn't be cool - just pick off some smaller pieces to get your feet wet with the programming before diving into this.)

 

If you want it to be more of a hardware project, or if you want to end up with a linux box that will actually do much useful, then may want to start from a more general purpose CPU. Particularly something with enough memory built in or with a high speed memory buss so your machine won't have to spend all its time loading from slow memory.

 

If you want ideas - hack a day has recently featured several homebrew computer builds based on various CPUs (68000, 65816), or base on one of the general purpose ARM CPUs.

 

If still interested in doing Linux on an ARM M, suggest aim for one with the most built in RAM you can find. (e.g. STM32F4 Discovery has 1MB of flash and 192kB RAM - a lot more space for your system code and data., or at least try to keep your code portable enough so can move to something with more RAM when/if needed.)

 

Hope this helps.

Share this post


Link to post
Share on other sites

I like ambitious projects. They're fun :P

 

I've got a CX-01 "android cloud stick" that --if I can find enough dough somewhere-- I'm gonna turn into a DIY tablet PC, sorta like the Portable Raspberry Pi I saw the other day (that's here --> http://www.skpang.co.uk/blog/archives/541 ). I've got a spare 12" laptop screen, a duracell usb battery, and most of the other stuff I'll need. I've got to pick up a few parts (usb hub, audio dongle, wireless keyboard and mouse) off eBay but I should be alright otherwise.

 

...tbh if I had a spare usb keyboard I'd just use that. But I don't. Meh.

Share this post


Link to post
Share on other sites

Hi starhawk,

You wrote you're a newbie but...I'n not sure about it! :-)

 

By the way, last night I found this post here (http://news.ycombinator.com/item?id=4467663).

Bluehash wrote about stellarisiti in the last post but, if you take a look in the middle of the post, there's a guy talking about some possible use of Stellaris Launchpad and there's a little compare against the Stellatis MSP430 Launchpad, as well.

 

For the administrator: is there a section on stellarisiti dedicated to external links/resources?

Thanks.

Share this post


Link to post
Share on other sites

@Ferb: I've been known to fry 7805s trying to solder them. I've yet to successfully code with any language other than QBASIC without stealing gratuitously from a book.

 

...oh, and my experience with the version of Linux I know best (Puppy Linux) has more to do with using it than making it. Then again, part of the point of Puppy is that a roll-your-own version is actually really easy to make... but that's more off-topic than the hickory in my backyard so I'm not gonna go there now.

 

EDIT: oh derp, the wonders of the "post" button being pressed too quickly... I left out the most important bit.

 

I've never even held an Arduino. I've seen pictures, and I know approximately what they can do, but that's it. I've never owned one, and I've never seen one IRL.

Share this post


Link to post
Share on other sites

A little web searching found this.

 

Linux on Cortex-M3

http://www.linux-arm.org/LinuxKernel/LinuxM3

 

I also found some discussion about running Linux on Cortex M3, which points out one reason

people consider doing this (low energy consumption).

 

http://electronics.stackexchange.com/questions/19234/linux-on-arm-cortex-m3-series

 

Comments suggest need processor that will support at least 1 MB RAM and 1MB Flash.

Share this post


Link to post
Share on other sites

OK, been in contact with the guy who did this, and he has been extremely patient with me and extremely helpful to me.

 

I'll be implementing a version of his emulator for this project... and using rather similar hardware. It seems that SPI SRAM is a bit expensive after all -- I was converting kB to MB in my head for no apparent reason -- and can't be used anyways. Linux only supports "directly accessible" memory -- that is, parallel-address RAM.

 

Among other things, Mr. Grinberg pointed me to a website that is selling 16mb 30pin SIMMs -- the largest size of that (antique) RAM that can be made due to pinout limitations. They're cheap!

 

So here's what I'll be looking at...

Storage + Swap -- SD card w/ swapfile + OS + data

RAM -- 16mb 30pin SIMM (60ns access time, wheeeee!)

Video out -- TBD... but it probably won't be color...

Share this post


Link to post
Share on other sites

Think I may have the video figured out already! It was right in front of me and I didn't even see it.

 

Hackaday a short while back featured the work of one Quinn Dunki -- aka Blondihacks -- and her attempt to build a 6502-based system essentially from scratch.

 

I'll be copying inspired by her work and using something nearly identical very similar to what's shown on these pages:

http://quinndunki.com/blondihacks/?p=955

http://quinndunki.com/blondihacks/?p=980

http://quinndunki.com/blondihacks/?p=1059

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×