Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Linux Embarcado com Raspberry Pi

Linux Embarcado com Raspberry Pi

Os Raspberry Pi são computadores pequenos e acessíveis que podem ser usados para aprender programação e eletrônica digital de forma divertida e prática. É baseado em Linux ARM, a mesma base da famosa plataforma utilizada em dispositivos móveis Android da Google. Nessa oficina vamos desmistificar na prática, com kits de desenvolvimento Raspberry Pi 3, as entranhas da tecnologia por trás dos Smartphones.

Matheus Castello

November 24, 2018
Tweet

More Decks by Matheus Castello

Other Decks in Technology

Transcript

  1. Who I am? Matheus de Barros Castello 27 year old,

    BS in Computer Science Embedded SW Engineer Linux Kernel Developer - v4.18 contributions Maker Enthusiast in Spare Time “YouTuber”
  2. Conheça seu Hardware Raspberry Pi 3B BCM2837 B8132B4PB BCM43438 SD

    Card GPIO LAN9514 HDMI USB Ethernet PAM2306 Micro USB Power
  3. ARM IRAM 64KB ~ 128KB GPU FIRTS LEVEL BL0 -

    ROM (SOC) SECOND PROGRAM LOADER SPL bootcode.bin THIRD STAGE BOOTLOADER U-Boot Processo de Boot Linux Embarcado ARM
  4. DRAM 1GB IRAM 64KB ~ 128KB ARM GPU FIRTS LEVEL

    BL0 - ROM (SOC) SECOND PROGRAM LOADER SPL bootcode.bin THIRD STAGE BOOTLOADER U-Boot BOOT KERNEL Device Tree Binary - Kernel Image ROOTFS init - systemd Processo de Boot Linux Embarcado ARM
  5. 24,766,703 LINES OF CODE 1681 DEVELOPERS INVOLVED IN v4.13 13,006

    PATCHES Kernel Linux O Kernel em Alguns Números
  6. LTS or Stable New Product Board Support Package Kernel Linux

    Kernel Linux on Market - Board Support Package (BSP)
  7. Application (Aka Distro) C Library (glibc, bionic) KERNEL Architecture-Dependent Kernel

    Code System Call Interface KERNEL SPACE USER SPACE Kernel Linux Linux Distributions
  8. Kernel Linux Compile Kernel Linux - Toolchain 1. Computer with

    Linux Distro 2. git 3. Cross Compile toolchain
  9. Kernel Linux Compile Kernel Linux - Your Version make command

    configura build para arquitetura ARM define cross compile toolchain defines configs for my board
  10. Kernel Linux Compile Kernel Linux - Your Version compressed kernel

    image build kernel modules build device tree source files use x threads to build
  11. Kernel Linux Compile Kernel Linux - Makefile • Cada diretorio

    pode ter seu próprio Makefile • Makefile tem regras para compilar o código • Makefile ira compilar opções configuradas no .config
  12. Q&A