Thursday, July 27th 2017, 4:40pm UTC+2

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Allan R

Beginner

Date of registration: Jan 3rd 2017

Posts: 2

1

Tuesday, January 3rd 2017, 12:41pm

Using openVG with embOS

Hi,

I have an openVG demo running on a Renessas RZA1 demo board.

The demo runs fine when there is no rtos involved. I just have a function that I call from main
with a loop that rotates a coloured rectangle.

When I introduce embOS (embOS ARM IAR V6) into the demo and call the same function from a single task, it stops working.
The task runs fine, but the output to the display is wrong. It's like the frame buffer isn't getting the correct data.

One thing I have noticed is that the project is using the hardware VFP and NEON, but the rtos is built using software
floating point. I'm new to ARM so I'm not sure what effect this has.

Thanks.

SEGGER - Martin

Super Moderator

Date of registration: Jul 1st 2014

Posts: 32

2

Tuesday, January 3rd 2017, 2:37pm

Hi Allan,

Thank you for your inquiry. I'm not quite familiar with openVG and thus cannot give specific advise on that. Generally speaking, however, there isn't many differences between a super-loop application and an embOS application with 1 task only. One of these differences is the hardware initialization performed by embOS, which configures a hardware timer to periodically generate an interrupt as a time basis for the OS, and may furthermore include modifications to the clock and PLL configurations. This could in reverse affect display timings as well. With our shipped start project for the RZA1, a function _InitPLL() was in fact included with the source file RTOSInit_R7S72100.c; it gets called during the low level initialization. Hence, could you please validate if the settings configured therein would actually fit your purpose?

Best regards,

SEGGER - Support embOS
Martin

SEGGER - Til

Super Moderator

Date of registration: Nov 14th 2007

Posts: 252

3

Wednesday, January 4th 2017, 9:20am

Hi Alan,

one additional note:
With embOS and RZ the memory managment unit and caches are used.
Please find at the end of RTOSInit_R7S72100.c the MMU table which defines which memory areas are cached with write through or write back.
If you are using the wrong setting it could happen that e.g. the display data is only written to the cache but not directly written to the memory.

Best regards,
Til

Allan R

Beginner

Date of registration: Jan 3rd 2017

Posts: 2

4

Wednesday, January 4th 2017, 2:09pm

Thanks to you both for your replies.

It turns out that it was the MMU and the caches. In RTOSInit_R7S72100.c the cache mode for the 10MB internal mirror RAM was set to Write-Back,
changing it to Write-Through solved the problem.


Thanks again,


Allan

Similar threads