1.5. Processor SDK Technical Support¶
Technical support is a broad term. Our desire is to provide a solid product, good documentation, and useful training that defines a clear path for developing a product based on the Linux/RTOS/Android SDKs. However, we know we’ll never cover everything that can be done, and occasionally we even make mistakes <gasp>. So, when you can’t seem to find what you need, there’s a good place to search through previously answered questions and ask a new one - The E2E Support Forums.
There is an active community of TIers and other customers like you already using a TI Processor, on these forums. You may find your question has already been answered with a quick Search of the Forums. If not, a quick post will likely provide you the answers you need.
1.5.1. Open Source Software Support Disclaimer¶
Processor SDK Linux integrates various free and open source software (FOSS) to demonstrate the hardware capabilities of Sitara devices. The FOSS offers many advantages to the customers such as flexibility, interoperability, robustness, reduced development time and support from the respective FOSS community.
TI uses Yocto Project to integrate various software components and to build Processor SDK Linux. Yocto Project has two releases per year in April and October. TI’s Long-term Support (LTS) build for next year is based on current year’s October release of the Yocto Project. During a given year, TI’s LTS version migration only happens once per year and it occurs towards the end of the second quarter. The LTS migration usually signifies newer version of Kernel, U-boot, Toolchain, Yocto Project and etc. For more information on the current release, please refer to the Release Notes in the Release Specific section. Therefore, the various open source components included in the Processor SDK Linux are only updated once per year.
While TI integrates the FOSS in Processor SDK Linux, TI does not own, maintain and support the entire FOSS. If users have educational queries, feature enhancement requests or discover a bug on any components, TI encourages the users to reach out to the respective FOSS community for any additional support. Below are helpful resources to seek support on a few of the individual FOSS components. Please keep in mind that we are only showing a few of the components below but the same concept applies to all of the FOSS integrated in the Processor SDK Linux.
Gstreamer Framework
- https://gstreamer.freedesktop.org/documentation/
- Gstreamer application tutorials: https://gstreamer.freedesktop.org/documentation/tutorials/
QT Framework
Wayland Weston
Robot Operating System (ROS)
- http://www.ROS.org
- For meta-ros (embedded version of ROS, that runs on our ARM): https://github.com/bmwcarit/meta-ros
V4L2
For programming external video devices, a V4L2 sub-device driver is needed to be used in conjunction with the V4L2 driver. It also uses some of the helper kernel libraries videobuf2 (VB2) for common buffer operations, queue management and memory management.
- https://linuxtv.org/downloads/v4l-dvb-apis/
- https://linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/v4l2.html
- https://linuxtv.org/downloads/v4l-dvb-apis/kapi/v4l2-videobuf2.html
- https://linuxtv.org/downloads/v4l-dvb-apis-new/kapi/v4l2-subdev.html
Graphics
- Direct Rendering Infrastructure (DRI): https://dri.freedesktop.org/wiki/Documentation/
- Direct Rendering Manager (DRM): http://dri.freedesktop.org/wiki/DRM/
- Kernel Mode Setting (KMS): https://www.kernel.org/doc/html/v4.14/gpu/drm-kms.html
- Graphics Execution Manager (GEM): https://www.kernel.org/doc/html/v4.14/gpu/drm-mm.html#the-graphics-execution-manager-gem
Example applications:
- https://github.com/tomba/kmsxx
- https://git.ti.com/glsdk/example-applications/trees/master/drm-tests
- http://git.ti.com/sitara-linux/dual-camera-demo/trees/master
- The modetest tool is available inside git://anongit.freedesktop.org/git/mesa/drm
OpenCV
- OpenCV: https://opencv.org/
- Documentation, tutorials and examples of how to use OpenCV 3.1: https://docs.opencv.org/3.1.0/#gsc.tab=0
- OpenCL offload through OpenCV 3.1 transparent API: https://opencv.org/platforms/opencl.html
Hypervisor
- Jailhouse: https://github.com/siemens/jailhouse
- IVshmem based UIO driver: https://github.com/henning-schild-work/ivshmem-guest-code