
Definition of embedded system, purpose of using embedded systems, difference between safety critical and non-safety critical applications.
Why do we customize hardware and software? What are the responsibilities of embedded system developers? Hardware and software components in a basic embedded system.
Scheduling, memory management, logging, C library, kernel in Android compared with Linux. Introduction to Low Memory Killer, Binder, Hardware Abstraction Layer.
How applications, services, libraries work together and talk with the device drivers in Linux kernel? Linux software stack introduction and examples. System call functions. Interprocess communication.
Android operating system software stack, Android API, Android Framework, Android System Services, Android Runtime. Example software stack. Case Study: Application requesting system to suspend. SELinux introduction. Examples for each software stack layers in Android.
Linux and Android boot introduced with drawings and examples. Purposes of bootloader, Linux kernel, Linux userspace are explained. Android boot explained (Android Runtime, Zygote, system_server)
Downloading Android source using repo tool. Configuring build using lunch command. Building Android source. Build variants (userdebug, user, eng) explained.
Downloading Android 11 source for ASUS Tinkerboard 2 using repo tool
Downloading Android 11 source for ASUS Tinkerboard 2. Information on how to build Linux kernel, Android images, bootloader, and how to generate SD card image to use for ASUS Tinkerboard2.
Flashing image to ASUS Tinkerboard 2 using balenaEtcher tool
Directories that contain Android (AOSP) source code are explained with examples.
userdata, odm, product, vendor, system_ext, system partitions explained. Which stakeholders will use which partitions? Is there possibility to have access in between different partitions? These questions are explained.
Introduction to ASUS Tinkerboard 2 Hardware. Interfacing using Serial Interface using minicom tool. Getting access to terminal.
Getting access to the Android device using Android Debugging Bridge (ADB) over USB connection. Flashing seperate images and getting information using fastboot command.
Enabling fastboot mode in the device. Using fastboot tool to flash images to the system.
Accessing and visualizing graphical desktop interface using AdbRemoteScreen tool.
Exploring ASUS Tinkerboard 2 source and finding board, build, and device configuration files
Exploring ASUS Tinkerboard 2 source and finding init scripts (RC files)
Exploring ASUS Tinkerboard 2 source and finding devicetree and kernel config files
Exploring ASUS Tinkerboard 2 source and finding Android Framework customization files
What is required for native service creation in Android? What will we be doing in the next few lectures? How does the files and directories we will modify look like?
In this lecture, we will have a look at what's wrong in our logcat logs and we will try to fix logcat problems.
Google tests, CDD requirements, Compatibility Test Suite (CTS), Vendor Test Suite (VTS), Security Test Suite (STS), Compatibility Test Suide Verifier (CTS Verifier). How to make sure that our device is officially Android-compatible?Running CTS tests, debugging issues in CTS tests.
Explained commands for listing packages, users, features, broadcasts. How to pull or push data from/to device? How do debug crashed applications? How to filter logcat output?
Hi,
My name is Mustafa Ozcelikors, a Linux & Android Engineer with more than +7 years of experience working in automotive, who have won Google SOC event in 2017. Here comes a unique beginner to intermediate course that is dedicated to teach Android Open Source Project and Embedded Android concepts to a larger audience.
Visual Embedded Android Training is a unique course in the way that I use slideshows, pen and canvas for theoretical subjects, whereas makes hands-on examples for the practical subjects. I have mastered this technique over the years, teaching my colleagues at work, teaching on Youtube, and now I have decided to move on to Udemy to reach larger audience.
Theoretical subjects are carefully planned and almost for every important subject, multiple block diagrams have been created for better understanding. Almost every figure, schematic, drawing comes from years of experience in the field, not from the internet or from any book. In practical subjects we take a deep dive in exploring AOSP directories and open up a terminal to achieve things within it.
At the end of the course we together will have a custom Android with custom launcher and custom theme, with integrated AIDL service and test application.
You are in this now for the following great content:
Understand embedded Android and Linux software stacks
Get around with Android 11 source code and Soong (Android.bp) build system
Use ASUS Tinkerboard 2 and run Android 11 on it , completely from the source.
Create AIDL interfaces, native C++ Android services, create test applications
Port existing Android Java applications to Soong (Android.bp build system
Understand AOSP folder layout, partitions
Understand and work with SELinux policies
Flash images confidently using fastboot tool
Talk to embedded device confidently using adb tool
Run CTS tests
Log and dump Android system information
Thank you!!
Kindly yours,
Mustafa