Re: FreeRTOS context switch time
- From: "Michael N. Moran" <mike@xxxxxxxxxxx>
- Date: Fri, 21 Jul 2006 08:32:51 -0400
Chris Quayle wrote:
Rut perhaps, but it often makes sense to use an existing knowledge base. It takes time and effort to become fluent with any complex cpu
architecture
Fortunately, by learning additional architectures you can
identify your assumptions and adjust your mental model
concerning what is possible.
and not everyone has the time to do this (for interest only) if it's not directly revenue earning.
Sure. Although if you're in the technology business, its
in your own interest to make time, as the more advanced
technologies will eventually filter down into your domain.
As for the "directly revenue earning" part ... well ...
the benefits of knowledge are not easily/directly/simply
traceable to economics, but few would argue that there
is a benefit. ;-)
[snip]
If you program low level, intimate knowledge of the architecture, warts and all, is essential.
Sure. But if you plan to reuse your code across cpu types,
then knowledge of more general system issues (out-of-order
execution, cache coherency, syncrozisation, etc.) enables
your code to be re-used without change/debugging.
Of course, when programming resource scarce micro-controllers
with applications that are either a) too simple to warrant the
effort to write re-usable code or b) too large to fit comfortably
within the limits of the resources, the rules are different.
The tool availability and knowledge base for some of the older architectures is vast.
The tool availability for *many* cpu architectures is present
in the form of GCC.
I suspect there will always be a larger group of unskilled
versus skilled labor, and I can understand the attraction
for business. However, I have also witnessed the effect that
this has on the business when it assumes that a programmer
is a programmer, ... and it isn't pretty ;-)
One way to get this fluency is to write a common interface bsp like library for the device peripherals.
I assume that you mean fluency with other cpu/os archectures.
You gain the knowledge along the way and the result is a well tested foundation for any number of projects.
You gain the knowledge of other cpu architectures only
if you are able to test the device driver actually runs
on other cpu architectures.
The same peripheral code for the same OS, may not work, for
example on an out-of-order cpu, unless you already understood
the abstract needs of a more general cpu model.
What is gained instead, is knowledge of using a particular
peripheral on a particular cpu/os architecture.
There is even more to be gained by writing and testing the
same driver for a variety of cpu architectures and operating
systems.
Doing so exposes and separates the assumptions from the
abstractions about the cpu architecture (and the programming
language) in the same way that traveling to another
country/culture can challenge your belief systems.
Workstation os and rtos have done this for years, but it's just as applicable to msp or 8051 class systems. It saves time and effort over several projects and the common interface makes it much easier to sustitute a different device.
Assuming, of course, that the devices actually share an abstraction
(e.g. byte stream.) It might be difficult to substitute
a real-time clock for an ethernet controller ;-)
--
Michael N. Moran (h) 770 516 7918
5009 Old Field Ct. (c) 678 521 5460
Kennesaw, GA, USA 30144 http://mnmoran.org
"So often times it happens, that we live our lives in chains
and we never even know we have the key."
The Eagles, "Already Gone"
The Beatles were wrong: 1 & 1 & 1 is 1
.
- Follow-Ups:
- Re: FreeRTOS context switch time
- From: Chris Quayle
- Re: FreeRTOS context switch time
- References:
- Re: FreeRTOS context switch time
- From: Chris Quayle
- Re: FreeRTOS context switch time
- From: Michael N. Moran
- Re: FreeRTOS context switch time
- From: John Devereux
- Re: FreeRTOS context switch time
- From: Chris Quayle
- Re: FreeRTOS context switch time
- From: Michael N. Moran
- Re: FreeRTOS context switch time
- From: Chris Quayle
- Re: FreeRTOS context switch time
- Prev by Date: ARM book
- Next by Date: Re: Z-World Dynamic C conversion from v5.26 to v9.21
- Previous by thread: Re: FreeRTOS context switch time
- Next by thread: Re: FreeRTOS context switch time
- Index(es):
Relevant Pages
|