QuoteWow! Thats something I only dream of ;-). There is a lot of design in Cosa to use PROGMEM when ever possible and cut down on SRAM usage. With 16K I could put in a real RTOS with processes ;-)You can really speed up pin I/O using a template class. I just posted a library that does writes in two cycles or 0.125 usec on an Uno. That library is at the above location.
Wow! Thats something I only dream of ;-). There is a lot of design in Cosa to use PROGMEM when ever possible and cut down on SRAM usage. With 16K I could put in a real RTOS with processes ;-)
It is interesting how much know-how and energy do spend/invest people into retro-computing stuff (when talking 8-bitters) PS: PIC32MX250F128B costs the same as the atmega328p and less than the atmega1284p..
The more important issues are abstracting and structuring the code base so that drivers, libraries, etc, can be added in a methodological fashion. Also I see a need to abstract IO functionality so that devices can be extended, replaced, etc. The IOStream/Canvas and IOBuffer classes in Cosa help a lot with this.
This won't happen as long as the Arduino company controls the IDE and you fit your stuff into that environment. The average user just won't use Cosa since what they get from Arduino is good enough for hobby use. I was involved with BSD Unix at Berkeley. The goal of BSD was to replace AT&T Unix, not fit in. The open source Unix evolved into Linux and is the base for OS X and Android. Open source Uinx happened because AT&T was impossible to deal with. The Arduino company provides a product hobbyists like or at least live with. I have ported popular open source RTOSs to Arduino but don't see much interest.I just accept Arduino and build little add-on libraries that may be useful to users.
Using a Due with current Ardunio software should be compared to for instance using a RaspberryPI
If you think OOP is too larger step for the Arduino community then RTOS is "from here to eternity" ;-)
I don't use Arduino boards or the IDE for serious projects.
QuoteI don't use Arduino boards or the IDE for serious projects.QuoteHear, hear! Smacks of elitism, but I would assume you wouldn't mind if others do their serious projects on same.
The LynxOS-178 RTOS is the first and only hard real-time DO-178B level A operating system to offer the interoperability benefits of POSIX® with support for the ARINC 653 APplication EXecutive (APEX).
Lefty,Let me explain serious from my point of view.I spent most of my career as an architect for large embedded systems. I did some of the initial architecture for one of the LHC experiments that discovered the Higs Boson at CERN.Systems like this are implemented with a certified reliable RTOS. LHC used LynxOS.QuoteThe LynxOS-178 RTOS is the first and only hard real-time DO-178B level A operating system to offer the interoperability benefits of POSIX® with support for the ARINC 653 APplication EXecutive (APEX).This is professional level serious.I have often used VxWorks, the system used in Mar Landers. Two of my former colleagues founded Wind River Systems and developed this RTOS. This is also a professional level serious RTOS.I am now retired but do a little commercial development. I just don't find Arduino hardware/software reliable enough for this use. FreeRTOS and ChibiOS/RT fit this level of seriousness, they have support for commercial use. I love playing with small programs on Arduino. I am a frustrated programmer want-to-be. Management forbid me from implementing any of my designs since a large programming staff was hired to do that. This is hobby fun level of seriousness and Arduino is great.So the Arduino millisecond clock ticks every 1024 microseconds then does two ticks every 41-42 milliseconds to catchup. This is a hobby level system.
// MIGHTY ATMEL ATMEGA32// +---\/---+// (D 0) PB0 1| |40 PA0 (AI 0 / D24)// (D 1) PB1 2| |39 PA1 (AI 1 / D25)// INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D26)// PWM (D 3) PB3 4| |37 PA3 (AI 3 / D27)// SS (D 4) PB4 5| |36 PA4 (AI 4 / D28)// MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D29)// MISO (D 6) PB6 7| |34 PA6 (AI 6 / D30)// SCK (D 7) PB7 8| |33 PA7 (AI 7 / D31)// RST 9| |32 AREF// VCC 10| |31 GND // GND 11| |30 AVCC// XTAL2 12| |29 PC7 (D 23)// XTAL1 13| |28 PC6 (D 22)// RxD (D 8) PD0 14| |27 PC5 (D 21) TDI// TxD (D 9) PD1 15| |26 PC4 (D 20) TDO// INT0 (D 10) PD2 16| |25 PC3 (D 19) TMS// INT1 (D 11) PD3 17| |24 PC2 (D 18) TCK// PWM (D 12) PD4 18| |23 PC1 (D 17) SDA// PWM (D 13) PD5 19| |22 PC0 (D 16) SCL// (D 14) PD6 20| |21 PD7 (D 15) PWM// +--------+//
You may enhance your Cosa mcu collection with atmega32 (same pin layout as the 1284p, bootloader works, the core and variant of the mighty1284p works under 1.5.2.).
I spent most of my career as an architect for large embedded systems. I did some of the initial architecture for one of the LHC experiments that discovered the Higs Boson at CERN.Systems like this are implemented with a certified reliable RTOS. LHC used LynxOS.
Please enter a valid email to subscribe
We need to confirm your email address.
To complete the subscription, please click the link in the
email we just sent you.
Thank you for subscribing!
via Egeo 16