Core Panic with Bluetooth + freeRTOS

ESP_Sprite
Posts: 9730
Joined: Thu Nov 26, 2015 4:08 am

Re: Core Panic with Bluetooth + freeRTOS

Postby ESP_Sprite » Fri Feb 04, 2022 5:05 am

xien551 wrote:
Thu Feb 03, 2022 6:25 am
Let me tell you the history of Arduino.

Do you know that Arduino is developed by the artist?
Some artists want to design a Automatic works of art. Namely, the work is not static, but can move, like a robot.

They find many microprocessor, just find them hard to learn. So they create the Arduino, which is not just a software, it's a system with hardware and software. The original hardware is Arduino uno, which is based on ATmega 32, a 8 bit microprocessor. The software is what we familiar with ,the Arduino ide, which is a editor, compiler, flash tool and monitor.

Arduino is not used for real time application. the artist work need not to be acted very fast, 1ms is enough.
Arduino hide hardware interrupts underlying code, which is important to real time performance.

Also, real-time performance is different to different application. For the artist, 1ms is realy precise. But, for industrial application, 1ms is too slow, we want the 1us precision. They need real time operation system. For example, VxWorks, rtLinux,ucos, freeRTOS. If 1us is not enough, then we choose the hardware solution, CPLD or FPGA.

Arduino is not suitable for industrial application, where the us realtime performance is important. For most critical real-time application, even the mcu or dsp is not used, we use PLC.

real-time is not easy to realize, freeRTOS is a good system. But Arduino is not ,they are just used for prototype verification. If you are a engineer, you would agree with me. No one dare using Arduino for industrial application, for Example, Power system.
Sorry, but that is nonsense, on the ESP32 at least:
- The fact that Arduino was developed for artist does not matter the slightest. PHP was developed so you could put some server-side logic on your home page (PHP used to stand for Personal Home Page). Nowadays it's used all over the place, Facebook is more-or-less built on it.
- Arduino supports attaching interrupts to peripherals. Those interrupts work as fast as 'native' interrupts as they use the same system.
- The 'real-time performance is different for different application' is a no-true-scotsman fallacy. Realtime itself mainly means that processes execute with a defined upper limit. Whatever that limit is is application-specific.

I am an engineer, and while Arduino is not my flavour of preference to write stuff in, I think you're falling for the 'it was developed for artists and as such it can never be feasible for Serious(tm) purposes' fallacy.

Who is online

Users browsing this forum: No registered users and 81 guests