#RTOS
Explore tagged Tumblr posts
bitstream24 · 3 months ago
Text
Tumblr media
CAN Bus Development for Embedded Systems: With and Without an Operating System
Explore the differences in CAN Bus development between embedded systems with or without an operating system. Compare Linux-based Raspberry Pi with PiCAN HATs to bare-metal Teensy and ESP32 platforms. Learn which solution fits your application needs.
3 notes · View notes
archiveosorg · 5 months ago
Text
Phantom OS
A persistent operating system. Its primary goal is to provide environment for programs thatsurvive OS reboot. The operating system is based on the concept of persistent virtual memory, is oriented towards managed code and is aimed at use in wearable and embedded computers. https://archiveos.org/phantom-rtos/
Tumblr media
4 notes · View notes
siliconsignalsblog · 8 months ago
Text
Configuring Zephyr: A Deep Dive into Kconfig
We presented The Zephyr Project RTOS and illustrated a personal best practice for beginning with "Zephyr" in an earlier blog post. A custom West manifest file is a great way to guarantee that your code is always at a known baseline when you begin development, as you saw in that blog post. Following the creation of your custom manifest file and the establishment of your baseline repositories using West, what comes next in your Zephyr journey?
Tumblr media
Enabling particular peripherals, features, and subsystems is one of the first steps in putting embedded software into practice. Some MCU manufacturers, like STM32, Microchip, and TI, have tools in their IDEs that let developers add subsystems to their codebase and enable peripherals in their projects. These tools, however, are closely related to the MCUs that the vendors sell. Applying these tools' functionality to other MCUs is challenging, if not impossible.
However, we can enable a specific MCU subsystem or feature using a vendor-neutral mechanism provided by The Zephyr Project RTOS. For people like me who don't like GUIs, this mechanism can be used with a command line. The name of this utility is "Kconfig." I'll go over what Kconfig is, how it functions, and the various ways we can use it to incorporate particular features and subsystems into our Zephyr-based project in this blog post.
WHAT IS KCONFIG?
Kconfig is still utilized today as a component of the kernel compilation process, having been initially created as part of the Linux kernel. Kconfig has a particular grammar. Although fascinating, the specifics of how Kconfig is implemented in the Linux kernel are outside the purview of this blog post. Alternatively, if you're interested, you can read my article here: (https://www.linux-magazine.com/Issues/2021/244/Kconfig-Deep-Dive), which walks through the Kconfig source code. However, after seeing an example, it's simple to become familiar with the format of a "Kconfig"—the slang term for a specific configuration option. The Kconfig system consists of three primary components.
First, there is the collection of Kconfig files scattered across different OS codebase directories. For example, if we look under "drivers/led" within the Zephyr codebase, we see a file named Kconfig with the following contents:  menuconfig LED     bool "Light-Emitting Diode (LED) drivers"     help      Include LED drivers in the system configurationif LED...config LED_SHELL    bool "LED shell"    depends on SHELL    help      Enable LED shell for testing.source "drivers/led/Kconfig.gpio"...endif # LED
Using the if statement, the line that begins with "menuconfig" tells the Kconfig system that "LED" contains a number of feature options that are only visible if the "LED" feature is enabled. The user can then activate the "LED_SHELL" option if the "LED" feature is enabled. The result of this configuration option is a Boolean, which determines whether this feature is enabled or disabled, as the line that follows shows. If a configuration option refers to a particular configuration parameter, the result can also be an integer in addition to a Boolean. The line that starts with "depends" indicates that in order for the "LED_SHELL" feature to be visible, the "SHELL" feature needs to be enabled. As a result, only after the "LED" and "SHELL" features have been enabled will the "LED_SHELL" feature become visible. A more detailed explanation of the feature can be found in the two lines that begin with "help". Last but not least, the final line before the "endif" lets us refer to additional Kconfig files, which aids in classifying components. As though they were copied and pasted, the features of the referenced file are present in the current file. It is crucial to remember that the path to "source" comes from the Zephyr codebase's root.
HOW SHOULD YOU USE KCONFIG?
A collection of applications that enable users to enable or disable the features listed in all Kconfig files make up the second component of the Kconfig infrastructure. Zephyr provides a Visual Studio Code extension that enables users to carry out this task with a graphical user interface. For command line enthusiasts like myself, the VS Code extension provides an alternative to utilizing a graphical user interface. In order to configure Zephyr appropriately, the extension can accept a file, which is the final component of the Kconfig infrastructure and contains a set of configuration options that can be turned on or off. The following snippet shows an example. CONFIG_BT=yCONFIG_BT_PERIPHERAL=yCONFIG_BT_GATT_CLIENT=yCONFIG_BT_MAX_CONN=1CONFIG_BT_L2CAP_TX_MTU=250CONFIG_BT_BUF_ACL_RX_SIZE=254
There is nothing complicated about the file format. "CONFIG_" appears at the start of each line, and then the configuration option's name. After the "=" symbol, the line either ends with a "y" to activate the feature or a "n" to deactivate it. In the example above, we configure the stack parameters and activate the Bluetooth stack in Zephyr along with specific stack features. "prj. conf," which contains user-defined features, is the default file in the majority of Zephyr-based applications.
 
CONCLUSION
The Zephyr Project RTOS provides a robust, vendor-neutral mechanism called the Kconfig infrastructure that allows us to fully configure our entire application. It can be used to control particular subsystems and peripherals within the MCU in addition to turning on or off individual stacks within the RTOS and setting configuration parameters.
Ready to bring your embedded systems to life with optimized configurations and robust solutions? We specialize in hardware design and software development tailored to your project needs. Whether you're configuring peripherals or diving deeper into Kconfig for your Zephyr-based applications, our experts are here to support you every step of the way.
👉 Contact Us Today and let's transform your embedded ideas into reality!
2 notes · View notes
acldigital · 1 month ago
Text
0 notes
forlinx · 1 month ago
Text
FreeRTOS on i.MX 9352 M33 Core – Real-Time in Action!
Take your embedded systems to the next level with the Forlinx OK-MX9352-C development board. Learn how to build real-time applications on NXP's Cortex-M33 core using FreeRTOS.
Tumblr media
Featured demos include:
✅ Task + Queue communication ✅ Software timers & semaphores ✅ UART, I2C, SPI under FreeRTOS ✅ System tick hook & exception handling
Perfect for edge AI & industrial control.
0 notes
electronicsbuzz · 3 months ago
Text
0 notes
fidus-systems · 8 months ago
Text
How to Choose the Right RTOS for Your Embedded Project
Tumblr media
Selecting the right Real-Time Operating System (RTOS) is a critical step in the development of embedded systems. The choice you make can influence the performance, reliability, and scalability of your project. This article will guide you through the key considerations and steps to choose the right RTOS for your embedded project.
What is an RTOS?
An RTOS is a software platform designed to manage hardware resources and run applications in real time. Unlike general-purpose operating systems, an RTOS prioritizes tasks and ensures predictable response times. This makes it ideal for embedded systems where timing is crucial, such as in medical devices, automotive systems, and industrial automation.
Key Factors to Consider When Choosing an RTOS
1. System Requirements
Begin by understanding the specific requirements of your embedded project. Consider factors such as:
Real-time constraints: How critical is the timing for your application?
Memory footprint: Does your hardware have sufficient memory to support the RTOS?
Processing power: Can the microcontroller or processor handle the RTOS and application tasks simultaneously?
2. Task Scheduling
Evaluate the task scheduling capabilities of the RTOS. Two common scheduling methods are:
Preemptive scheduling: Ensures high-priority tasks are executed first by interrupting lower-priority ones.
Cooperative scheduling: Relies on tasks to yield control, which can simplify implementation but may not meet strict real-time requirements.
Choose an RTOS with a scheduling method that aligns with your project’s real-time needs.
3. Scalability and Modularity
If your project might grow in complexity or require additional features in the future, select an RTOS that supports scalability. A modular RTOS allows you to add or remove components as needed, optimizing resource usage.
4. Support and Documentation
An RTOS with robust support and comprehensive documentation can save time during development. Look for:
Detailed manuals
Active community forums
Responsive customer support
Availability of training resources
5. Licensing and Costs
Understand the licensing terms of the RTOS. Open-source RTOS options, like FreeRTOS, can be cost-effective but may have limitations in support or advanced features. Commercial RTOS options often include dedicated support and enhanced features but come with licensing fees. Choose an option that fits your budget and support needs.
6. Compatibility with Tools and Hardware
Ensure the RTOS is compatible with your development tools and hardware. Check for:
Supported microcontrollers and processors
Integration with debugging and testing tools
Availability of drivers for your peripherals
7. Reliability and Security
For critical applications, prioritize an RTOS with proven reliability and robust security features. Certifications like ISO 26262 for automotive or IEC 62304 for medical devices indicate the RTOS is suitable for these industries.
Steps to Evaluate an RTOS
Step 1: Define Project Goals
Clearly outline your project’s objectives, including performance targets, real-time requirements, and budget constraints.
Step 2: Research and Shortlist RTOS Options
Based on your goals, research available RTOS options. Create a shortlist by comparing features, compatibility, and licensing terms.
Step 3: Test RTOS Performance
Use evaluation versions or test kits provided by RTOS vendors to assess performance in your specific application. Focus on:
Latency and response times
Resource usage
Stability under load
Step 4: Seek Expert Advice
Consult with an Electronic Product Development Company or professionals experienced in embedded systems. Their insights can help you avoid common pitfalls and make an informed decision.
Step 5: Finalize and Begin Development
Once you’ve chosen an RTOS, integrate it into your development process. Leverage available support and documentation to streamline implementation.
Popular RTOS Options
Here are some widely used RTOS platforms:
FreeRTOS: An open-source option ideal for resource-constrained devices.
Zephyr: A modular and scalable RTOS backed by a strong community.
VxWorks: A commercial RTOS known for high reliability and advanced features.
ThreadX: A lightweight RTOS with excellent performance for IoT devices.
Conclusion
Choosing the right RTOS is a vital decision that affects the success of your embedded project. By carefully evaluating your project’s needs and researching RTOS options, you can select a platform that ensures optimal performance and reliability. Collaborating with an Electronic Product Development Company can further enhance your development process, providing expertise and resources to bring your vision to life.
Take the time to evaluate your options thoroughly, and you’ll set a solid foundation for your embedded system’s success.
0 notes
icnweb · 8 months ago
Text
인피니언, 차량용 AURIX MCU에 FreeRTOS 지원
안정적인 오픈 소스 환경에서 애플리케이션을 빠르게 구축할 수 있다 인피니언의 차량용 MCU AURIX™ TC3x 인피니언 테크놀로지스(코리아 대표이사 이승수)는 AURIX™ TC3x 마이크로컨트롤러(MCU)에 FreeRTOS 지원을 추가했다고 밝혔다. 마이크로컨트롤러에서 실행되는 핵심 소프트웨어 구성 요소인 RTOS는 하드웨어 및 소프트웨어 리소스를 효율적으로 관리하여 작업을 적시에 안정적으로 실행할 수 있도록 한다. 인피니언의 AURIX TC3x MCU는 자동차 및 산업용 시장의 엄격한 요구 사항을 충족하는 ASIL-D/SIL-3을 준수하도록 개발되었다. 고성능 TriCore™ 아키텍처로 구동되어 실시간 기능, 고급 안전 기능 및 기능 안정성을 제공하므로 까다로운 애플리케이션에…
Tumblr media
View On WordPress
0 notes
embedded-systems-tutorials · 9 months ago
Text
0 notes
aptrons-blog · 1 year ago
Text
Tumblr media
Looking for top-notch Embedded Systems training in Gurgaon? APTRON Solutions offers comprehensive courses designed to equip you with practical skills and industry-relevant knowledge in embedded systems. Our Embedded Systems training program in Gurgaon is crafted and delivered by experienced industry professionals who have a deep understanding of embedded systems design, development, and implementation. Whether you are a student seeking foundational knowledge or a professional aiming to enhance your skills, our courses cater to all levels of expertise.
0 notes
volansystechnologies · 2 years ago
Text
0 notes
archiveosorg · 3 months ago
Text
LynxOS
LynxOS RTOS – the hard real-time operating system (RTOS) for original equipment manufacturers (OEMs) and telecommunications equipment manufacturers (TEMs) https://archiveos.org/lynxos/
0 notes
siliconsignalsblog · 8 months ago
Text
Bare metal vs. RTOS?
With limited processor power, random-access memory, and flash memory, embedded systems are resource-constrained. In light of this, memory-optimized code is one of the primary objectives of firmware development. And what could be more effective than executing your code in a bare-metal application—that is, without any intermediary layers like an operating system—directly on hardware? As a developer, you have direct access to and control over all of the system's resources, including the processor, memory, and peripherals. Junior embedded developers—but not just juniors—share this viewpoint.
Tumblr media
Working on bare-metal or RTOS-only projects for extended periods of time can prevent you from seeing all aspects of an issue, depending on the organization and the duties involved. I will examine the distinctions between the two strategies in this blog post.
1. What is RTOS?
The acronym for Real-Time Operating System is RTOS. I'll give a brief explanation of what an RTOS is so that you can comprehend the Real-Time portion. Every RTOS is primarily composed of tasks and a scheduler. A task is linked to a data structure that contains crucial task information, like: A task uses a user-defined function to implement functionality.
Task name and/or ID,
State, usually described as Ready, Running, Blocked, and Suspended,
Task priority,
Stack size, RAM allocated for task’s stack operations,
Pointer to the function that implements the functionality.
One component of RTOS that is in charge of overseeing task execution is the scheduler. Based on their current condition and priority, the scheduler is in charge of deciding which task should be carried out next. It is intended to offer deterministic task execution. This indicates that the tasks are completed on schedule and with predictable results.
2. Deterministic behavior
Deterministic behavior—that is, making sure that system actions are carried out within an acceptable time delay from the event's occurrence—is crucial for building safety-critical applications. For instance, airbags should be deployed within 15 milliseconds of the impact being detected. Critical tasks must be carried out on a precise frequency for some other applications. To ensure deterministic behavior, the RTOS scheduler is made to carry out activities according to their states and priority, or how important or critical they are. Deterministic applications for bare metal are also possible, but you need to guarantee the length of each operation. Because of this, it might be difficult to add new functionality to bare-metal programs while maintaining their determinism.
3. Scalability
It takes careful planning and appropriate software design to create scalable bare metal applications. Deterministic behavior is still challenging to apply.
What if writing data in a flash is a low priority task? How do you make sure that tasks with a higher priority have an opportunity to run? These problems are being addressed by RTOS. It handles task scheduling while keeping priorities in mind. Additionally, it can give resources to higher-priority processes by interrupting low-priority ones. With the bare metal method, complicated applications may be written. However, employing RTOS, which provides the foundation required to write complex and networked programs, is much simpler.
4. So, is RTOS always the better option?
RTOS gives you the infrastructure to guarantee scalability and deterministic behavior, but it comes at the expense of using more resources. It needs a flash to hold the instructions and some RAM to keep things operating. An RTOS is a superior design option if you are working on a large linked application, but bare metal is a battery strategy if you are building a basic application with minimal capabilities that needs to run on a highly constrained MCU. Selecting the strategy that best meets the project's needs requires weighing the trade-offs.
Our expertise ensures your software architecture is optimized for performance, scalability, and reliability. Ready to take your embedded system design to the next level? Connect with us today and let’s build smarter systems together!
0 notes
acldigital · 1 month ago
Text
0 notes
forlinx · 1 year ago
Text
RK3562J Technical Share | First Experience with Bare-Metal Interrupt Nesting in AMP Dual-System Setup
🚀 RK3562J Technical Share | First Experience with Bare-Metal Interrupt Nesting in AMP Dual-System Setup 🚀
We're exploring the powerful capabilities of multicore heterogeneous systems! By properly allocating processor cores and peripheral resources, Rockchip's RK3562J can run both Linux and real-time operating systems (RTOS) simultaneously, meeting system functionality, hardware diversity, and real-time performance demands.
Tumblr media
🔍 Key Highlights:
Multicore Heterogeneous System: Supports ARM Cortex-A, Cortex-M, and RISC-V cores, enhancing performance and efficiency.
Interrupt Nesting Mechanism: Ensures timely handling of critical tasks, boosting real-time performance.
Case Study: Successfully validated interrupt priority and preemption using GPIO and timer interrupts.
Want to learn more about the technical details and testing steps? Join the discussion! 💡
0 notes
officialspec · 7 months ago
Text
Tumblr media Tumblr media
raphael claiming the first pic of the year (oc)
864 notes · View notes