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
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
Aumento da produtividade através da utilização das novas ferramentas (C# e VS2005) Reutilização de código entre as diferentes plataformas
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.
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;
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
Freescale – Ideal para dispositivos de SideShow Tahoe – Extremamente completo, muito e diferentes tipos de inputs
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