Thomas E. Besemer, the principle force behind YoctoWorks, has extensive experience with cross-development, generation of Root and Initramfs Filesystems, porting and configuration of U-Boot, and board bring-up. Extensive experience in application level Design, Architecture, Specification and Implementation. Strong documentation skills. In addition, the following key areas of expertise.
Extensive experience with Buildroot, Yocto, OpenEmbedded, OpenWRT and vendor proprietary build baselines, and leveraging them to build practical end-user integrated build environments.
Utilization of oscilloscopes, JTAG Tools, U-Boot, Linux Device Tree and first step Linux porting and booting on evaluation and custom hardware platforms. Skilled at working with SPI, I2C and ALSA interfaces, and how to approach diagnosing issues on the line with various tools. Solid understanding of PHY interfaces and use of diagnostic tools to diagnose problems, such as getting Eye Diagram data and plotting if available.
x86, ARM, MIPS and PowerPC. Device Tree and 2.6, 3.x and 4.x Kernels. Extensive experience with OMAP/L138 and i.MX51, i.MX53 and i.MX6SL processors. Solid working understanding of Linux Device Driver infrastructure, and how to approach development and debug of Linux Device Drivers. Solid understanding of Kernel internals, such as Scheduler Behavior, Memory Management, Shared Memory, NUMA and locking/synchronization mechanisms in both User Space and Kernel Space.
Well rounded skills with usage of Shell, AWK, Sed and Python. Associated with this, have developed several “field upgrade” schemes using combination of various scripting languages as appropriate for the need. Skilled System Administration and Configuration Management background, including Server Management, SVN (including merge and repository management of large code bases), Perforce and GIT, and using GIT to track upstream feeds. Solid knowledge of how to migrate from SVN to GIT, pruning as need be, but preserving SVN logs.
Working knowledge of Client/Server design and implementation in both C and Python, as well as generation of inter-operable Client/Server environments between Python and C using Google Protocol Buffers and Python Packed Structure types. Reasonable working knowledge of SKB management in the Kernel, and SKB flow between L1, L2 and L3. Reasonable working knowledge of Layer 2 and Layer 3 behavior in the Kernel, including Bridging operations at L2. Reasonable working knowledge of DPDK, and concepts behind hooking and processing SKB data in User Space, as well as Huge Page setup, configuration and usage.
Moderate experience with QT/QML and integration of QT/QML, mainly focused on cross-development environments and integration of QT with sub-systems such as network based API's, or Python based API's. Moderate ability to generate and maintain well structured, engineering centric GUI interfaces in QML, using QT Creator/Designer.