689 questions
1
vote
1
answer
70
views
Failure to enumerate USB device with DWC2 USB host
I am working on an embedded RTOS system for a 32-bit MIPS SOC, which supports DWC2 OTG. (It can run Linux well.)
I ported an open-source USB stack to this system by following the porting guidance.
...
Best practices
0
votes
0
replies
25
views
Best practices for power management of drivers in zephyr/RTOS driver
Whats the best way to manage power up when you have complicated power requirements.
Ex
shared power supplies
IC's with complicated bring up sequences
multiple devices of the same type
In zephyr ...
0
votes
1
answer
118
views
Deferred cancellation in C [duplicate]
I am learning on how threads can be cancelled. Asynchronous cancellation can cancel the thread at any given point in time, but what I have learned about deferred cancellation is that it can only be ...
Best practices
1
vote
3
replies
127
views
How to deal with an intense CPU consuming task triggering watchdog?
I am using esp-tflite-micro to make some inferences, but it is taking too much time to finish a single inference; enough to trigger the watchdog of the idle tasks.
I know I may increase the watchdog ...
Advice
0
votes
2
replies
74
views
Does a higher priority task cause a CPU exception when it needs to run in an RTOS
This is still somewhat unclear, and I know that there are different types of RTOS out there with different settings.
Let's say that we're dealing with a preemtive scheduler in this case. When a high ...
1
vote
0
answers
29
views
STM32F407 integration with SEGGER SYS VIEW Fails for LED blinking
I am trying to run FreeRTOS on my stm32f407 discovery board. I am using segger system view continuous recording via j-link. The problem I am facing is that when I run this code:
status = xTaskCreate(...
0
votes
2
answers
96
views
CMSIS RTOS2 behaviour upon kernel lock
I am working on CMSIS-POSIX port to CMSIS RTOS2, and I am trying to understand how APIs should behave after osKernelLock was called.
My guess it is like in ISR and just functions that can be called ...
0
votes
0
answers
95
views
Coldfire to Cortex-A9 context switch
I am currently working on the porting of a proprietary RTOS that was originally written for the Coldfire CPU to the Zynq, which has a Cortex-A9 Armv7 CPU inside! I've been struggling for a while to ...
1
vote
1
answer
82
views
Inetrrupting a thread / task during a for loop execution
Generally speaking. Let's say I have a C application running and it is currently executing a for loop for doing some calculations on local data, but then it gets interrupted.
In a multi-threaded ...
1
vote
1
answer
123
views
Zephyr ILI9341 Display Driver Compilation Errors - Missing Devicetree Properties
I'm trying to use an ILI9341 display with nRF52840 in Zephyr (v4.1.99). The build fails with multiple errors about missing Devicetree properties when compiling display_ili9xxx.c:
error: '...
0
votes
0
answers
93
views
My scheduler works fine when tasks are in assembly and in startup.S but when I use separate c files for the tasks, execution loops in task1 coz. of LR
My GitHub Repository
I have coded a basic scheduler to switch between three tasks based on systick exception. It worked well enough when it was a single file startup.S (in assembly only). I wrote the ...
0
votes
1
answer
134
views
Using a lockfree spsc queue as mpmc queue on a single-core processor
When using a lockfree spsc queue on a single-core processor with RTOS, can we push/pop objects from multiple tasks/IRQs like mpmc queue?
Since on a single-core system, there is only one task/IRQ can ...
0
votes
0
answers
85
views
Why is my ESP32 task not logging when Wi-Fi is disconnected, but Wi-Fi retry logs are showing up?
I'm working with an ESP32, and I have a task that publishes data to the cloud. When the Wi-Fi is disconnected, the wifi_event_handler keeps retrying to connect, and I can see the retry logs on the ...
1
vote
0
answers
28
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 ...
2
votes
2
answers
159
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 ...