This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

realtime kernel on a dm365

Hi allI’m working on a DaVinci DM365 DVR board with a ARM926EJ-S rev 5 (v5l) processor.

My kernel version is “Linux version 2.6.18_pro500-davinci_evm-arm_v5t_le” from dvsdk_2_10_01_18.
My application needs to acquire data from outside and read them with a resolution of 1 msec.

I know that the kernel I’m using is not a Real Time Kernel, so I’m writing to know if someone had ever patched the TI kernel to make it real time.
I googled a little bit and I found people suggesting RTAI patch. I downloaded it but it doesn’t seem to have support for dm365 architecture.

Other ones suggest the Vanilla kernel…

Any suggestion?

 

Tanks Daniele

  • I've never used the RTAI patch. I am always a bit wary of patches. They may not keep up with updates to the kernel and frequently don't work with your platform. You might get locked into a particular version of the kernel. TI kernels are patched as well but I would hope TI will continously offer updates.

    I think it depends on your "Real Time" requirements. Polling from a user space application will definitely not result is regular 1ms intervals. A timer interrupt handler would be better. Closer to 1ms. The time at which your interrupt handler is called after an interrupt is variable on Linux. There will be jitter and you might miss an interrupt entirely if there are higher priority interrupts. RTOS's are supposed to have predictable latency times and usually have fast efficient code.

    A sIde note. The 2.6.18 kernel that TI ships with it's starter kits is quite old. DVSDK-03.20 uses 2.6.33. I think DVSDK 4.01 uses 2.6.36. Just a bit behind the mainline 2.6.38. You might want to move up to a new kernel sooner than later.