What RTOS can be used with PSoC 4?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
AzGa_264406
Level 3
Level 3

What RTOS can be used with PSoC 4?

   

Maybe, is used or planned to be used? 

   

Knowledge Base gave answer for PSoC® 5LP: 

   

Micrium uC/OS – III and FreeRTOS. Are these suitable for PSoC 4?

0 Likes
15 Replies
rotec_264361
Level 2
Level 2
        Look, asking for an RTOS on a chip with max. 32k flash and even worse max. 4k SRAM is not the obviousl thing to do. PSoC 5 has way more on-chip memory. PSoC 4 is highly memory constraint and I would strongly advice against any OS except for a small scheduler on this product family.   
0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Looks like FreeRTOS can size into 4K ROM and 236 bytes RAM,

   

so quite feasable on PSOC 4.

   

 

   

MCU support listed at website -

   

 

   

Cypress

   
        
  • Supported processor families: PSoC 5 ARM Cortex-M3
  •     
  • Supported tools: GCC, ARM Keil and RVDS - all in the PSoC Creator IDE
  •    
   

 

   

Maybe a port possible ?

   

 

   

Regards, Dana.

0 Likes
AzGa_264406
Level 3
Level 3

 Thanks for complementing:) answers. I'd remembered something and find the plentiful resource:

   

http://sourceforge.net/directory/system-administration/embedded/os%3Awindows/freshness%3Arecently-up...

0 Likes
Anonymous
Not applicable

 Hi,

   

 

   

The SEGGER embos V3.88f1 RTOS can be used with PSoC 4.

   

 

   

Thanks,

   

Thinkle

0 Likes
Anonymous
Not applicable

 I write a RTOS for cortex-m0, such as psoc4.

   

It works very well in my product.

   

It support:

   

15 tasks (not include idle)

   

timer, semphore, flag, mutex, remote call service, critical section service.

   

4 levels priority, round robin schedule for each level.

   

no interrupt mask/disable for critical section. it uses SVC and PendSvc.

   

etc...

0 Likes
Anonymous
Not applicable

 it just use 128 bytes ram or less if you want. The most usage of ram is stack ram for each task.

   

It is evry sufficien if it can use 1k byte ram.

   

In my product, it just occupis 300 bytes for 4 task, one for uart, on for I2C(LCD), one for service routin and one for idle task.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

@Hogarth

   

I recently finished the same! How did you overcome the bug in malloc() ? I had to write my own memory-manager.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

T tried freertos.

   

3 tasks took 2600 bytes with minimal stack. So ram was too small for simple jobs.

   

elemnt14 shows example, which contains nothing except blinking leds.

   

And this is what Rtos can be used for on PSOC4.

0 Likes
Anonymous
Not applicable

I allocated stack of 100. I think it's 400 bytes, even if default freertos variable was char.

   

I this freertos use 32bit variables which cause hudge losses.

0 Likes
Anonymous
Not applicable

 @bob, sorry, i don't use malloc. and i would like to disable heap created by creator ide.

0 Likes
Anonymous
Not applicable

 The SEGGER embos file for the PSoC 4 Development Kit can be found here

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

http://www.j1sys.com/products/psoc/SAK-PROTO-FreeRTOS.html This one looks good also.  I have not tried it yet however!

0 Likes
Anonymous
Not applicable

@Bob, @Hogarth

   

is there an example for similar "mini-RTOS" as you made, or an explanation/guidelines how to make one yourself?

   

I'm working on a complicated project (many tasks, interfaces, end-points) based on PSOC 4, and having some kind of OS can make things easier...

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

@Michael

   

I posted my RTOS (named ARTS) in the "PSoC Community Components" forum. Feel free to go through it, it is well documented 😉

   

Any comments welcome.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Thank you Bob.

   

I'll check it out.

0 Likes