cancel
Showing results for 
Search instead for 
Did you mean: 

can we run multiple applications same time on stm32

VPotl
Associate II

Hi, I want to run DSP lowpass filter and also run other applications like voice over ble and touch screen interrupts at the same time. running one after the other is not efficient.

Is there a way to run these applications in parallel on a stm32 processor?

6 REPLIES 6
S.Ma
Principal

running taks simultaneously is possible either by using interrupt buried code or using RTOS.

You'll have to check what is the required core frequency based on the max latency for each "task", its processing timeslice and latency (interrupt processing time and priority). Audio processing typically is possibly the one to well control the rate and latency on a kHz rate, while the user touch interrupt runs in the 10Hz rate and is less critical.

Piranha
Chief II

Not applications but threads/tasks and not absolutely in parallel, but with a preemptive scheduling. So yes, it can be done and that's exactly the reason why RTOSes do exist. FreeRTOS is one of them and is capable of doing it.

https://en.wikipedia.org/wiki/Real-time_operating_system

VPotl
Associate II

hi. thanks for your reply.

continuing the discussion. I'm using audioweaver to program dsp lowpass filter. From audioweaver you'll flash a .awb script to the board. I'm wondering how to add voice over ble or touch screen interrupt program on to the board?

hi thanks for the reply.

  1. so do you think dsp filter, voiceover ble and touch screen interrupts can be handled by stm32f7 series processor without latency using rtos?
  2. Also have you tried bluecoin kit? it has multiple demos to run on the stm32f4 processor. we can flash .bin file for each demo on the mcu and run the demo. But I want to run all the demos together. will flashing all .bin demos once would work? if not how to go about it. Thanks
S.Ma
Principal

I think audio application should be achievable, if the implementation is well designed. You may have to process data by slices and visualise the data processing flow in time.

Piranha
Chief II
  1. Nothing can be without latency, but latency can be small enough for specific usage. Voice applications can have latency of tens of ms, but even 10 ms buffers means 100 buffers per second, which is not a high switching frequency for F7 and even less powerful MCUs. I suppose CPU load will depend mostly on DSP filter and GUI/touch processing complexity.
  2. No, I've no need for wireless interfaces. You can't run multiple firmwares simultaneously. The only possibility is to look at examples and develop Your own project.