cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

AzGa_264406
New Contributor

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
New Contributor II
        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
Esteemed Contributor

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
New Contributor

 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
JoMe_264151
Expert II

@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
Honored Contributor II

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
JoMe_264151
Expert II

@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