Being able to see the performance and power impacts of changes in a real world environment such as Android is a prerequisite to doing meaningful development on scheduler-guided frequency (or many other sensitive subsystems). The first half of this session will review setting up the tools to automate testing for performance and power in Android. The second half will cover the results of using these tests to compare the schedutil and interactive governors.
This session will give an overview of Zephyr Project. Zephyr is a small, scalable, real-time operating system designed specifically for small-footprint IoT edge devices. Its modular design allows you to create an IoT solution that meets all of your device needs, regardless of architecture. It is also embedded with powerful development tools that will, over time, enable developers to customize its capabilities. Launched in partnership with the Linux Foundation, the Zephyr project is a truly open source solution focused on empowering community development. The goal of Zephyr is to allow commercial and open source developers alike to define and develop IoT solutions best suited for their needs.
Deep dive into LLVM internals, middle/back-ends, libraries, sanitizers, linker, debugger and overall compilation process. The focus is to show how LLVM works under the hood, which is useful for GCC compiler engineers getting into LLVM development, as well as for other engineers to learn more about parts of the toolchain they’re not familiar with. This presentation also touches on frequent LLVM-specific errors, so GCC users may find useful, if they’re moving to LLVM.
Tutorial material to support getting started/evaluating LAVA v2. An end-to-end tutorial including physical bootloader device with a stand-alone installation of LAVA. Covering - device requirements, device configuration for 32- and 64-bit platforms with QEMU, ARMv7 and ARMv8 targets. An important part would be having links between the v2 documentation and the tutorial material.
Hardware and software will never stop evolving, yet many still choose to push out static documentation without the resources to maintain, edit, and push new versions. When these documents inevitably become obsolete, they float around the internet and offer little more than confusion. In many cases you will find yourself with more questions than answers by the end of an instruction set, with no one available to help. 96Boards aims to end outdated documentation by implementing a dynamic approach which utilizes member and community resources, paired with on point maintenance and diligent review from the 96Boards team and Linaro. Doing this, we can provide up-to-date, straightforward, and accurate documentation without the need to share documents, convert formats, or refer to releases/versions when wondering if the document is going to work.
Since the presentation back in 2015 (SFO15), there has been functionality added, like RPMB and there has also been some changes in general to the secure storage code. This presentation will summarize what has been happening and will also talk about what’s left to do.
This presentation will discuss issues and common mistakes when migrating a project from one toolchain to another. The main focus will be on issues coming from switching from GCC to Clang, but we will also touch on differences in libraries, assemblers and linkers. The presentation will also make fun of bad practices and quick hacks that project porters sometimes use to “make-it-compile”.