Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to analyze RT-Thread software package

2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/01 Report--

This article will explain in detail how to analyze the RT-Thread software package. The content of the article is of high quality, so the editor will share it for you as a reference. I hope you will have a certain understanding of the relevant knowledge after reading this article.

1. The purpose of the software package

Software packages are very common in high-level languages, and many high-level languages have corresponding software package platforms, such as Python's PyPi,Ruby 's Gems and so on. Software package ecology is very important for the choice of a language, because these software packages have a strong reusability, a high degree of modularization, and great convenience for application developers to create the software they want in the shortest possible time.

From the perspective of tools, it is easy to think of the difference between high-level animals and low-level animals: nothing more than the proficiency in using and making tools. The same applies to our programmer world. For example, the gap between senior programmers and junior programmers can be summed up in terms of proficiency in development tools and software packages. It even lies in whether you can create a wide range of software packages (round wheels) or development tools.

So, if you want to be a senior programmer, come and use and create software packages.

2. Definition of software package

RT-Thread software package: a general software component running on the RT-Thread Internet of things operating system platform for different application fields. The software package consists of description information, source code, or library files.

RT-Thread also provides an open software package platform, where official or developer-provided software packages are stored. The platform provides developers with a wide choice of reusable software packages, which is an important part of the RT-Thread ecology.

3. The use of the software package

RT-Thread provides comprehensive tutorials for developers. Details are as follows:

Getting started documentation tutorial: located on the RT-Thread official website, documentation-> Development Guide-> env tool user's Manual

Getting started video tutorials:

Software package making tutorial: located on the RT-Thread website, documentation-> Development Guide-> package Development Guide

4. Software package summary

The number of packages already supported by RT-Thread has reached 40 +. All software packages have been classified in menuconfig according to the function of the software. Packages under each category can be found under the corresponding submenu in the menuconfig- > RT-Thread online packages menu.

In order to lower the threshold for getting started, each software package has detailed documentation and sample code on the home page of its project.

4.1 Internet of things-related software packages

Internet of things (IoT) is a link that RT-Thread attaches great importance to at present, and the software packages related to it are also very large. For almost any Internet of things application you develop, you can find the corresponding software package here, including the following:

Paho MQTT: open source Paho MQTT based on Eclipse, which optimizes many functions and performance, such as adding automatic reconnection function, adopting pipe model, supporting non-blocking API, supporting TLS encrypted transmission and so on.

WebClient: an easy-to-use HTTP client that supports common request functions such as HTTP GET/POST, HTTPS, breakpoint continuation and other functions

Mongoose: embedded Web server network library, similar to Nginx in the embedded world. Licensing is not friendly enough, and businesses need to charge a fee.

WebTerminal: developed by netizen @ armink, you can access Finsh/MSH Shell software packages in browsers, even on mobile phones.

CJSON: ultra-lightweight JSON parsing library

Ljson: json to struct parsing and output library developed by netizens @ qiaoqidui

EzXML: XML file parsing library. Currently, parsing XML data is not supported.

Nanopb:Protocol Buffers format data analysis library, Protocol Buffers format takes up less resources than JSON and XML format

GAgent: a software package connected to the smart cloud

Marvell WiFi:Marvell WiFi driver

WiFi driver of Wiced WiFi:Wiced interface

CoAP: porting libcoap's CoAP communication software package

Nopoll: a portable open source WebSocket communication package

Netutils: a collection of practical network debugging gadgets, including: ping, TFTP, iperf, NetIO, NTP, Telnet, etc.

OneNet: software package for docking with China Mobile OneNet Cloud

4.2 Security-related software packages

Security has always been an area that RT-Thread attaches great importance to, especially after the release of RT-Thread 3.0 IoT OS. Devices connected to the network have a strong demand for network security, the main software packages:

Mbedtls:ARM 's open source and portable SSL library suitable for the embedded field, which will be relied on for some encrypted communications in some Internet of things packages.

Libsodium: a modern, portable, easy-to-use encryption library. The goal of libsodium is to provide the core algorithms needed to build high-level cryptographic tools.

TinyCrypt: lightweight, configurable encryption library that supports MD5, base64, AES, SHA1, SHA256 algorithms

4.3 scripting language-related software packages

Some features in high-level languages are very human and greatly reduce the threshold for development, but they have been limited to embedded resources. With the gradual development of MCU technology, there are more and more resources. In the future, perhaps C will no longer be the mainstream choice for MCU programming. The scripting languages supported by RT-Thread are as follows:

JerryScript: ultra-lightweight JavaScript engine

MicroPython: Python language implementation software package for the embedded field. This is also a technology that RT-Thread has been pushing recently. As long as it is a development board that supports RT-Thread and has certain resources (ROM: 190KB, RAM: 8KB), you can go to MicroPython to find RTT's latest "MicroPython Development Manual" in the official website documentation. MicroPython is also widely used in product prototype verification, education, creator DIY, hardware testing and other fields.

4.4 Multimedia-related software packages

Openmv: an open source machine vision library based on MicroPython

Mupdf: a lightweight PDF, XPS, E-book parsing / rendering library migrated by netizens @ rtoslab. Using RTT DIY and a Kindle is not a dream.

4.5 tool package

Here are mainly some practical tools to assist development and debugging. The use of these professional tools can greatly improve everyone's development efficiency and save our programmers' valuable development time.

CmBacktrace: netizen @ armink's open source HardFault error tracking library for ARM Cortex-M series MCU. At present, RTT has been seamlessly docked, no need to modify any transplant code, download and use

EasyFlash: netizens @ armink open source lightweight Flash flash library, which is very suitable for parameter storage and logging scenarios of Internet of things products.

EasyLogger: netizens @ armink's open source ultra-lightweight log library. The log supports asynchronous output mode, each level of log format (including color) can be set independently, and supports log keyword filtering. Great convenience for developers in the debugging process.

SystemView: you can view, track, and analyze the usage of resources such as RT-Thread threads in real time, which is very helpful for performance analysis. There are many contributions made by netizens @ ArdaFu.

4.6 system-related software packages

The software packages of the system class are more closely related to the software components of the operating system:

RTGUI:RT-Thread GUI drawing engine. RT-Thread 's Persimmon persimmon UI component depends on this software package.

Persimmon UI: an embedded UI library that supports Android like gesture recognition, sliding effects, etc.

Lwext4: an embedded ext2/3/4 file system library transplanted from netizens @ parai

Partition: a simple partition management library for block devices

SQLite: a highly reliable SQL database engine suitable for the embedded field. SQLite is also a database integrated within Android, and it has certain application fields.

RT-Thread Insight: abbreviated as RTI, a probe tool for RT-Thread to help analyze the internal behavior of the system

LittlevGL2RTT: netizens @ liu2guang transplanted LittlevGl GUI library, which is a newly released embedded GUI library.

4.7 Peripheral libraries and driver class packages

HAL firmware function Library of STM32F4_HAL:STM32 F4 Series

Standard firmware function library of STM32F4_Drivers:STM32 F4 series

4.8 other software packages

Fastlz: a portable, real-time compression library

MiniLZO: a small real-time compression library similar to LZO compression library

QuickLZ: a compression library that claims to be the fastest in the world.

MultiButton: an easy-to-use, event-driven keystroke-driven library transplanted by netizens @ liu2guang, which can expand keys indefinitely.

The transplantation of CanFestival:Canfestival (an open source CANopen stack) on the RT-Thread system is transplanted by the netizen @ gbcwbz. Some examples of CANopen are provided to try to use it right out of the box.

Sample code for samples:RT-Thread. This is a software package that lowers the entry threshold for beginners, which guides everyone to use RT-Thread one by one from the basic, kernel, file system, network and driver aspects. There are not only detailed code and comments, but also perfect documentation. Learn all this software package, even if you have entered the door of RT-Thread.

Hello: this is a template for a software package. If you want to make a software package, you can use it for reference.

5. The future of the software package

Since the release of RT-Thread 3.0 in September last year, the official team of RT-Thread and our developers have accumulated more than 40 software packages in more than half a year, which shows the strength of the RT-Thread software ecology. Of course, we are not satisfied with this, and there will be more and higher quality software packages in our open plan in the future, such as:

AT command library: supports both AT server and client, provides CLI command line interactive debugging mode, automatic detection of parameter format and other practical functions. Has entered the countdown to the release.

Low-power framework: ultra-low-power design, system automatic sleep, dynamic FM and voltage regulation, applications do not need to care about low-power state

The accumulation of software packages will be a process from quantitative change to qualitative change, which can bring together more commonly used software components. Really, the bottom layer uses the RT-Thread operating system, and the upper layer uses building blocks to develop applications.

This is the end of the analysis on how to carry out the RT-Thread software package. I hope the above content can be of some help to you and learn more knowledge. If you think the article is good, you can share it for more people to see.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report