Req: (Free) Embedded Platforms for Education

I think the courses should include theory and practice. The theory provides a very broad (general) imagination space out of which one may deduce to specifics. You need to know the better of those elements, well. Of course, most folks (including me) actually need to do specific things to make the theoretical ideas much, much clearer. So it's important to do hands-on labs. Most of all, though, a good teacher is needed. Otherwise the theory isn't alive, it's just some dry stuff you just don't understand much about and the labs just seem disconnected and possibly random and teach very little, really. Except that you need to do them to get credit.

I think the OP was talking about graduate level stuff. Hopefully, such a student would be able to write down how to make an LED flash in five minutes or less on a piece of paper. But your point is well taken. I think that setting down to do real work teaches like little else can. So this is why I recommended something along the lines of having to write a compiler, a linker, and an operating system. All of them. Should be doable. In school here, 3rd and 4th year included compiler writing courses. Operating systems was 3rd year. Writing one would be 4th, I suspect. So pulling all this together should be possible.

I'll give you an example from my own experience. I wrote a symbolic assembler and segmented linker over a weekend. Started work on it on Saturday morning, finished up both pieces by late Sunday night. It's not that hard to do. In a recent project, in 2005, I wrote an operating system from scratch (I had been flown onsite and was literally sleeping under the desk they gave me) in less than two days

-- and didn't change a line of it in the many months afterwards. It was thread-based, supported exception handling per process/thread, and had several methods of inter-process communications, as well as preemption, a precise sleep queue, and semaphore queues.

These things don't need to take a lot of time.

Completely agree. There is nothing like sizzle, smoke, explosions, sparks, light, and action to motivate folks to learn how to make it happen well.

Jon

Reply to
Jonathan Kirwan
Loading thread data ...

I probably should have been clearer in stating that I agree that the _course_ should be broad and wide ranging but that the modules that form the course (12 per year when I did my degree) should be specific. This gives the student the chance to focus themselves on their target career by selecting optional modules - the Industrial Control modules I took were not compulsary and disappointingly few people took them, mainly because they were hard.

My degree was Computer Systems and didn't have modules of its own but was formed of a mix of pure CS and pure EE modules. Depending on how CS or EE heavy I wanted to make the course (and the direction of my final project) permitted me to select a Bachelor of Science (CS route) or Batchelor of Engineering (EE route) degree. I chose the latter and am certain I made the right choice.

I also agree with you that the CS course was much easier than the EE course and that the EE students tended to be smarter and more driven. I got the feeling a lot of the CS intake were people who just wanted "a job with computers" whereas the EEs normally had a definite goal they were aiming for.

Show off ;-)

One of the best educational tools I ever used (mainly with young teenage kids) was Lego Mindstorms and entry to the First Lego League. If the school has the funds (and it's not cheap) then it is a superb primer to nealry all aspects of engineering.

Reply to
Tom Lucas

I probably should have been clearer in stating that I agree that the _course_ should be broad and wide ranging but that the modules that form the course (12 per year when I did my degree) should be specific. This gives the student the chance to focus themselves on their target career by selecting optional modules - the Industrial Control modules I took were not compulsary and disappointingly few people took them, mainly because they were hard.

My degree was Computer Systems and didn't have modules of its own but was formed of a mix of pure CS and pure EE modules. Depending on how CS or EE heavy I wanted to make the course (and the direction of my final project) permitted me to select a Bachelor of Science (CS route) or Batchelor of Engineering (EE route) degree. I chose the latter and am certain I made the right choice.

I also agree with you that the CS course was much easier than the EE course and that the EE students tended to be smarter and more driven. I got the feeling a lot of the CS intake were people who just wanted "a job with computers" whereas the EEs normally had a definite goal they were aiming for.

Show off ;-)

One of the best educational tools I ever used (mainly with young teenage kids) was Lego Mindstorms and entry to the First Lego League. If the school has the funds (and it's not cheap) then it is a superb primer to nealry all aspects of engineering.

Reply to
Tom Lucas

There are literally millions of possibilities, and most of them are supported by free software. The choice really comes down to what you're trying to teach.

I'd suggest you look at the TI ez430, which is a USB-based debugger for the MSP430F2xxx series micros. It is the size of a USB memory stick and includes a removable target board with the micro on it.

The reasons I recommend this are:

- Works on legacy-free PCs

- MSP430 is a very easy architecture to learn. von Neumann architecture, very orthogonal instruction set.

- The micro includes timers, ADCs, PWM generators and all sorts of goodies.

- Includes debugger, assembler and C compiler which is, for all practical purposes, unlimited in functionality.

- $19.95 retail price (frequently available free at TI seminars). I'm sure TI would give you an educational discount.

- TI also sells additional target boards containing the micro, debug header, one LED, and all micro pins wired out to pads, Three boards for $9.95.

- Most of the micros in the series are also available in DIP package if your students want to breadboard or hand-build something.

This kit is adequate to teach realtime control and sensing applications in C, C++ (yes!) or assembler. There are even RTOSes ported to this micro, although that's really pushing the envelope.

Reply to
larwe

Yes. However there is a LOT of source code that is available that is not FOSS. There are several very good OS that are free and the source is available for non commercial use.

There is a lot of free software from silicon vendors that comes with no license at all. Let alone the complex GPL. So if students use the code in something that becomes commercial they don't have to make it open source.

See above there is a LOT of source freely available that is not FOSS The Micrium uCOS/II and FREE RTOS for example. There are others.

It's not.

Certainly for 8 and 16 bit MCU

At their cost. NOTHING is free in this life except programmers.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
/\/\/ chris@phaedsys.org      www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris Hills

In article , DJ Delorie writes

Like GPL?

The FOSS agreements are as bad as the ones for commercial SW

Changing what? Lot of time and effort.... FOSS assumes you have limitless time and it is costs zero.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
/\/\/ chris@phaedsys.org      www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris Hills

Can you tell me what makes using XINU, for a teaching situation at a university, as complex as some commercial software? Or you pick some open software of your choice... linux, freebsd, etc.... and provide your exact reasoning why using any of them in a teaching situation at a university would be complex. I'm seriously curious about the exact details you see. Or if this is merely vague fear mongering on your part. I don't see an issue, Chris. If you know a reason why this would be "as bad as" commercial software in a university setting, I'd like to understand why.

Jon

Reply to
Jonathan Kirwan

On Jul 17, 10:44 am, "Tom Lucas"

Note that the OP didn't dimension the problem. "Grad student" to me implies a certain level of knowledge.

For some reason, my post suggesting the ez430 didn't make it through Google. I don't want to retype it :)

Reply to
larwe

This opens a door for me to vent a little bit; my top gripe with opensource (read GPL mostly) software is the disposition of the development community towards maintaining stable releases over the long term for major programs. Too often I am flamed when discussing old versions of essential software in the mailing lists; in most instances I rely on the feature sets, code size, execution speed, resource requirements of certain old versions (some of which I ported to platforms of little interest to the developers). These folks often seem to be reincarnations of Ponce de Leon, always pursuing endless youth of the codebase. For example, Russell King bans discussion of the 2.4.x arm linux kernel on the arm linux lists, and for certain platforms, only 2.4.x is useful.

On the other hand, there is a vast knowledge base for many essential non-opensource softwares, especially mature and unchanging codebases. This permits working within a stable framework and permits someone without vast resources of time and personnel to create long-term solutions. I for example, use Hitech C compilers from 1991, and have found many resources and people who are quite willing to assist with issues as they arise. I have a few projects which run under Win3.1 on PC104 boards; I can count on a well- known API and issue-set and although I am no fan of Microsoft, there is a huge repository of code and information upon which to draw.

That's not to say that I wouldn't like to have the sources, just that the culture of FOSS development is often unfriendly to mature and stable releases. On the other hand, some small FOSS projects with strong author control acquire the fine ripeness of an old vintage and are as well treasured. LaBrosses's UC/OS-II is one fine example of a carefully managed (in my opinion) project with available sources.

Seeing that the culture is unlikely to change any time soon, there is justification for a resistance to using FOSS in a setting that can't afford the rate of change.

Regards,

Michael

Reply to
msg

An attitude not restricted to some open-source advocates. Upgrade to the latest version and see if that fixes the problem is not a particulary unusual response from support lines. If that requires a HW upgrade well that just the price of "progress"

Robert

--
Posted via a free Usenet account from http://www.teranews.com
Reply to
Robert Adsett

I'll really have to leave a reply to your comments to the OP. Only he can say whether or not these things are sufficiently important to his teaching situation.

Frankly, none of your comments concern me at all. In a teaching situation, you settle upon a workable branch of the code set and stay with it. The durable concepts that are taught remain quite durable. One doesn't need to chase some 'rate of change,' from my personal experience in teaching.

Now, if the focus were vocational training, it may be another matter. But I don't gather that is what we are talking about.

Jon

Reply to
Jonathan Kirwan

The ez430 post got through on my reader.

Perhaps I'm getting confused with my terms. For me, a grad student is someone studying for a Bachelors degree. In my experience, the first taste students get of actually using an interrupt in anger - as opposed to learning the theory behind polling and interrupts etc - is late in the first year of the degree course.

Reply to
Tom Lucas

In my experience, a grad student has always been one who has been graduated - i.e. already has a BS degree - and is working on higher degrees, like a masters or doctorate. The first four years of college, you're an undergrad.

Thus, grad students already have four years of college behind them. That implies a certain level of knowledge, certainly enough to work on an embedded board.

Reply to
DJ Delorie

"Tom Lucas" wrote in message news: snipped-for-privacy@iris.uk.clara.net...

To me a grad student has always been someone who is a student but has also graduated i.e. someone studying/researching for a higher degree MSc, MA, PhD. Someone studying for their first degree is called an undergraduate, at the end of which they become a graduate.

Peter

Reply to
Peter Dickerson

That makes sense. In retrospect it would appear that I'm being dense!

Reply to
Tom Lucas

"Tom Lucas" wrote in message news: snipped-for-privacy@iris.uk.clara.net...

I don't think there is any definitive definition. By my own definition, above, I was never a grad student because the study that I did after my bachelor degree was not for any qualification. Even so, I have a Masters, which did not require and additional work beyond the first degree. So, after reflection, perhaps a grad student is anyone who is studying having graduated already. That would allow me to have been a grad student. Joy! I have done something new with my life!

Now, maybe that needs to be restricted a bit. If I study cookery having done a CS degree does that make me a grad student?

Peter

Reply to
Peter Dickerson

I think another tricky point is that in the US people can graduate from High School, whereas in the UK the term exlusively applies to university level education. People finishing college rarely call it graduation here. But then has a different definition in the US too doesn't it?

Reply to
Tom Lucas

In article , Tom Lucas writes

People in the UK never call it graduation when finishing high school or (non university) collage.

In the UK A Post Grad(uate) is usually studying for a Masters or a Doctorate A graduate has a University degree BA, BSc, B.Eng etc An undergraduate is studying for a University degree. Below university they are just students or pupils

The US has a different definition for just about everything :-)

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
/\/\/ chris@phaedsys.org      www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris Hills

"Tom Lucas" wrote in message news: snipped-for-privacy@iris.uk.clara.net...

[snipped]

Just to be clear, I don't have a CS degree and have not studied cookery. These were by way of illustration only.

'Here' is relative, but I assume from your email addy that you're in the UK, as am I. Yes, graduation seems possible from any educational establishment in the USA although I have never heard 'grad student' in any other context than a university degree.

Peter

Reply to
Peter Dickerson

Shouldn't that be college. Unless you're taking about a Media Studies degree, in which case there is little difference.

Yes, but the US has the one true definition. A bit like ANSI and ISO.

--
Peter
Reply to
Peter Dickerson

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.