From: Nobody on
On Thu, 10 Dec 2009 11:02:27 -0800, Didi wrote:

>> PC development (and I include Windows, Linux, and Mac here) has a culture
>> where deadlines take priority and any bugs are dealt with by an endless
>> stream of patches. Embedded development doesn't work that way.
>
> I believe you are understating how messy the PC development is from a
> software point of view. It is a whole culture (or rather lack thereof)
> of wasting resources, sometimes deliberately (to have new hardware
> sold).
> A PC is no more efficient than a 4 seat car sized as an apartment
> block on thousands of differently sized, awkwardly coupled and mostly
> synchronized wheels.

To be fair, there are valid reasons why PC software development works the
way it does. Mostly complexity: if typical user applications were
developed using rigorous engineering, they would cost more than anyone
was willing to pay and be obsolete long before they were released.

How would you feel about paying $1000 per copy for a web browser which
never crashed but only handled HTML 1.0 and HTTP 1.0 and only ran on OS/2?

Being limited to 2K of flash and 192 bytes of RAM does wonders for keeping
complexity under control.

From: -jg on
On Dec 11, 6:06 pm, Andrew <asm...(a)blackstone.biz> wrote:
> -jg wrote:
>
> I'm sure you meant microprocessor on next line.
>
> > Microcontrollers use external memory, and commonly have operating
> > systems, and even .net baggage too.

OOps, yes - however did that happen ? :o

-jg
From: Simon Clubley on
On 2009-12-11, rwaltman <r3000(a)warwick.net> wrote:
> On Dec 11, 8:23 am, David Brown <da...(a)westcontrol.removethisbit.com>
> wrote:
>> Simon Clubley wrote:
>>
>> > One thing I have not seen discussed yet: What are the realtime capabilities
>> > of C# ?
>>
>> Perhaps someone who is familiar with using C# with low-level embedded
>> systems can answer (if such a person exists). My guessed answers to all
>> your questions would be "no" or "you can't".
>
> Here we go again. Define "realtime"... ;)
> Can we use C# , for example, for a GPS mapping application? (such as
> Think Garmin,TomTom, etc. car nav toys.) Sure.
> Can we use C# , for example, for an aircraft autopilot? I wouldn't.
> (ignoring for the moment the issue of the underlying operating system)
>

There are various kinds of realtime, but I define them as falling into
one of two categories: "soft realtime", when it's ok to miss a goal
sometimes, and "hard realtime", when Bad Things Happen :-) when you
miss a goal.

The OP stated that C# was on it's way to making traditional environments
obsolete. In order to be able to accurately make such a statement, one of
the things he needs to be able to show is how his environment will handle
the issues associated with current environments.

So far, I've seen little evidence for the suitability of C# for hard
realtime type applications.

Although I'm a professional programmer, I'm a hobbyist when it comes to
electronics, and even as a hobbyist I have zero interest in using it as
it doesn't meet many of my requirements.

At the low end, I am doing hard realtime on AVRs and going up the scale
I'm currently using Ada and C under RTEMS on ARM boards. (There's also the
fact that I use Linux as my development environment.)

Simon.

--
Simon Clubley, clubley(a)remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980's technology to a 21st century world
From: boB on
Andrew wrote:
> What is he future? ARMs are coming down in price.
> Microsoft has made micro framework license free.
> Creating firmware has become high level (C#),
> cheap, and perhaps the next big thing?
>
> Will asm/C go the way of the dinosaur?
> Will 8 bit micros become obsolete?
>
>


Althought I don't do much assembly programming anymore, aside from the
occasional asm("nop"); or something like that, intimate knowledge of
assembly language is and will always be essential for debugging an
embedded system, at least for me, for the foreseeable future.

..NET ? I can't see using that in any embedded system that I would design.

boB
From: Wayne Farmer on
On Dec 11 2009, 6:52 am, Simon Clubley
<clubley(a)remove_me.eisner.decus.org-Earth.UFP> wrote:
> On 2009-12-10, David Brown <david.br...(a)hesbynett.removethisbit.no> wrote:
>
>
>
> > MS has shown time and again that it simply does not understand about
> > embedded systems - Wince is a total and utter fiasco considering the
> > money and commercial muscle behind it.  I see no reason to suspect that
> > this attempt will be any different.
>
> One thing I have not seen discussed yet: What are the realtime capabilities
> of C# ?
>
> Can you do hard realtime (as opposed to soft realtime) ?
>
> Can you guarantee that a section of code will complete execution
> within X clock cycles ?
>
> How do you estimate the number of clock cycles a section of C# code
> will take to execute ?
>
> What kind of latency is there before an interrupt handler written in
> C# starts executing ? (IE: does the interrupt have to pass through the
> runtime first ?)
>
> Simon.
>
> --
> Simon Clubley, clubley(a)remove_me.eisner.decus.org-Earth.UFP
> Microsoft: Bringing you 1980's technology to a 21st century world

Here's a resource from 2007 that may answer some of your questions.
It's a 23-page white paper in .DOC format that introduces the .NET
Micro Framework and describes its structure and components: http://bit.ly/80gLKP