Veda Solutions Providing Training for Embedded Linux Platform Developer. Here are the Introductions and course details. http://techveda.org/embedded-linux-platform-developer/
The default applications on an embedded Linux system include many common command line utilities from BusyBox, such as cat, cp, grep, ls, mkdir, more, mv, ping, ps, rm, top, and vi. BusyBox provides minimal versions of many common UNIX commands in a single executable to reduce the size of the system. Other default applications may include services like bootchartd, crond, and syslogd.
Embedded Systems are basically Single Board Computers (SBCs) with limited and specific functional capabilities. All the components that make up a computer like the Microprocessor, Memory Unit, I/O Unit etc. are hosted on a single board. Their functionality is subject to constraints, and is embedded as a part of the complete device including the hardware, in contrast to the Desktop and Laptop computers which are essentially general purpose (Read more about what is embedded system). The software part of embedded systems used to be vendor specific instruction sets built in as firmware. However, drastic changes have been brought about in the last decade driven by the spurt in technology, and thankfully, the Moore’s Law. New, smaller, smarter, elegant but more powerful and resource hungry devices like Smart-phones, PDAs and cell-phones have forced the vendors to make a decision between hosting System Firmware or full-featured Operating Systems embedded with devices. The choice is often crucial and is decided by parameters like scope, future expansion plans, molecularity, scalability, cost etc. Most of these features being inbuilt into Operating Systems, hosting operating systems more than compensates the slightly higher cost overhead associated with them. Among various Embedded System Operating Systems like VxWorks, pSOS, QNX, Integrity, VRTX, Symbian OS, Windows CE and many other commercial and open-source varieties, Linux has exploded into the computing scene. Owing to its popularity and open source nature, Linux is evolving as an architecturally neutral OS, with reliable support for popular standards and features
This document discusses porting Android to new hardware. It covers components that need to be ported like the bootloader, Linux kernel, and hardware libraries. It also discusses getting the Android Open Source Project code, developing device drivers, customizing the user-space, and building the Android system. The goal is to provide guidance on porting each part of the Android software stack to new CPU architectures and hardware boards.
In order to understand HAL layers of Android Framework, having Linux device driver knowledge is important. Hence Day-2 of the workshop focuses on the same.
This document discusses using the Eclipse IDE Yocto plugin for embedded Linux application development. It provides an overview of Yocto and the Application Development Toolkit (ADT). It then covers installing the Eclipse plugin, configuring a Yocto build, and using the plugin to create and debug embedded Linux applications in QEMU with support for tools like perf and gdb. The plugin provides an integrated environment for developing, building, and testing applications on Yocto-based embedded Linux systems.
Stefano Cordibella - An introduction to Yocto Projectlinuxlab_conf
If you heard something about Yocto, bitbake, openembedded, layers, recipes and you want to know more about that, this talk is for you. In this presentation you will be introduced to the Yocto Project build system starting from the basic concepts of metadata up to the use of the build system “tasks” in order to create your own embedded linux distribution. I will start speaking about the pros and cons of the Yocto Project compared to the other embedded linux build systems. Then we go deep into the framework components: poky, openembedded core and bitbake. The practical use of the recipes, packagegroups, images and machines files will be explained by examples. Finally an example on how to integrate an extra layer will be showed demonstrating the ease of use and the modularity of the build system.
Yocto - Embedded Linux Distribution MakerSherif Mousa
Yocto is an Embedded Linux distribution maker.
This presentation is a quick start guide for Yocto buildsystem to get familiar with the tool and how to start building your own custom Linux system for a specific hardware target.
Android Things is the latest attempt from Google to connect the dots between the cloud and devices by introducing an OS that is exclusively built for IoT devices. Initially announced as project Brillo, Android Things helps developers to build devices faster and enable them integrate with cloud services. This presentation traces the architectural aspects of Android Things by connecting it back with Embedded Linux, Embedded Android and Brillo.
The U-Boot is an "Universal Bootloader" ("Das U-Boot") is a monitor program that is under GPL. This production quality boot-loader is used as default boot loader by several board vendors. It is easily portable and easy to port and to debug by supporting PPC, ARM, MIPS, x86,m68k, NIOS, Microblaze architectures. Here is a presentation that introduces U-Boot.
Yocto project has been used at Open-RnD for building a number of IoT related products. The talk will go though the details of integration of Poky build system and OpenEmbedded layers into 3 projects carried out at Open-RnD:
an antonomous parking space monitoring system
a distributed 3D steroscopic image acquisition system
a gadget for acquisition of metabolic parameters of professional athletes
The presentation will approach to building software, automation and upstreaming of fixes.
Open-RnD is a small software company from Łódź, Poland. We have started using Yocto/Poky in late 2013 as a better alternative to in-house build system. Since then, we have successfully implemented a number of projects based on Poky. The presentation will go through the details of 3 projects that cover a diverse range of applications:
an autonomous parking space monitoring system (ParkEasily)
a distributed 3D stereoscopic image acquisition system (Ros3D)
a gadget for acquisition of metabolic parameters of professional athletes (Sonda)
We only use widely available hardware platforms such as BeagleBone Black, Raspberry Pi, Wandboard or Gateworks GW5400 (not as widely used as the previous ones, but still fully supported), hence all the points made during presentation are directly applicable by professionals and hobbyists alike.
Build your own embedded linux distributions by yocto projectYen-Chin Lee
The document discusses the Yocto Project, an open-source collaboration project that provides templates, tools, and methods for creating custom Linux-based systems for embedded products. It provides an overview of the key components of Yocto including Poky, BitBake, and metadata. It also summarizes how to get started with Yocto including downloading Poky, setting up the build environment, and building a minimal image that can be run in QEMU for testing purposes.
BUD17-310: Introducing LLDB for linux on Arm and AArch64 Linaro
"Session ID: BUD17-310
Session Name: Introducing LLDB for linux on Arm and AArch64 - BUD17-310
Speaker: Omair Javaid
Track: Toolchain
★ Session Summary ★
This session provides an introduction of LLDB - Debugger from LLVM project and its status on Arm and AArch64 Linux. A brief overview of various components in LLDB will be presented with a focus on LLDB commandline and how LLDB can provide debugging experience similar or different from GDB.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-310/
Presentation: https://www.slideshare.net/linaroorg/bud17310-introducing-lldb-for-linux-on-arm-and-aarch64
Video: https://youtu.be/6q1KfQPX4zs
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: toolchain, AArch64, LLDB, ARM
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
Often called as the Swiss Army Knife of Embedded Linux, BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. It is written with size-optimization
and limited resources in mind. Here is a presentation that details about BusyBox.
Embedded systems is a special purpose device that does a particular functionality in a most optimized way. Designed as a combination of custom HW & SW, programming Embedded systems require some special considerations to be taken care. Here is a presentation that gives introduction to embedded systems.
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Joblinuxlab_conf
This document discusses the differences between Buildroot and Yocto/Bitbake for embedded Linux development. It begins by explaining that Buildroot and Yocto both use a dependency graph and actions to build each node, but are based on different underlying tools - Buildroot uses Kconfig and Make while Yocto uses Kconfig, Bitbake, and other OpenEmbedded tools. It also notes that Buildroot focuses on generating a root filesystem while Yocto focuses on generating packages and entire Linux distributions.
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
"Session ID: BUD17-104
Session Name: Scripting Languages in IoT: Challenges and Approaches - BUD17-104
Speaker: Paul Sokolovsky,
Track: LITE
★ Session Summary ★
Scripting languages is hot emerging topic in IoT. They allow easy learnability and rapid prototyping and further benefits (like production use) as they evolve. This session compares approaches of MicroPython and JerryScript/Zephyr.js projects and gives status update on their Zephyr RTOS ports.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-104/
Presentation: https://www.slideshare.net/linaroorg/bud17104-scripting-languages-in-iot-challenges-and-approaches
Video: https://youtu.be/lIO8QL2SRuU
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: IoT, scripting languages, Zephyr, LITE, Paul Sokolovsky,
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
There is a surge in number of sensors / devices that are getting connected under the umbrella of Internet-Of-Things (IoT). These devices need to be integrated into the Android system and accessed via applications, which is covered in the course. Our Android system development course curriculum over weekends with practicals ensures you learn all critical components to get started.
The document discusses porting Linux to a new architecture called MPPA-256. It involves porting build tools, the Linux kernel, libraries and user space components to support the new instruction set, memory map, and other differences of the MPPA-256 processor. This includes writing assembly code, configuring drivers, writing new drivers to support the hardware, and testing the port at each stage of development. The porting process is divided into stages, with an emphasis on early testing using emulation and existing test suites when possible. Lessons learned include using generic code where possible, advanced debugging techniques, and following the coding style of existing architectures.
The document provides an overview of the Raspberry Pi, a series of small, single-board computers. It describes the various models of Raspberry Pi including the Model A/B, Model A+/B+, Model 2, Model 3, and Model Zero. The models differ in specifications like RAM, number of USB ports, CPU, and wireless capabilities. The latest Model 3 has a 64-bit processor, built-in wireless, and Bluetooth support. The smallest Model Zero is best for experienced users looking to add Pi-powered intelligence to embedded projects where size, cost and power are factors.
Porting Linux involves bringing up a new hardware platform or architecture to run the Linux kernel. It requires understanding the hardware, bootloader, and kernel initialization process. The key steps are: 1) Testing the hardware and bootloader; 2) Implementing bootloader support; 3) Initializing the kernel by setting up architecture-specific and platform code; and 4) Debugging issues. Successful ports work closely with the Linux community by following best practices and design principles.
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLinaro
LAS16-400K2: TianoCore – Open Source UEFI Community Update
Speakers: Brian Richardson
Date: September 29, 2016
★ Session Description ★
Title: TianoCore – Open Source UEFI Community Update
The TianoCore project hosts EDK II, an open source implementation of the Unified Extensible Firmware Interface (UEFI). EDK II has become the defacto UEFI implementation for ARM and Intel platforms, expanding standards based firmware across multiple architectures. This keynote will provide an update on the current status of the TianoCore project, plans for future improvements, and a discussion of why firmware is critical in today’s digital ecosystem.
Bio
Brian Richardson is an Intel technical evangelist who has spent most of his career as a “BIOS guy” working on the firmware that quietly boots billions of computers. Brian has focused on the industry transition to the Unified Extensible Firmware Interface (UEFI), demystifying how firmware works and simplifying firmware development tools. Brian has presented at LinuxCon, UEFI Plugfests, and Intel Developer Forum. He is a blogger for the Intel Software Evangelists project, former writer forlinux.com, and (apropos of nothing) executive producer for DragonConTV.
★ Resources ★
Watch the video: https://www.youtube.com/watch?v=kQ5X8vqdSu0
Etherpad: pad.linaro.org/p/las16-400k2
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-400k2/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
The document provides an introduction to the Yocto Project, including what it is, its main components, and workflow. It describes the Yocto Project as being comprised of Poky (the build system), tools, and upstreams. Poky contains BitBake (the build engine) and metadata (task configurations and definitions). It outlines the main components, including sub-projects, and compares the Yocto Project to OpenEmbedded. Finally, it summarizes the Yocto Project workflow, which involves configuring the build using recipes and layers then building packages, images, and cross-development toolchains.
For new age touch-based embedded devices, Android is becoming a popular OS going beyond mobile phones. With its roots from Embedded Linux, Android framework offers benefits in terms of rich libraries, open-source and multi-device support. Emertxe’s hands-on Embedded Android Training Course is designed to customize, build and deploy custom Embedded OS on ARM target. Rich set of projects will make your learning complete.
LAS16-109: LAS16-109: The status quo and the future of 96BoardsLinaro
LAS16-109: The status quo and the future of 96Boards
Speakers: Yang Zhang
Date: September 26, 2016
★ Session Description ★
Community development, Compliance (for members and partners), Reference platform software, product development platform.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-109
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-109/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
The document discusses goals around consolidating Android support across different hardware platforms. It aims to develop kernel support once across distros like Android, ChromeOS, and Linux, make kernels work out of the box, eliminate custom HALs, and make adding devices and updating Android easier. This benefits LITE by addressing fragmented IoT userspace and reusing what Android consolidation is working to solve. Common areas of interest include WiFi/BT, sensors, camera, and low-level interfaces. Solutions proposed include mainlining drivers, libraries like libiio for sensors, extending V4L2 for camera, and new GPIO and DT bindings.
U-Boot is an open source boot loader that initializes hardware and loads operating systems. It supports many CPUs and boards. The boot process involves a pre-relocation phase where U-Boot initializes hardware and copies itself to RAM, and a post-relocation phase where it finishes hardware initialization and loads the kernel or operating system. Debugging can be done before and after relocation by setting breakpoints and examining memory.
Android Things is the latest attempt from Google to connect the dots between the cloud and devices by introducing an OS that is exclusively built for IoT devices. Initially announced as project Brillo, Android Things helps developers to build devices faster and enable them integrate with cloud services. This presentation traces the architectural aspects of Android Things by connecting it back with Embedded Linux, Embedded Android and Brillo.
The U-Boot is an "Universal Bootloader" ("Das U-Boot") is a monitor program that is under GPL. This production quality boot-loader is used as default boot loader by several board vendors. It is easily portable and easy to port and to debug by supporting PPC, ARM, MIPS, x86,m68k, NIOS, Microblaze architectures. Here is a presentation that introduces U-Boot.
Yocto project has been used at Open-RnD for building a number of IoT related products. The talk will go though the details of integration of Poky build system and OpenEmbedded layers into 3 projects carried out at Open-RnD:
an antonomous parking space monitoring system
a distributed 3D steroscopic image acquisition system
a gadget for acquisition of metabolic parameters of professional athletes
The presentation will approach to building software, automation and upstreaming of fixes.
Open-RnD is a small software company from Łódź, Poland. We have started using Yocto/Poky in late 2013 as a better alternative to in-house build system. Since then, we have successfully implemented a number of projects based on Poky. The presentation will go through the details of 3 projects that cover a diverse range of applications:
an autonomous parking space monitoring system (ParkEasily)
a distributed 3D stereoscopic image acquisition system (Ros3D)
a gadget for acquisition of metabolic parameters of professional athletes (Sonda)
We only use widely available hardware platforms such as BeagleBone Black, Raspberry Pi, Wandboard or Gateworks GW5400 (not as widely used as the previous ones, but still fully supported), hence all the points made during presentation are directly applicable by professionals and hobbyists alike.
Build your own embedded linux distributions by yocto projectYen-Chin Lee
The document discusses the Yocto Project, an open-source collaboration project that provides templates, tools, and methods for creating custom Linux-based systems for embedded products. It provides an overview of the key components of Yocto including Poky, BitBake, and metadata. It also summarizes how to get started with Yocto including downloading Poky, setting up the build environment, and building a minimal image that can be run in QEMU for testing purposes.
BUD17-310: Introducing LLDB for linux on Arm and AArch64 Linaro
"Session ID: BUD17-310
Session Name: Introducing LLDB for linux on Arm and AArch64 - BUD17-310
Speaker: Omair Javaid
Track: Toolchain
★ Session Summary ★
This session provides an introduction of LLDB - Debugger from LLVM project and its status on Arm and AArch64 Linux. A brief overview of various components in LLDB will be presented with a focus on LLDB commandline and how LLDB can provide debugging experience similar or different from GDB.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-310/
Presentation: https://www.slideshare.net/linaroorg/bud17310-introducing-lldb-for-linux-on-arm-and-aarch64
Video: https://youtu.be/6q1KfQPX4zs
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: toolchain, AArch64, LLDB, ARM
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
Often called as the Swiss Army Knife of Embedded Linux, BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. It is written with size-optimization
and limited resources in mind. Here is a presentation that details about BusyBox.
Embedded systems is a special purpose device that does a particular functionality in a most optimized way. Designed as a combination of custom HW & SW, programming Embedded systems require some special considerations to be taken care. Here is a presentation that gives introduction to embedded systems.
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Joblinuxlab_conf
This document discusses the differences between Buildroot and Yocto/Bitbake for embedded Linux development. It begins by explaining that Buildroot and Yocto both use a dependency graph and actions to build each node, but are based on different underlying tools - Buildroot uses Kconfig and Make while Yocto uses Kconfig, Bitbake, and other OpenEmbedded tools. It also notes that Buildroot focuses on generating a root filesystem while Yocto focuses on generating packages and entire Linux distributions.
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
"Session ID: BUD17-104
Session Name: Scripting Languages in IoT: Challenges and Approaches - BUD17-104
Speaker: Paul Sokolovsky,
Track: LITE
★ Session Summary ★
Scripting languages is hot emerging topic in IoT. They allow easy learnability and rapid prototyping and further benefits (like production use) as they evolve. This session compares approaches of MicroPython and JerryScript/Zephyr.js projects and gives status update on their Zephyr RTOS ports.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-104/
Presentation: https://www.slideshare.net/linaroorg/bud17104-scripting-languages-in-iot-challenges-and-approaches
Video: https://youtu.be/lIO8QL2SRuU
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: IoT, scripting languages, Zephyr, LITE, Paul Sokolovsky,
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
There is a surge in number of sensors / devices that are getting connected under the umbrella of Internet-Of-Things (IoT). These devices need to be integrated into the Android system and accessed via applications, which is covered in the course. Our Android system development course curriculum over weekends with practicals ensures you learn all critical components to get started.
The document discusses porting Linux to a new architecture called MPPA-256. It involves porting build tools, the Linux kernel, libraries and user space components to support the new instruction set, memory map, and other differences of the MPPA-256 processor. This includes writing assembly code, configuring drivers, writing new drivers to support the hardware, and testing the port at each stage of development. The porting process is divided into stages, with an emphasis on early testing using emulation and existing test suites when possible. Lessons learned include using generic code where possible, advanced debugging techniques, and following the coding style of existing architectures.
The document provides an overview of the Raspberry Pi, a series of small, single-board computers. It describes the various models of Raspberry Pi including the Model A/B, Model A+/B+, Model 2, Model 3, and Model Zero. The models differ in specifications like RAM, number of USB ports, CPU, and wireless capabilities. The latest Model 3 has a 64-bit processor, built-in wireless, and Bluetooth support. The smallest Model Zero is best for experienced users looking to add Pi-powered intelligence to embedded projects where size, cost and power are factors.
Porting Linux involves bringing up a new hardware platform or architecture to run the Linux kernel. It requires understanding the hardware, bootloader, and kernel initialization process. The key steps are: 1) Testing the hardware and bootloader; 2) Implementing bootloader support; 3) Initializing the kernel by setting up architecture-specific and platform code; and 4) Debugging issues. Successful ports work closely with the Linux community by following best practices and design principles.
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLinaro
LAS16-400K2: TianoCore – Open Source UEFI Community Update
Speakers: Brian Richardson
Date: September 29, 2016
★ Session Description ★
Title: TianoCore – Open Source UEFI Community Update
The TianoCore project hosts EDK II, an open source implementation of the Unified Extensible Firmware Interface (UEFI). EDK II has become the defacto UEFI implementation for ARM and Intel platforms, expanding standards based firmware across multiple architectures. This keynote will provide an update on the current status of the TianoCore project, plans for future improvements, and a discussion of why firmware is critical in today’s digital ecosystem.
Bio
Brian Richardson is an Intel technical evangelist who has spent most of his career as a “BIOS guy” working on the firmware that quietly boots billions of computers. Brian has focused on the industry transition to the Unified Extensible Firmware Interface (UEFI), demystifying how firmware works and simplifying firmware development tools. Brian has presented at LinuxCon, UEFI Plugfests, and Intel Developer Forum. He is a blogger for the Intel Software Evangelists project, former writer forlinux.com, and (apropos of nothing) executive producer for DragonConTV.
★ Resources ★
Watch the video: https://www.youtube.com/watch?v=kQ5X8vqdSu0
Etherpad: pad.linaro.org/p/las16-400k2
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-400k2/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
The document provides an introduction to the Yocto Project, including what it is, its main components, and workflow. It describes the Yocto Project as being comprised of Poky (the build system), tools, and upstreams. Poky contains BitBake (the build engine) and metadata (task configurations and definitions). It outlines the main components, including sub-projects, and compares the Yocto Project to OpenEmbedded. Finally, it summarizes the Yocto Project workflow, which involves configuring the build using recipes and layers then building packages, images, and cross-development toolchains.
For new age touch-based embedded devices, Android is becoming a popular OS going beyond mobile phones. With its roots from Embedded Linux, Android framework offers benefits in terms of rich libraries, open-source and multi-device support. Emertxe’s hands-on Embedded Android Training Course is designed to customize, build and deploy custom Embedded OS on ARM target. Rich set of projects will make your learning complete.
LAS16-109: LAS16-109: The status quo and the future of 96BoardsLinaro
LAS16-109: The status quo and the future of 96Boards
Speakers: Yang Zhang
Date: September 26, 2016
★ Session Description ★
Community development, Compliance (for members and partners), Reference platform software, product development platform.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-109
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-109/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
The document discusses goals around consolidating Android support across different hardware platforms. It aims to develop kernel support once across distros like Android, ChromeOS, and Linux, make kernels work out of the box, eliminate custom HALs, and make adding devices and updating Android easier. This benefits LITE by addressing fragmented IoT userspace and reusing what Android consolidation is working to solve. Common areas of interest include WiFi/BT, sensors, camera, and low-level interfaces. Solutions proposed include mainlining drivers, libraries like libiio for sensors, extending V4L2 for camera, and new GPIO and DT bindings.
U-Boot is an open source boot loader that initializes hardware and loads operating systems. It supports many CPUs and boards. The boot process involves a pre-relocation phase where U-Boot initializes hardware and copies itself to RAM, and a post-relocation phase where it finishes hardware initialization and loads the kernel or operating system. Debugging can be done before and after relocation by setting breakpoints and examining memory.
U-boot provides a multistage boot process that initializes the CPU and board resources incrementally at each stage. It begins execution on the CPU in a limited environment and hands off to subsequent stages that gain access to more resources like memory and devices. U-boot supports booting an operating system image from storage like SSD or over the network and offers features like secure boot and hypervisor support.
Replication allows data from a MySQL master database to be synchronized with one or more slave databases. The master records all data changes in its binary log. Slave databases connect to the master and receive the binary log transactions, which they then apply locally to stay synchronized with the master database. Replication can be used for load balancing reads across multiple slave servers or for high availability by failing over to a slave if the master fails.
Computer hardware devices include webcams, scanners, mice, speakers, trackballs, and light pens. Webcams connect via USB or network and are used for video calls and conferencing. Scanners optically scan images and documents into digital formats. Mice are pointing devices that detect motion to move a cursor. Speakers have internal amplifiers and audio jacks. Trackballs contain ball and sensors to detect rotation for cursor movement. Light pens allow pointing directly on CRT displays.
Art is a creative expression that stimulates the senses or imagination according to Felicity Hampel. Picasso believed that every child is an artist but growing up can stop that creativity. Aristotle defined art as anything requiring a maker and not being able to create itself.
Presented at Tokyo iOS Meetup https://www.meetup.com/TokyoiOSMeetup/events/234405194/
Video here: https://www.youtube.com/watch?v=lJlyR8chDwo
Linux has emerged as a number one choice for developing OS based Embedded Systems. Open Source development model, Customizability, Portability, Tool chain availability are some reasons for this success. This course gives a practical perspective of customizing, building and bringing up Linux Kernel on an ARM based target hardware. It combines various previous modules you have learned, by combing Linux administration, Hardware knowledge, Linux as OS, C/Computer programming areas. After bringing up Linux, you can port any of the existing applications into the target hardware.
Porting Android to new hardware involves 10 main steps:
1) Porting components like the CPU, bootloader, kernel and hardware libraries.
2) Setting up a cross-development toolchain.
3) Porting the bootloader, kernel, and developing device drivers.
4) Getting the Android Open Source Project code and customizing aspects of the user-space.
5) Implementing Android hardware libraries for components like Bluetooth, WiFi, display and sensors.
The process requires adapting the bootloader, kernel, drivers and libraries to support the new hardware while maintaining Android compatibility.
Porting Android to new hardware involves 10 main steps:
1) Porting components like the CPU, bootloader, kernel and hardware libraries.
2) Setting up a cross-development toolchain.
3) Porting the bootloader, kernel, and developing device drivers.
4) Getting the Android Open Source Project code and customizing aspects of the user experience.
5) Implementing Android hardware libraries for components like Bluetooth, WiFi, display and sensors.
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...melbats
Buildroot is a tool designed by embedded Linux developers to build embedded Linux systems using cross-compilation. It allows to build a cross-compilation toolchain (or re-use an existing one), a root filesystem image with applications and libraries, a kernel image and a bootloader image or any combination of these. Buildroot is typically used to create the embedded Linux systems of industrial systems based on the ARM, PowerPC or x86 architectures, by integrating multiple existing open-source components (kernel, base components, graphical libraries, networking applications, etc.) and in-house components specific to the embedded system.
Many of the early embedded Linux developers are used to work with text editors such as Emacs or Vi. However, in the recent years, the major expansion of the embedded Linux platform has attracted many more developers that are more familiar with feature-full, integrated, and user-friendly development environments. To fulfill this need, Eclipse provides an excellent platform, especially with extensions such as CDT, the Autotools plugin, the multiple plugins from the Linux tools project, the Target Communication Framework, and more.
As many embedded Linux developers use Buildroot to build their system, it sounded natural to provide an easy-to-use integration with Eclipse. To achieve that, we:
Developed an Eclipse plugin that automatically registers the available Buildroot toolchains into Eclipse CDT. This allows application developers to transparently build their application, and then execute it and debug it on the embedded target platform directly within Eclipse.
Created a specialized Eclipse version bundling all the useful existing plug-ins for embedded Linux developers: Eclipse CDT, our specialized Buildroot plugin, the Autotools plugin, Linux Tools plugins, etc.
Through this talk, we would like to demonstrate how Eclipse has been extended to match the needs of embedded Linux developers, and we will perform a live demonstration of these capabilities using an ARM development platform for which Eclipse will help build, execute and debug applications.
An unique module combining various previous modules you have learnt by combing Linux administration, Hardware knowledge, Linux as OS, C/Computer programming areas. This is a complete module on Embedded OS, as of now no books are written on this with such practical aspects. Here is a consolidated material to get real hands-on perspective about building custom Embedded Linux distribution in ARM.
The document provides an overview of the structure and content of an embedded Linux training course. It discusses the following:
1. The course will cover embedded Linux system architecture, building an embedded Linux system with minimal dependencies, hands-on experience developing embedded Linux systems, and taking advantage of open source development models.
2. The course consists of lectures and exercises and covers topics like booting custom kernels, flash and root filesystems, debugging, real-time, and networking.
3. Recommended hardware for exercises includes Motorola and TQ Components boards with PowerPC processors, RAM, flash storage, and I/O capabilities.
The document discusses the key elements needed for an embedded Linux system: the toolchain, bootloader, kernel, and userspace. It covers selecting an appropriate toolchain, including the compiler, debugger and C library. It also describes bootloaders, their role in initializing hardware and loading the kernel, and examples like U-Boot. The bootloader passes information about the hardware configuration to the kernel.
Have a quick overview of most of the embedded linux components and their details. How ti build Embedded Linux Hardware & Software, and developing Embedded Products
I did an overview of Embedded Linux topics (arch, SoCs, SBCs, kernel dev community, real-time, device tree, building root filesystem, etc) in 2014 for the Embedded Systems meetup at my hackerspace: http://www.meetup.com/NERP-Not-Exclusively-Raspberry-Pi/events/183068212/
This document provides an overview of the Android system architecture. It describes the key components including the Linux kernel, native libraries like Bionic and SQLite, the Android runtime using the Dalvik VM, and the application framework. It also covers core platform services, hardware services, and internal system components for connectivity, power management, display/multimedia, and telephony. The document outlines how these layers interact and provides technical details on implementations like Binder IPC and the SurfaceFlinger compositor.
This document describes a hardware detection tool called HDT that is implemented as part of the Syslinux project. HDT collects detailed hardware configuration information from systems in a user-friendly way. It works at a low level to gather information like CPU, memory, storage, and network details. The tool outputs this data in JSON format for easy sharing and automated reporting. A live demo of HDT is then shown to illustrate its features.
The document discusses porting the Linux kernel to run on the Encore Simputer, an ARM-based handheld device. It describes building the kernel from source, adding support for the Simputer's hardware including memory, display and peripherals. Finally, it mentions porting the 2.6 test kernel to the Simputer and thanks the audience.
This document provides an overview of Android internals through a series of topics:
1. It describes key Android concepts like components, intents, and the manifest file.
2. It outlines the overall Android architecture including system startup processes like the bootloader, kernel, init, zygote and system server.
3. It covers various aspects of the Android system like the Linux kernel customizations, native user-space environment, Dalvik VM, and Java Native Interface.
4. It also profiles important system-level components like the system server, activity manager, and Binder IPC mechanism.
Srikanth Pilli has over 6 years of experience in embedded software development. He has expertise in C/C++, Python, Linux kernel driver development, video streaming, and networking. He has worked on projects involving home automation, surveillance systems, and embedded device development. His skills include embedded Linux systems, microcontroller programming, real-time protocols, and tools like Git. He holds an M.Tech in embedded systems and postgraduate diplomas in embedded systems and electronics.
Why the yocto project for my io t project elc_edinburgh_2018Mender.io
This document summarizes a presentation about using the Yocto Project for IoT projects. It discusses the challenges of embedded Linux development and introduces the Yocto Project as a build system that can address these challenges. It provides an overview of the Yocto Project workflow and features like its layer-based structure and SDK support. Finally, it outlines benefits of using the Yocto Project for IoT projects, including support for common IoT protocols and the ability to customize software for specific hardware.
This document provides an overview of using the TMS320DM8148 embedded processor with Linux. It discusses the hardware architecture supported by Linux, the embedded development board setup, toolchain and compiler installation, bootloaders, the Linux kernel, device drivers, file systems and more. The goal is to enable development of embedded Linux applications for the TMS320DM8148 chip using common open source tools.
fennec fox optimization algorithm for optimal solutionshallal2
Imagine you have a group of fennec foxes searching for the best spot to find food (the optimal solution to a problem). Each fox represents a possible solution and carries a unique "strategy" (set of parameters) to find food. These strategies are organized in a table (matrix X), where each row is a fox, and each column is a parameter they adjust, like digging depth or speed.
Transcript: Canadian book publishing: Insights from the latest salary survey ...BookNet Canada
Join us for a presentation in partnership with the Association of Canadian Publishers (ACP) as they share results from the recently conducted Canadian Book Publishing Industry Salary Survey. This comprehensive survey provides key insights into average salaries across departments, roles, and demographic metrics. Members of ACP’s Diversity and Inclusion Committee will join us to unpack what the findings mean in the context of justice, equity, diversity, and inclusion in the industry.
Results of the 2024 Canadian Book Publishing Industry Salary Survey: https://publishers.ca/wp-content/uploads/2025/04/ACP_Salary_Survey_FINAL-2.pdf
Link to presentation slides and transcript: https://bnctechforum.ca/sessions/canadian-book-publishing-insights-from-the-latest-salary-survey/
Presented by BookNet Canada and the Association of Canadian Publishers on May 1, 2025 with support from the Department of Canadian Heritage.
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Cyntexa
At Dreamforce this year, Agentforce stole the spotlight—over 10,000 AI agents were spun up in just three days. But what exactly is Agentforce, and how can your business harness its power? In this on‑demand webinar, Shrey and Vishwajeet Srivastava pull back the curtain on Salesforce’s newest AI agent platform, showing you step‑by‑step how to design, deploy, and manage intelligent agents that automate complex workflows across sales, service, HR, and more.
Gone are the days of one‑size‑fits‑all chatbots. Agentforce gives you a no‑code Agent Builder, a robust Atlas reasoning engine, and an enterprise‑grade trust layer—so you can create AI assistants customized to your unique processes in minutes, not months. Whether you need an agent to triage support tickets, generate quotes, or orchestrate multi‑step approvals, this session arms you with the best practices and insider tips to get started fast.
What You’ll Learn
Agentforce Fundamentals
Agent Builder: Drag‑and‑drop canvas for designing agent conversations and actions.
Atlas Reasoning: How the AI brain ingests data, makes decisions, and calls external systems.
Trust Layer: Security, compliance, and audit trails built into every agent.
Agentforce vs. Copilot
Understand the differences: Copilot as an assistant embedded in apps; Agentforce as fully autonomous, customizable agents.
When to choose Agentforce for end‑to‑end process automation.
Industry Use Cases
Sales Ops: Auto‑generate proposals, update CRM records, and notify reps in real time.
Customer Service: Intelligent ticket routing, SLA monitoring, and automated resolution suggestions.
HR & IT: Employee onboarding bots, policy lookup agents, and automated ticket escalations.
Key Features & Capabilities
Pre‑built templates vs. custom agent workflows
Multi‑modal inputs: text, voice, and structured forms
Analytics dashboard for monitoring agent performance and ROI
Myth‑Busting
“AI agents require coding expertise”—debunked with live no‑code demos.
“Security risks are too high”—see how the Trust Layer enforces data governance.
Live Demo
Watch Shrey and Vishwajeet build an Agentforce bot that handles low‑stock alerts: it monitors inventory, creates purchase orders, and notifies procurement—all inside Salesforce.
Peek at upcoming Agentforce features and roadmap highlights.
Missed the live event? Stream the recording now or download the deck to access hands‑on tutorials, configuration checklists, and deployment templates.
🔗 Watch & Download: https://www.youtube.com/live/0HiEmUKT0wY
Slack like a pro: strategies for 10x engineering teamsNacho Cougil
You know Slack, right? It's that tool that some of us have known for the amount of "noise" it generates per second (and that many of us mute as soon as we install it 😅).
But, do you really know it? Do you know how to use it to get the most out of it? Are you sure 🤔? Are you tired of the amount of messages you have to reply to? Are you worried about the hundred conversations you have open? Or are you unaware of changes in projects relevant to your team? Would you like to automate tasks but don't know how to do so?
In this session, I'll try to share how using Slack can help you to be more productive, not only for you but for your colleagues and how that can help you to be much more efficient... and live more relaxed 😉.
If you thought that our work was based (only) on writing code, ... I'm sorry to tell you, but the truth is that it's not 😅. What's more, in the fast-paced world we live in, where so many things change at an accelerated speed, communication is key, and if you use Slack, you should learn to make the most of it.
---
Presentation shared at JCON Europe '25
Feedback form:
http://tiny.cc/slack-like-a-pro-feedback
Zilliz Cloud Monthly Technical Review: May 2025Zilliz
About this webinar
Join our monthly demo for a technical overview of Zilliz Cloud, a highly scalable and performant vector database service for AI applications
Topics covered
- Zilliz Cloud's scalable architecture
- Key features of the developer-friendly UI
- Security best practices and data privacy
- Highlights from recent product releases
This webinar is an excellent opportunity for developers to learn about Zilliz Cloud's capabilities and how it can support their AI projects. Register now to join our community and stay up-to-date with the latest vector database technology.
Build with AI events are communityled, handson activities hosted by Google Developer Groups and Google Developer Groups on Campus across the world from February 1 to July 31 2025. These events aim to help developers acquire and apply Generative AI skills to build and integrate applications using the latest Google AI technologies, including AI Studio, the Gemini and Gemma family of models, and Vertex AI. This particular event series includes Thematic Hands on Workshop: Guided learning on specific AI tools or topics as well as a prequel to the Hackathon to foster innovation using Google AI tools.
In an era where ships are floating data centers and cybercriminals sail the digital seas, the maritime industry faces unprecedented cyber risks. This presentation, delivered by Mike Mingos during the launch ceremony of Optima Cyber, brings clarity to the evolving threat landscape in shipping — and presents a simple, powerful message: cybersecurity is not optional, it’s strategic.
Optima Cyber is a joint venture between:
• Optima Shipping Services, led by shipowner Dimitris Koukas,
• The Crime Lab, founded by former cybercrime head Manolis Sfakianakis,
• Panagiotis Pierros, security consultant and expert,
• and Tictac Cyber Security, led by Mike Mingos, providing the technical backbone and operational execution.
The event was honored by the presence of Greece’s Minister of Development, Mr. Takis Theodorikakos, signaling the importance of cybersecurity in national maritime competitiveness.
🎯 Key topics covered in the talk:
• Why cyberattacks are now the #1 non-physical threat to maritime operations
• How ransomware and downtime are costing the shipping industry millions
• The 3 essential pillars of maritime protection: Backup, Monitoring (EDR), and Compliance
• The role of managed services in ensuring 24/7 vigilance and recovery
• A real-world promise: “With us, the worst that can happen… is a one-hour delay”
Using a storytelling style inspired by Steve Jobs, the presentation avoids technical jargon and instead focuses on risk, continuity, and the peace of mind every shipping company deserves.
🌊 Whether you’re a shipowner, CIO, fleet operator, or maritime stakeholder, this talk will leave you with:
• A clear understanding of the stakes
• A simple roadmap to protect your fleet
• And a partner who understands your business
📌 Visit:
https://optima-cyber.com
https://tictac.gr
https://mikemingos.gr
The FS Technology Summit
Technology increasingly permeates every facet of the financial services sector, from personal banking to institutional investment to payments.
The conference will explore the transformative impact of technology on the modern FS enterprise, examining how it can be applied to drive practical business improvement and frontline customer impact.
The programme will contextualise the most prominent trends that are shaping the industry, from technical advancements in Cloud, AI, Blockchain and Payments, to the regulatory impact of Consumer Duty, SDR, DORA & NIS2.
The Summit will bring together senior leaders from across the sector, and is geared for shared learning, collaboration and high-level networking. The FS Technology Summit will be held as a sister event to our 12th annual Fintech Summit.
UiPath Agentic Automation: Community Developer OpportunitiesDianaGray10
Please join our UiPath Agentic: Community Developer session where we will review some of the opportunities that will be available this year for developers wanting to learn more about Agentic Automation.
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Safe Software
FME is renowned for its no-code data integration capabilities, but that doesn’t mean you have to abandon coding entirely. In fact, Python’s versatility can enhance FME workflows, enabling users to migrate data, automate tasks, and build custom solutions. Whether you’re looking to incorporate Python scripts or use ArcPy within FME, this webinar is for you!
Join us as we dive into the integration of Python with FME, exploring practical tips, demos, and the flexibility of Python across different FME versions. You’ll also learn how to manage SSL integration and tackle Python package installations using the command line.
During the hour, we’ll discuss:
-Top reasons for using Python within FME workflows
-Demos on integrating Python scripts and handling attributes
-Best practices for startup and shutdown scripts
-Using FME’s AI Assist to optimize your workflows
-Setting up FME Objects for external IDEs
Because when you need to code, the focus should be on results—not compatibility issues. Join us to master the art of combining Python and FME for powerful automation and data migration.
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Markus Eisele
We keep hearing that “integration” is old news, with modern architectures and platforms promising frictionless connectivity. So, is enterprise integration really dead? Not exactly! In this session, we’ll talk about how AI-infused applications and tool-calling agents are redefining the concept of integration, especially when combined with the power of Apache Camel.
We will discuss the the role of enterprise integration in an era where Large Language Models (LLMs) and agent-driven automation can interpret business needs, handle routing, and invoke Camel endpoints with minimal developer intervention. You will see how these AI-enabled systems help weave business data, applications, and services together giving us flexibility and freeing us from hardcoding boilerplate of integration flows.
You’ll walk away with:
An updated perspective on the future of “integration” in a world driven by AI, LLMs, and intelligent agents.
Real-world examples of how tool-calling functionality can transform Camel routes into dynamic, adaptive workflows.
Code examples how to merge AI capabilities with Apache Camel to deliver flexible, event-driven architectures at scale.
Roadmap strategies for integrating LLM-powered agents into your enterprise, orchestrating services that previously demanded complex, rigid solutions.
Join us to see why rumours of integration’s relevancy have been greatly exaggerated—and see first hand how Camel, powered by AI, is quietly reinventing how we connect the enterprise.
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Raffi Khatchadourian
Efficiency is essential to support responsiveness w.r.t. ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code that supports symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development tends to produce DL code that is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, less error-prone imperative DL frameworks encouraging eager execution have emerged at the expense of run-time performance. While hybrid approaches aim for the "best of both worlds," the challenges in applying them in the real world are largely unknown. We conduct a data-driven analysis of challenges---and resultant bugs---involved in writing reliable yet performant imperative DL code by studying 250 open-source projects, consisting of 19.7 MLOC, along with 470 and 446 manually examined code patches and bug reports, respectively. The results indicate that hybridization: (i) is prone to API misuse, (ii) can result in performance degradation---the opposite of its intention, and (iii) has limited application due to execution mode incompatibility. We put forth several recommendations, best practices, and anti-patterns for effectively hybridizing imperative DL code, potentially benefiting DL practitioners, API designers, tool developers, and educators.
Original presentation of Delhi Community Meetup with the following topics
▶️ Session 1: Introduction to UiPath Agents
- What are Agents in UiPath?
- Components of Agents
- Overview of the UiPath Agent Builder.
- Common use cases for Agentic automation.
▶️ Session 2: Building Your First UiPath Agent
- A quick walkthrough of Agent Builder, Agentic Orchestration, - - AI Trust Layer, Context Grounding
- Step-by-step demonstration of building your first Agent
▶️ Session 3: Healing Agents - Deep dive
- What are Healing Agents?
- How Healing Agents can improve automation stability by automatically detecting and fixing runtime issues
- How Healing Agents help reduce downtime, prevent failures, and ensure continuous execution of workflows
Introduction and course Details of Embedded Linux Platform Developer Training
1. Embedded Linux
Platform Developer
Course description
Advanced training program on Embedded Linux platform development with comprehensive
coverage on target board bring up, Embedded Linux porting, Linux kernel BSP and Embedded
Linux Device Driver Development
Course Highlights
Detailed analysis of modern embedded hardware architectures and board bring up
strategies
In depth understanding of open source boot loader “uboot”
Hands on sessions on uboot customization for new targets
Hands on sessions on Embedded Linux porting strategies
Analysis and detailed walkthrough of Embedded Linux board support code
In depth coverage on embedded Linux driver stacks and driver implementations (I2C,
SPI, GPIO)
Analysis and walkthrough of Embedded Linux video and audio driver stacks
Hands on sessions on multi-media application porting
Hands on sessions on various hardware targets including Mini 2440, Omap, Zed etc.
301, Prashanthiram Towers, Saradhi Studio Lane, Ameerpet, Hyderabad
Ph:040-66100265 Email: [email protected] www.techveda.org
2. Who should attend
Developers looking to master or expecting assignments/projects in the following core areas:
Embedded Linux Porting
Linux BSP development
Uboot Customization
Embedded Linux Driver Development
Android System Development
OR
GNU C programmers looking to master Embedded Linux, BSP and Embedded Device
Driver Development
Experienced developers looking for a refresher course on Linux BSP and Embedded
Device Driver Development.
Course Prerequisites
Good programming skills using GNU C
Application programming experience on Linux platform
Linux kernel programming basics
OR
Participants who have undergone “Linux Kernel and Driver Developer” course from
Veda Solutions
Detailed Course Contents
Part 1: Embedded Hardware
1. Understanding Embedded Systems
● Embedded systems landscape
● Attributes of Embedded Systems
● Trends in Embedded technology
● Embedded Platform Architecture
● Embedded Processor Architecture
● Microcontroller, microprocessors and
SOC
2. Understanding Embedded Boot sequence
● Boot technology considerations
● Role of Bootstrap Processor
● Boot components
● Hardware Power sequences
● RESET vectors
● CPU initialization
● Device Initialization
● Boot device selection
3. Understanding ARM Architecture
● Introduction to ARM architecture
● Processor modes
● ARM Registers
● ARM Endian Support
● ARM Instruction Set
● Addressing modes
● The System Control Processor
4. Embedded Target boards (ARM Soc based)
● Understanding Target board schematic
● Interpreting Target board
manuals/data sheets
● Identifying key components on Target
board
● Identifying various Device interfaces
● Understanding Memory maps
3. Part 2: Platform BSP
1. Embedded Board Support Packages
● Introduction to BSP
● BSP design considerations
● Various stages in Board Support Code
2. Working with components of BSP
● Introduction to BootROM
● BootROM design
● BootROM design considerations
● BootROM code
● BootROM executions trace
● Memory organization
● Introduction to FSBL
● FSBL functionalities
● FSBL design standards
● Getting hands on with FSBL (case
study)
● Build & Running FSBL
● FSBL Call Graph
● Introduction to SSBL
● Types of SSBL
● SSBL as primary bootloader
3. Uboot
● Introduction to Uboot
● Key Features
● Supported Platforms & Processors
● Supported Boot modes
4. Uboot source walk-through
● Uboot source tree layout
● Memory organization
● Memory relocation
● Stack setup
● Important Misc.
5. Uboot build and setup
● Build structure
● Building U-Boot for emulator
● Building U-Boot for physical target
● Creating flash partitions
● Environment variables
● Commands
● Uboot call graph
6. Customizing Uboot for new targets
● Uboot source tree in detail
● Porting/upgrading u-boot
● Coding guidelines
● Customizing configuration files
● Target specific modifications
● Customizing/adding drivers
● Customizing/adding new commands
● Uboot scripts
● Hosting Apps on Uboot
Part 3: Embedded Linux & Application Porting
1. Embedded Linux overview
● Linux as an Embedded Operating
system
● Linux and open source Ecosystem for
Embedded Devices
● Linux kernel facilities for Embedded
Devices
● Understanding Linux system Boot
Process
● Introduction to Linux system
components
2. Cross-compiler tool-chains
● Need for cross tool-chain
● Different tool-chains’ build procedures
● Using pre-build cross tool-chain
● Building cross tool-chain using cross
tool-NG
● Using Scratch box
4. 3. Building kernel Image
● Kernel Source tree organization
● Introduction to kernel Build system
● Understanding Kconfig and Make
scripts
● Kernel configuration for target
● Cross compiling kernel source
● Linker scripts
● Build analysis
● Kernel parameters
4. Upgrading/Porting kernel to specific target
● Prerequisites
● Generic procedure
● Kconfig language and Makefile
● Module by module porting
5. Linux File Systems for Embedded Storage
● Need for flash file systems
● Linux File system support for Flash
memory
● Understanding jffs2 file system
● Enabling kernel support for jffs2
● Understanding UBI file system
● Enabling kernel support for UBIFS
● Understanding Cramfs
● Enabling kernel support for Cramfs
● Understanding SquashFS
● Kernel support for SquashFS
● Understanding YAFFS2
● Kernel support for YAFFS2
6. Root File system
● Understanding Linux Init process
● Need of root file system
● Understanding Unix File system
hierarchy
● Choosing root file system layout
● Startup scripts
● Choosing system binaries and utilities
● Cross-compiling and hosting Apps
● Populating device nodes
● Need for log daemons
● Setting up log daemons
● Building fs image
7. Deploying & Testing Linux system on target
● Flashing U-boot to target
● Booting Linux kernel from DDR
● Flashing kernel image to target
● Deploying RFS through initrd(ramdisk)
● Deploying RFS through initramfs
● Deploying RFS through NFS
● Flashing root file system to target
● Kernel boot from NOR flash
● Kernel boot from NAND flashes
● Kernel boot from SD/MMC
● Kernel boot from Serial flashes
8. Network services and utilities
● nfs
● Telnet
● Ssh
● Dhcp
● Snmp
● http
9. Graphical interface frameworks
● X.org
● Fltk
● Nano-x
● Gtk
● WxEmbedded
● Qt for Embedded
10. Porting multimedia Apps
● Audio Apps
● Video Apps
● Direct media layer
● DirectFB
● Video for Linux
● Digital video broadcasting
5. Part 4: Embedded Linux BSP
1. Linux BSP basics
● Linux BSP components
● Platform Devices
● Understanding timers
● Understanding interrupts
● Understanding clocks
● Understanding power management
● Understanding memory map
● Understanding interrupts
● Understanding GPIO
2. Hardware Clocks
● Introduction to clocks
● Clock types and significance
● Linux clock management framework
● Using clock interfaces in drivers
3. Power Management
● Introduction to power management
● Device power management and
significance
● Linux power management framework
● Using power API’s in drivers
4. Device Tree (FDT)
● Introduction to Device tree
● Device Tree Script (dts)
● Device Tree compiler(dtc)
● Device Tree Blob (dtb)
● Booting Linux with device tree
● Device tree and drivers
Part 5: Embedded Linux Device Drivers
1. Linux device driver model
● Introduction to device driver model
● Design objectives
● Hotplug drivers
● Sysfs filesystem
● Procfs filesystem
● Debugfs filesystem
2. Linux device drivers
● Overview of Linux device drivers
● Categories of Linux device drivers
3. Handling Platform devices
● Linux platform driver stack
● Platform devices Enumeration
● Hands on with platform drivers
4. RTC
● Basic RTC operation
● Linux RTC subsystem
● Implementing RTC driver
5. Watchdog
● Basic watchdog operation
● Linux watchdog subsystem
● Implementing watchdog driver
6. UART controller
● UART introduction
● Linux UART stack
● Implementing UART driver
7. Console Devices
● Introduction to console
● Need for console dev
● Writing Console Driver
8. Handling i2c interface
● Introduction to i2c
● i2c protocol
● Linux i2c driver stack
● i2c adapter driver
● i2c bus manager
● i2c client drivers
6. 9. Handling SPI interface
● Introduction to SPI Bus
● SPI protocols
● Linux SPI subsystem
● SPI drivers
10. Handling GPIO
● Introduction to GPIO
● Linux GPIO management
● Accessing GPIO interfaces
11. Handling Input devices
● Introduction to input devices
● Linux Input subsystem
● Implementing input drivers (Keypad,
mouse, Touch screen)
12. USB
● USB protocol introduction
● Linux USB subsystem
● Linux USB OTG subsystem
● Implementing USB driver for Mass
storage protocol
13. SD/MMC
● SD/MMC protocol introduction
● Linux SD/MMC subsystem
● Implementing SD/MMC driver
14. NAND
● Introduction to MTD devices
● Linux MTD Subsystem
● NAND device introduction
● Implementing NAND driver
15. Ethernet
● Network protocols introduction
● Introduction to Ethernet
● Implementing Ethernet driver
16. Audio Devices
● Basic audio operation
● Audio codec’s introduction
● Linux Audio Subsystem
● Implementing audio drivers
17. Display/LCD
● Basic display operation
● Linux Display Subsystem
● Implementing display drivers
18. Frame buffer and Video Devices
● Introduction to Linux Video Subsystem
● Analysis of Frame Buffer Driver
Part 6: Debugging Tools
1. User space tools
● GDB, gdb server
● Valgrind
2. Kernel space tools
● Printk
● Kernel OOPS
● KDB
● KGDB
3. Boot time measurement tools
● Grabserial
● Bootchart
7. Part 6: Open Source Development
1. Open Source Contribution
● Importance/Benefits of open source
contributions
● Open Source project management
Practices
● Development tools required
2. Source control tools (GIT)
● Overview of GIT
● Useful git commands
● Open source projects hosted under Git
3. Using GIT
● How to clone an existing git tree
● How to create your own working
branch in existing git tree
● How to create patches against the
reference tree
● Review of few useful commands
4. Merging GIT trees
● How to upgrade your source tree in
sync with mainline tree version
● How GIT tree merging works
● How to merge the mainline tree
changes into your internal tree
● How to merge BSP into mainline
5. Contributing patches
● How to send your own patches to
mainline GIT tree
● Precautions, while sending patches to
mainline
● Other important open source
contribution tips
301, Prashanthiram Towers, Saradhi Studio Lane, Ameerpet, Hyderabad
Ph:040-66100265 Email: [email protected] www.techveda.org