687 questions
0
votes
0
answers
20
views
Calculating worst case blocking time for Priority Ceiling Protocol/Stack Resource Policy
I do not understand on how the process to calculate the blocking time for the tasks. The only answers I managed to get was 4 for task 1 (which I am not sure if it is even correct), 0 for tasks 4 and 6....
0
votes
0
answers
31
views
Linux real-time kernel frequently kills my app
I'm developing a near real-time application, that forwards messages in a endless loop(no yield, no sleep, no wait).
The messages come from shared memory, go to another blocks of shared memory, so my ...
1
vote
0
answers
11
views
OSEK, shared resource and priority inversion
I'm encountering an issue with 3 tasks running on SimulIDE. 2 of them share the same resource. A has priority higher than C (they 2 share the resource), but as soon as C requests the resource, it ...
0
votes
0
answers
29
views
Error Installing Python Dependencies for ESP8266_RTOS_SDK
Originally, I wanted to use PlatformIO for programming the ESP8266 (ESP-12F module) to make my life easier. Unfortunately, I found out that the Espressif 8266 platfor has a vary old version of the ...
2
votes
2
answers
93
views
Socket Listener good practice?
I want to build a very simple server that accepts only one connection at a time on an embedded device (running an RTOS).
Two option comes to my mind concerning the socket listener:
Option A: have one ...
2
votes
0
answers
141
views
Why ThreadX's entry function use ULONG as entry input instead of a void*? [closed]
UINT tx_thread_create(TX_THREAD *thread_ptr, CHAR *name_ptr,
VOID (*entry_function)(ULONG), ULONG entry_input,
VOID *stack_start, ULONG stack_size, UINT ...
1
vote
2
answers
94
views
C multithreading reader and writer problem
I want to create a program where there are 2 threads reader and writer.
Both reader and writer runs for 10 iterations.
I need a synchronization mechanism that can enable reader and writer execute ...
1
vote
1
answer
128
views
Embedded C avoid optimization when copy global variable to stack variable in critical section
I am working on the RTOS support in our SW components.
There are some scenarios when it makes sense to create a copy of global variables into local variables in a critical section (e.g. protected by ...
1
vote
1
answer
27
views
Why does eTaskConfirmSleepModeStatus not return eNoTasksWaitingTimeout?
I use FreeRTOS with tiskless mode enabled.
I'm having trouble understanding what's happening in the code:
I call this function:
eSleepModeStatus eTaskConfirmSleepModeStatus( void )
{
/* ...
0
votes
1
answer
60
views
Seeking Improved Solutions for Mutex Lock and Semaphore Waiting in Packet Processing
I am developing a multi-threaded network application focused on packet processing that involves sender and receiver threads. This application runs on a single-core CPU, which adds complexity to how ...
2
votes
0
answers
113
views
ARM Cortex M4 context switching: How does the hardware know where xPSR, PC, LR, R12, R3-R0 are on the stack?
I'm working on a context switching mechanism for my RTOS which runs on Cortex-Ms.
When I initialize a task's stack, I have it like this
Then, I decrement the stack pointer 8 times to fit R11-R4.
I ...
0
votes
1
answer
145
views
Taking FreeRTOS as an example, how to separate the kernel from the application? (Physical)
Background: FreeRTOS, Cortext-M3
Suppose there is a situation where the kernel and application are developed separately, and the .text segment of the kernel and the application is stored in two areas ...
1
vote
0
answers
78
views
Device tree overlay and shield
I want to use stm32f401_mini together with ssd1306_128x64 shield. The problem is that the ssd1306_128x64 expects that the arduino_i2c node will be defined. Unfortunately the arduino_i2c node is not ...
0
votes
1
answer
92
views
VxWorks SDK on QEMU - Unable to include kernelLib.h
I am working with VxWorks SDK on QEMU. I am writing a simple C++ program to enable round-robin scheduling and experiment a bit with the scheduler. In order to enable round-robin I call kernelTimeSlice(...
0
votes
0
answers
152
views
Opening of device memory in Green Hills System's Integrity RTOS
I am migrating a code from Linux to ghs Integrity Real Time OS. The code requires opening physical/main memory and then map the physical to virtual memory using mmap.
In Linux, main memory is accessed ...
0
votes
3
answers
86
views
Is locking interrupts within an ISR allowed?
I have a device that takes in multiple interrupts from external devices and ultimately sends one interrupt signal to the ARM processor. What I have done is written a driver containing an ISR ...
0
votes
1
answer
766
views
Zephyr RTOS (nRF Connect SDK): are k_msleep() and k_sleep() both non-blocking?
I'm quite new to Zephyr RTOS and the nRF Connect SDK. What I want to know is if the kernel sleep routines k_sleep and k_msleep are both non-blocking. This post says:
k_msleep (which uses k_sleep) is ...
0
votes
1
answer
299
views
Why undefined symbols vApplication___Hook in FreeRTOS with STM32F4
I'm trying to build an LED blinker with FreeRTOS, but there are some errors in the project:
undefined symbol vApplicationIdleHook referenced by symbol prvIdleTask (section .text.prvIdleTask in file ...
2
votes
0
answers
282
views
Triggering a periodic task from an interrupt in ThreadX
My application wants to run a periodic task at a period of 200 microseconds (timing a bit TBD, but faster than 1 ms). One option could be to lower the system tick of ThreadX to something lower than ...
0
votes
0
answers
90
views
ESP32 not entering deep sleep mode despite deep sleep function being called (RTOS)
I am working on a project using an ESP32, where I need the device to enter deep sleep mode for 5 minutes when a button is pressed in the Blynk app (connected to virtual pin V5). I have added the ...
0
votes
0
answers
42
views
USBX ACK Request for Device Descriptor but doesn't respond
I'm using AzureRTOS USBX to write a Mass Storage application for a custom ARM SoC that isn't yet on the market. The behavior I observe when I flash and run my program is that it gets through ...
-1
votes
2
answers
222
views
RTOS on ATtiny85, 8 bit MCU. Is it possible?
Everyone, I am working with ATtiny85 using Arduino IDE. Recently I was learning about RTOS. I want to ask if it possible to run RTOS on ATtiny85 microcontroller? According to my knowledge it may be ...
1
vote
4
answers
103
views
C How to hold off a thread while stepper motor is running
I have CMSIS RTOS running on an ARM controller. One thread is used for executing stepper motor movements.
The stepper motor moves 2000 steps in one direction and returns to the startpoint.
Currently, ...
0
votes
1
answer
45
views
Print long double value and clock_t as a double - ESP8266-RTOS-SDK
I can't print clock_t as a double or print time elapsed
void app_main()
{
clock_t start, end;
long double cpu_time_used;
start = clock();
ESP_LOGI(TAG, "Elapsed time");
ESP_LOGI(TAG, &...
0
votes
1
answer
113
views
Using ESPIDF to program on ESP32-C6 for receiving data from ads1292r with SPI
I'm using esp32-c6 and ads1292r to acquire ECG data. I have successfully established communication with the ADS1292R through SPI and am able to write to and read from the ADS1292R registers. I also ...
0
votes
0
answers
59
views
Does DLT-Daemon support for FreeRTOS
I want dlt-daemon for freertos, I'm trying with MSVC demo examples and tried creating a task that executes the dlt-daemon, I also tried different method but facing alot of errors
I want to know ...
0
votes
0
answers
176
views
Is there a C/C++ SDK for Raspberry Pi boards (not Pi Pico)
I am currently working on porting ThreadX to the Raspberry Pi 3 (or newer). After examining similar projects undertaken for the Pi Pico and Beaglebone, I realized that I would require the following:
...
0
votes
0
answers
87
views
Building open62541 Library in ThreadX NetX for OPC-UA Server on Renesas Embedded Device
I'm working on setting up an OPC-UA server on an embedded device using a Renesas microcontroller with Eclipse ThreadX as the real-time operating system (RTOS). My goal is to allow a client application,...
0
votes
1
answer
210
views
Why RTOS is needed for FPGA based real-time embedded system?
I am new to real time embedded systems. As I learned RTOS is used for task scheduling. If the system is simple, interrupts can used apart from using RTOS. I wonder if I use FPGA for my real time ...
-1
votes
1
answer
234
views
AUTOSAR Trusted function in QM application
I understood that trusted function has unrestricted memory access, however I saw that a trusted function is mapped to QM application. Why do we need to put it in QM application if the function is ...
1
vote
0
answers
167
views
enabling cdc-acm uart and I2C at the same time on zephyr OS
I am trying to enable cdc-acm uart / usb virtual COM port and i2c on raspberry pico on zephyr OS using overlay code below :
/ {
chosen {
zephyr,console = &usb_cdc;
};
};
&zephyr_udc0 {...
0
votes
0
answers
15
views
how does the blocking work in priority ceiling protocol
I dont understand why the priority of T3 is raised to P1, even though T1 requests the lock for resource a which is not used by either T2 or T3.
enter image description here
0
votes
0
answers
21
views
Generating load for simulating different characteristics
I'm writing a task-set generator tool for generating schedulable task-sets. The motivation behind the tool: After implementing a new spinlock protocol for a specific RTOS, the problem was testing the ...
-4
votes
1
answer
135
views
Are there advantages to using earliest deadline first? [closed]
In dynamic scheduling, you have primarily two options: Earliest deadline first (EDF) or least laxity first (LLF). LLF is preferable in a multiple-core architecture, because in it, it is possible that ...
1
vote
1
answer
67
views
A hardware interrupt vs. an aperiodic task
What is the relationship between the two terms? Is it that an ISR will be executed immediately, but an aperiodic task can be scheduled later (using the principle of a polling server or deferred server)...
0
votes
1
answer
557
views
Priority inheritance vs priority ceiling
Both priority inheritance and priority ceiling protocols are used to minimise the consequences of a race condition. They both dynamically change the priority of tasks that hold a resource, needed for ...
0
votes
2
answers
218
views
Passing Small Amount of Data From an ISR Context to a Task/Thread Context
I have a device that I've written a driver for in an RTOS such that when it fires off an interrupt, its task is to read a 32-bit value from the device and have the system take some appropriate action ...
0
votes
1
answer
1k
views
Heap and Stack allocation in ThreadX RTOS
Recently I started learning ThreadX RTOS and I noticed that in the linker script and crt0.S provided for Cortex-M4 with gcc toolchain, .stack and .heap sections are allocated with size 1024 bytes and ...
0
votes
1
answer
109
views
if PendSV have lowest priority why it is set to 15 in RTOS
/* The lowest interrupt priority that can be used in a call to a "set priority"
function. */
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15
/* The highest interrupt priority that can ...
0
votes
1
answer
267
views
how to port the threadX RTOS on the cortex R5?
I tried to port Threadx RTOS to the cortex-R5 of the zynq UScale+.
I copied the port directory corresponding to the R5 and the common Threadx .h and .c files into my example code tree.
I defined the ...
1
vote
0
answers
242
views
Why does nothing happen when i choose j-link in Segger SystemView?
I want to start using SystemView to trace my FreeRTOS usage on STM32F767 nucleo boards.
When i click on the green triangle "Start Recording", and after asking about, J-Link confirm, then ...
1
vote
1
answer
103
views
Context Switching RTOS
I have two TASK A and B, where Task A is High priorty and B low priorty.
condition and mem are 2 global variable (shared)
let's assume that Task B is running and doing some memory operation.
***Task B ...
0
votes
1
answer
44
views
MSP stack overflow on Cortex-M4 running UCOS-II RTOS
I am using UCOS-II, the underlying operating system for my project. Now, I have encountered a problem that is very difficult for me. I hope someone can give me some advice.
I'm running it on a Cortex-...
0
votes
2
answers
63
views
Weird string operations' results on socket buffer
I have an application receiving text messages on a TCP socket using recv(). In this case, it is the TI-RTOS' variant of recv() called NDK_recv(): the other side sends one message in one packet, but ...
-6
votes
1
answer
594
views
RPMSG-lite in imx7d-pico stop in while (0 == rpmsg_lite_is_link_up(rl_instance)) {
I've been trying this project for a long time (https://www.youtube.com/watch?v=4zMyjaEgj2U&t=1208s) (originally made for imx7s-warp) But strangely (as per photo) it only reaches the line (while (!...
0
votes
1
answer
265
views
Mechanism to notify threads of incoming data and allow them to access it?
Writing code for an embedded platform on Zephyr RTOS.
To paint the picture of the situation I am trying to resolve:
I have data coming in over UART, and I have a handler for the incoming data. I want ...
0
votes
1
answer
253
views
STM32 change PWM Duty Cycle dynamically in RTOS
I'm using this code below trying to achieve a intensity transition effect upon turning on a light:
void output2ControlTask(void *argument)
{
/* USER CODE BEGIN output2ControlTask */
uint32_t ...
1
vote
2
answers
771
views
Semaphore behaviour between the thread and an ISR
I have this question lingering in my mind since I’m new to RTOS concepts.
Let’s suppose a task/thread and an ISR are using a semaphore resource. Now Interrupt triggers and ISR tries to
acquire a ...
-1
votes
1
answer
103
views
RTOS on ARM microcontroller: why do we save the state of registers R4-R11 upon context switching
I am wondering why every course and resource on RTOS for ARM microcontrollers tells to save the state of registers R4 to R11 upon context switching.
For interrupts that are not related to context ...
0
votes
2
answers
732
views
Freertos tasks context switching
Context switching as I understood it, is when a highier priority task becomes ready and the schedular immediately selects it to run saving the context of the previous task so it continues once this ...