If you search the Internet for ESP8266 you will get Arduino related results. It seems that the world see ESP8266 as a part of Arduino. This may change in the future.
I prefer not to use Arduino for ESP8266 development because that approach was technically a work-a-round. Arduino IDE was designed for its own devices. I don't want to use an IDE which generally comes with unnecessary dependencies and constraints. I want to have the full control of the device that I'm working on. That's why I started my earlier ESP8266 developments with esp-open-sdk. I'm okay with the command line approach and a simple text editor.
Now I want to utilize the real time operating system and explore its potentials. ESP8266 is powerful enough for RTOS. I searched the Internet for ESP8266 and RTOS, and I found many paradigms. ESP8266 is in a constant development. People were trying all sorts of approaches because in the beginning they were left alone. And now Espressif seems to take over all the tested approaches and to standardize them.
Espressif is supporting FreeRTOS. I think it is a good deal since FreeRTOS is a matured real time operating system with many organizational contributors, and it is a part of Amazon Web Services. FreeRTOS applications can be upgraded to SAFERTOS the Safety Critical Real-Time OS. It feels like a serious deal.
ESP8266_RTOS_SDK is based on FreeRTOS. I found many outdated tutorials on the Internet. The SDK is evolving. There is a note on its roadmap:
The copy of the ESP8266_RTOS_SDK master branch that I'm working on right now is already implementing esp-idf which stands for Espressif IoT Development Framework. It scaffolds makefile and centralizes configurations with a menu driven tool. And it also standardizes the flashing and monitoring tools. Your makefile becomes simpler. However, the esp-idf will force you to learn the details of the device and its development framework. That is a good thing.
ESP8266_RTOS_SDK relies on Xtensa toolchain. Espressif ESP8266 is based on the Tensilica Xtensa L106 32-bit RISC microprocessor core. Tensilica is a subsidiary of a Nasdaq listed company Cadence Design Systems. Knowing the companies behind ESP8266 give me a better confidence in it. A bonus: ESP8266EX was crowdfunded.
The Debian side is simplified since Espressif already made Linux the priority development platform. You only need to export the IDF_PATH and the path to the Xtensa toolchain. You only need to do it once by appending the instructions into the ~/.profile and ~/.bashrc files. See the notes below.
Now I want to utilize the real time operating system and explore its potentials. ESP8266 is powerful enough for RTOS. I searched the Internet for ESP8266 and RTOS, and I found many paradigms. ESP8266 is in a constant development. People were trying all sorts of approaches because in the beginning they were left alone. And now Espressif seems to take over all the tested approaches and to standardize them.
Espressif is supporting FreeRTOS. I think it is a good deal since FreeRTOS is a matured real time operating system with many organizational contributors, and it is a part of Amazon Web Services. FreeRTOS applications can be upgraded to SAFERTOS the Safety Critical Real-Time OS. It feels like a serious deal.
ESP8266_RTOS_SDK is based on FreeRTOS. I found many outdated tutorials on the Internet. The SDK is evolving. There is a note on its roadmap:
ESP8266_RTOS_SDK's framework is quite outdated and different from the current esp-idf and we are planning to migrate ESP8266_RTOS_SDK to esp-idf eventually after v2.0.0.
The copy of the ESP8266_RTOS_SDK master branch that I'm working on right now is already implementing esp-idf which stands for Espressif IoT Development Framework. It scaffolds makefile and centralizes configurations with a menu driven tool. And it also standardizes the flashing and monitoring tools. Your makefile becomes simpler. However, the esp-idf will force you to learn the details of the device and its development framework. That is a good thing.
ESP8266_RTOS_SDK relies on Xtensa toolchain. Espressif ESP8266 is based on the Tensilica Xtensa L106 32-bit RISC microprocessor core. Tensilica is a subsidiary of a Nasdaq listed company Cadence Design Systems. Knowing the companies behind ESP8266 give me a better confidence in it. A bonus: ESP8266EX was crowdfunded.
The Debian side is simplified since Espressif already made Linux the priority development platform. You only need to export the IDF_PATH and the path to the Xtensa toolchain. You only need to do it once by appending the instructions into the ~/.profile and ~/.bashrc files. See the notes below.
Notes
- ~/esp is the home for Espressif toolchains. The ESP8266_RTOS_SDK and the Xtensa toolchain are kept there.
- Export the IDF_PATH. Append this line 'export IDF_PATH="$HOME/esp/ESP8266_RTOS_SDK"' into ~/.profile and ~/.bashrc files.
- Export the Xtensa toolchain path. Append this line 'export PATH="$HOME/esp/xtensa-lx106-elf/bin:$PATH"' into ~/.profile and ~/.bashrc files.
- Execute the followings once to immediately export the paths:
- $ source ~/.profile
- $ source ~/.bashrc
Comments
Post a Comment