Projecto e Seminário 07/08 29439 – Pedro Januário [email_address]
Desenvolvimento em Sistemas Embebidos Microsoft .NET Micro Framework Enquadramento  Arquitectura Plataformas de desenvolvimento Produtos de Mercado
Sistemas Embebidos Dispositivos dedicados Controlos Remotos Data Loggers Características Essenciais Custo reduzido Pequenas dimensões Elevado índice de fiabilidade Reduzido consumo de energia
Desenvolvimento em C ou C++ Ferramentas, bibliotecas e  device drivers  muito aquém Interacção com hardware invulgar e mal documentado Dificuldades em fazer  debug  para detectar os erros Quase impossível simular o hardware correctamente Software orientado a um hardware específico
Com a chegada .NET Micro Framework: Escrever código num ambiente “ managed ” (C#) Utilizar  API’s  conhecidas Desenvolver e efectuar  debug  no VStudio 2005 Utilizar simulação de hardware Programadores  Desktop  a desenvolver para embebidos Aumentar a produtividade
Requisitos .NET Micro < 400 KB de RAM Não necessita de MMU Não têm o “ overhead ” associado ao SO Aplicações correm de uma memória flash EEPOM Aplicações correm no ambiente “ managed ” Compatibilidade com as bibliotecas da Framework
 
Services Description Discovery Protocols UI Controls HTML Web Design Configuration Cache Session state Security Imaging Drawing 2D Text Printing Design ADO.NET SQL ServerCE SQL Client Xslt/XPath XML Document Reader/writers Serialization Service process Configuration Threading Diagnostics Net IO Resources Reflection Security Collections Globalization Text Component  model System.Drawing System.Windows.Forms System.Web System.Data System.XML System Interop Runtime Serialization Remoting
Kits   disponíveis  no mercado... Freescale - iMXS  Device Solutions – Tahoe SJJ Embedded Micro Solutions Digi Connect ME jumpstart kit
POS, Impressoras POS Controlos remotos Dispositivos Windows SideShow Molduras digitais Sistemas de monitorização de  segurança em veículos
Ambiente de desenvolvimento familiar Aumento de produtividade através do  VS2005 Programação orientada à funcionalidade vs  target Simplicidade dado a existência da  API .Net Reutilização de código entre: Diferentes  targets Diferentes bibliotecas .Net
Embedded Programming with Microsoft .NET Micro Framework Expert .Net Micro Framework .Net Micro Framework Team http://blogs.msdn.com/netmfteam http://www.dotnetmicroframework.com Rob Miles  http://www.robmiles.com  MSDN Embedded Center  http://msdn2.microsoft.com/en-us/embedded/bb267253.aspx Blog Pavel Bánský http://bansky.net/blog/

.NET Micro Framework

  • 1.
    Projecto e Seminário07/08 29439 – Pedro Januário [email_address]
  • 2.
    Desenvolvimento em SistemasEmbebidos Microsoft .NET Micro Framework Enquadramento Arquitectura Plataformas de desenvolvimento Produtos de Mercado
  • 3.
    Sistemas Embebidos Dispositivosdedicados Controlos Remotos Data Loggers Características Essenciais Custo reduzido Pequenas dimensões Elevado índice de fiabilidade Reduzido consumo de energia
  • 4.
    Desenvolvimento em Cou C++ Ferramentas, bibliotecas e device drivers muito aquém Interacção com hardware invulgar e mal documentado Dificuldades em fazer debug para detectar os erros Quase impossível simular o hardware correctamente Software orientado a um hardware específico
  • 5.
    Com a chegada.NET Micro Framework: Escrever código num ambiente “ managed ” (C#) Utilizar API’s conhecidas Desenvolver e efectuar debug no VStudio 2005 Utilizar simulação de hardware Programadores Desktop a desenvolver para embebidos Aumentar a produtividade
  • 6.
    Requisitos .NET Micro< 400 KB de RAM Não necessita de MMU Não têm o “ overhead ” associado ao SO Aplicações correm de uma memória flash EEPOM Aplicações correm no ambiente “ managed ” Compatibilidade com as bibliotecas da Framework
  • 7.
  • 8.
    Services Description DiscoveryProtocols UI Controls HTML Web Design Configuration Cache Session state Security Imaging Drawing 2D Text Printing Design ADO.NET SQL ServerCE SQL Client Xslt/XPath XML Document Reader/writers Serialization Service process Configuration Threading Diagnostics Net IO Resources Reflection Security Collections Globalization Text Component model System.Drawing System.Windows.Forms System.Web System.Data System.XML System Interop Runtime Serialization Remoting
  • 9.
    Kits disponíveis no mercado... Freescale - iMXS Device Solutions – Tahoe SJJ Embedded Micro Solutions Digi Connect ME jumpstart kit
  • 10.
    POS, Impressoras POSControlos remotos Dispositivos Windows SideShow Molduras digitais Sistemas de monitorização de segurança em veículos
  • 11.
    Ambiente de desenvolvimentofamiliar Aumento de produtividade através do VS2005 Programação orientada à funcionalidade vs target Simplicidade dado a existência da API .Net Reutilização de código entre: Diferentes targets Diferentes bibliotecas .Net
  • 12.
    Embedded Programming withMicrosoft .NET Micro Framework Expert .Net Micro Framework .Net Micro Framework Team http://blogs.msdn.com/netmfteam http://www.dotnetmicroframework.com Rob Miles http://www.robmiles.com MSDN Embedded Center http://msdn2.microsoft.com/en-us/embedded/bb267253.aspx Blog Pavel Bánský http://bansky.net/blog/

Notas do Editor

  • #2 01/07/12 15:52 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • #4 São sistemas dedicados criados com algumas funcionalidades específicas; Tipicamente, são utilizados como partes integrantes outros dispositivos; Dado que estes são dedicados a tarefas especifica é possível optimiza-los, reduzindo o seu tamanho e custo; Dispositivos dedicados Moldura digital Dispositivos de apresentação
  • #5 C ou C++, ou pior ainda em assembly Utilização de colecções de ferramentas e device drivers muito aquém do desejado Interacção com hardware invulgar e mal documentado Dificuldades de debug para detectar os erros Quase impossível emular o hardware correctamente, o que leva a desenvolver sempre com hardware por trás Muito, Muito raramente é possível reutilizar uma peça de software, dado que o desenvolvimento é orientado a produtos alvo
  • #6 Aumento da produtividade através da utilização das novas ferramentas (C# e VS2005) Reutilização de código entre as diferentes plataformas
  • #7 How It Work? C# fonte é compilado para Microsoft Intermediate Language (MSIL); MSIL é comprimido e interpretado pelo device .Net Micro, executando assiim intruções IL; As aplicações correm assim que o dispositivos se ligar; Não existe a necessidade de um SO; As aplicações correm nativamente no hardware através de sistema de runtime (boot), simplificando o instalação da app. Um subset da API .Net encontra-se disponivel atraves do sistema de runtime, em detrimento de um SO.
  • #8 HAL Base da .NET Micro é a a camada abstracta de hardware (HAL), tipicamente 20-30 KB; Única parte que se encontra directamente relacionada com o hardware, promovo uma interface genérica de acesso a IO e ISRs; Esta permite implementar aplicações de boot e facilita a interacção com hardware; PAL Camada que expõe uma interface de abstracções relacionadas com a HAL, com blocos de memória, timers e I/O;
  • #9 Debugging inside Target Single stepping, breakpoints, watched variables, exception handling, trace points, thread suspension Comprehensive emulation support Write code to emulate your own hardware and plug into emulator
  • #10 Freescale – Ideal para dispositivos de SideShow Tahoe – Extremamente completo, muito e diferentes tipos de inputs
  • #12 Ambiente de desenvolvimento familiar Aumento de produtividade através do VS2005 Programação orientada à funcionalidade vs target Simplicidade dado a existência da API .Net Reutilização de código entre: Diferentes targets Diferentes bibliotecas .Net