SlideShare uma empresa Scribd logo
Android Core
Felipe Silveira
felipesilveira.com.br Aula 3
HAL - Hardware Abstraction Layer
Hardware Abstraction Layer
Hardware Abstraction Layer
● Abstração dos drivers de dispositivos
● Composto por várias shared libraries
● O Android framework foi desenhado para acessar o
HAL, e não a camada de kernel (drivers) diretamente
● Justificativa:
- Minimizar as diferenças de drivers entre diferentes
dispositivos
- Adicionar algumas funções a alguns drivers
(framebuffer, por exemplo)
- Questões de licenças (evitando a alteração de
arquivos GPL)
Tipos de HAL
● Módulos de hardware, localizados em /vendor/lib/hw e
/system/lib/hw
● Bibliotecas OpenGL, localizadas em /vendor/lib/egl e
/system/lib/egl
Módulos de Hardware
Responsáveis por controlar componentes como:
● audio
● camera
● framebuffer
● gps
● gralloc - gerenciamento de framebuffer e GPU buffer
● lights - controle dos leds do sistema
● sensors - módulo que contém vários sensores, como
acelerometro, sensor de pressão, sensor de
proximidade, etc.
Convenção de nomes
Os módulos de hardware são nomeados sempre seguindo
o formato: module_id.<modifier>.so
Onde modifier pode ser:
● ro.hardware
● ro.product.board
● ro.board.platform
● ro.arch
● default
libhardware interface genérica
É uma interface que deve ser implementada
por todos os 'HAL' definidos no sistema.
Definido em:
hardware/libhardware/include/hardware/hardware.h

Mais conteúdo relacionado

PDF
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
PDF
Introdução ao uso do Moodle para Professores e Tutores Versão 2.4
PPTX
Seminário - Scrum , Kaban e XP
PPTX
Aula - Metodologias Ágeis
PDF
Scrum em 15 minutos
PPTX
Algoritmo da mediana
PDF
Modelos eap
PDF
Android - Conceito e Arquitetura
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Introdução ao uso do Moodle para Professores e Tutores Versão 2.4
Seminário - Scrum , Kaban e XP
Aula - Metodologias Ágeis
Scrum em 15 minutos
Algoritmo da mediana
Modelos eap
Android - Conceito e Arquitetura

Destaque (20)

PDF
An Introduction to the Android Framework -- a core architecture view from app...
PPT
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
PDF
Accessing Hardware on Android
PPTX
The Rise of Social CRM
PDF
Closing Conference for IPA 128287 - Partnership Actions on Environment
KEY
NASA Science on Drupal: what we do
PPTX
PPTX
PPTX
Clase 10 test
KEY
PinQA - Geomediasummit
PPSX
SUSTAINABLE OFFERINGS
PDF
Kreeo : Enterprise Social Collaboration Platform
PPS
Zoom Out Zoom In اعجاز اللهي
PDF
Reusing historical newspapers of KB in e-humanities - Case studies and exampl...
PDF
A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...
PPT
Technology Transfer . Universities: General Concepts Part I
PPSX
Vijay Mewada June 11
PDF
Schubert, Publications Updated 1009
PDF
Presentacion Ad Site Links Google AdWords
DOC
υλη ΚΑΙ οδηγιες Φυσικων Επιστημων ημερ. και εσπΕΠΑΛ 2010-2011
An Introduction to the Android Framework -- a core architecture view from app...
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
Accessing Hardware on Android
The Rise of Social CRM
Closing Conference for IPA 128287 - Partnership Actions on Environment
NASA Science on Drupal: what we do
Clase 10 test
PinQA - Geomediasummit
SUSTAINABLE OFFERINGS
Kreeo : Enterprise Social Collaboration Platform
Zoom Out Zoom In اعجاز اللهي
Reusing historical newspapers of KB in e-humanities - Case studies and exampl...
A tribute to simon gillespie by dr. jeffrey lant master marketer and also col...
Technology Transfer . Universities: General Concepts Part I
Vijay Mewada June 11
Schubert, Publications Updated 1009
Presentacion Ad Site Links Google AdWords
υλη ΚΑΙ οδηγιες Φυσικων Επιστημων ημερ. και εσπΕΠΑΛ 2010-2011
Anúncio

Mais de Felipe Silveira (9)

PDF
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
PDF
Android performance - Construindo aplicações rápidas de verdade
PDF
Android Core Aula 6 - Desenvolvimento de aplicações Android
PDF
Android Core Aula 5 - RIL (Radio Interface Layer)
PDF
Android Core Aula 4 - Embarcando android em dispositivos físicos
PDF
Android Core Aula 2: Inicialização de um sistema Android
PDF
Android e Facebook - Integrando sua aplicação às redes sociais
PDF
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
PDF
Desenvolvimento Android
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android performance - Construindo aplicações rápidas de verdade
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 5 - RIL (Radio Interface Layer)
Android Core Aula 4 - Embarcando android em dispositivos físicos
Android Core Aula 2: Inicialização de um sistema Android
Android e Facebook - Integrando sua aplicação às redes sociais
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Desenvolvimento Android
Anúncio

Último (11)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Utilizando code blockes por andre backes
PPTX
Design - Introdução a Gestalt e teoria das formas
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Tipos de servidor em redes de computador.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Manejo integrado de pragas na cultura do algodão
Utilizando code blockes por andre backes
Design - Introdução a Gestalt e teoria das formas
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Eng. Software - pontos essenciais para o início
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Arquitetura de computadores - Memórias Secundárias
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Viasol Energia Solar -Soluções para geração e economia de energia
Tipos de servidor em redes de computador.pptx

Android Core Aula 3 - HAL (Hardware Abstraction Layer)

  • 2. HAL - Hardware Abstraction Layer
  • 4. Hardware Abstraction Layer ● Abstração dos drivers de dispositivos ● Composto por várias shared libraries ● O Android framework foi desenhado para acessar o HAL, e não a camada de kernel (drivers) diretamente ● Justificativa: - Minimizar as diferenças de drivers entre diferentes dispositivos - Adicionar algumas funções a alguns drivers (framebuffer, por exemplo) - Questões de licenças (evitando a alteração de arquivos GPL)
  • 5. Tipos de HAL ● Módulos de hardware, localizados em /vendor/lib/hw e /system/lib/hw ● Bibliotecas OpenGL, localizadas em /vendor/lib/egl e /system/lib/egl
  • 6. Módulos de Hardware Responsáveis por controlar componentes como: ● audio ● camera ● framebuffer ● gps ● gralloc - gerenciamento de framebuffer e GPU buffer ● lights - controle dos leds do sistema ● sensors - módulo que contém vários sensores, como acelerometro, sensor de pressão, sensor de proximidade, etc.
  • 7. Convenção de nomes Os módulos de hardware são nomeados sempre seguindo o formato: module_id.<modifier>.so Onde modifier pode ser: ● ro.hardware ● ro.product.board ● ro.board.platform ● ro.arch ● default
  • 8. libhardware interface genérica É uma interface que deve ser implementada por todos os 'HAL' definidos no sistema. Definido em: hardware/libhardware/include/hardware/hardware.h