Solução de upgrade de firmware

Transcrição

Solução de upgrade de firmware
Solução de upgrade de firmware
Joaquim Guilherme Vasconcelos Gonçalves da Silva nº20147
Trabalho realizado sob a orientação de
Professor Doutor Paulo Matos
Professor Doutor José Lima
Engenharia Informática
2014/2015
Solução de upgrade de firmware
Relatório da UC de Projeto
Licenciatura em Engenharia Informática
Escola Superior de Tecnologia e Gestão
Joaquim Silva
Setembro de 2015
iii
A Escola Superior de Tecnologia e Gestão não se responsabiliza pelas opiniões expressas
neste relatório.
iv
Certifico que li este relatório e que na minha opinião, é adequado no seu
conteúdo e forma como demonstrador do trabalho desenvolvido no
âmbito da UC de Projeto.
___________________________________________
Paulo Matos - Orientador
Certifico que li este relatório e que na minha opinião, é adequado no seu
conteúdo e forma como demonstrador do trabalho desenvolvido no
âmbito da UC de Projeto.
___________________________________________
José Lima - Orientador
Certifico que li este relatório e que na minha opinião, é adequado no seu
conteúdo e forma como demonstrador do trabalho desenvolvido no
âmbito da UC de Projeto.
___________________________________________
Arguente
Aceite para avaliação da UC de Projeto
v
vii
Agradecimentos
Por detrás do trabalho pessoal realizado, existe sempre um grande número de apoios,
sugestões, comentários e críticas vindas de muitas pessoas. Sem essas contribuições de
extrema importância, seria impossível levar o trabalho realizado ao final com êxito e com os
objetivos cumpridos.
Aos Professores Doutores José Luís Lima e Paulo Matos, pela orientação, ajuda e
auxilio na realização de todas as fases do desenvolvimento deste projeto, pela disponibilidade
em todos os momentos e pelo rigor dos conhecimentos transmitidos.
À minha família, em especial ao meu pai e meus irmãos, pelo apoio e por me terem
sido dadas as condições e oportunidade de depois da licenciatura em Engenharia Electrotécnia
e do Mestrado em Engenharia Industrial, ainda assim terem confiança, darem toda a força e
estarem ao meu lado quando decidi investir ainda mais na minha formação e licenciar-me
nesta área de Engenharia Informática.
A todos os meus amigos, colegas e todas restantes pessoas que conheci e privei
durante todos estes anos, que de alguma forma me apoiaram e ajudaram a chegar até aqui, que
partilharam comigo inúmeros momentos que para sempre ficarão lembrados, sem eles, não
tinha conseguido tudo o que consegui.
A todos o meu muito e sincero obrigado!
Joaquim Guilherme Vasconcelos Gonçalves da Silva
viii
ix
Resumo
Com a constante evolução tecnológica nos dias correntes e com a disponibilização de
software e hardware a preços bastantes competitivos ou por vezes até gratuitos, cada vez mais
estas soluções chegam a mais pessoas, empresas e organizações que se debruçam, estudam,
desenvolvem e utilizam estes meios.
Assim, a possibilidade de actualização dos dispositivos através do upgrade do seu
firmware é uma característica fundamental para vencer no mercado de vendas. Através destas
actualizações corrigem-se e eliminam-se erros que vão sendo detectados conseguindo assim
uma plena utilização das capacidades do dispositivo.
O presente relatório descreve a análise e utilização de uma solução para efectuar
upgrades de firmware num dispositivo baseado no microcontrolador nRF51822, muito
utilizado agora em soluções de comunicações sem fios, como por exemplo redes de sensores e
redes Bluetooth Low Energy.
É precisamente através de Bluetooth Low Energy que se baseia a aplicação utilizada (
através do sistema operativo Android, pela aplicação nRF Master Control Panel ) e que assim
se consegue actualizar o dispositivo, através do método DFU ( Device Firmware Upgrade ).
Palavras-chave: Bluetooth Low Energy, DFU, firmware, nRF51822.
x
xi
Abstract
With constant technological evolution in current days and the availability of
software and hardware at quite competitive prices and sometimes even free, increasingly
these solutions reach more people, companies and organizations that focus, study, develop
and use these solutions.
The ability to update the devices by upgrading their firmware is a key feature to win
in the sales market. Through these updates we can fix and eliminate errors that were not
detected before thereby achieving a full utilization of device capabilities.
This report describes the analysis and use of a solution for performing firmware
upgrades in nRF51822 microcontroller-based device, now widely used in wireless
communications solutions, such as sensor networks and Bluetooth Low Energy networks.
It is precisely through Bluetooth Low Energy that the used aplication, the nRF
Master Control Panel that runs on the Android operating system, can update the devices via
DFU (Device Firmware Upgrade).
Keywords: Bluetooth Low Energy, DFU, firmware, nRF51822
xii
xiii
Conteúdo
1
Introdução ........................................................................................................................ 21
1.1
Objectivos do trabalho ................................................................................................ 21
1.2
Organização do documento......................................................................................... 22
2
Descrição do problema .................................................................................................... 23
3
Device Firmware Update (DFU) .................................................................................... 25
3.1 Update da aplicação .................................................................................................... 27
3.1.1 Single Bank Update .............................................................................................. 28
3.1.2 Dual Bank Update ................................................................................................ 29
3.2
Update do Softdevice e bootloader ............................................................................. 32
4
Implementação e Ferramentas ....................................................................................... 35
5
Conclusão ......................................................................................................................... 39
6
Bibliografia ....................................................................................................................... 41
A <Proposta de Projeto> ....................................................................................................... 1
xiv
xv
Lista de Figuras
Figura 1 - Development Kit da Nordic.................................................................................................................. 23
Figura 2- Programador J-Link ............................................................................................................................... 24
Figura 3- Funcionamento do DFU ........................................................................................................................ 25
Figura 4- Arquitectura do software do nRF51 ...................................................................................................... 26
Figura 5- Diferenças entre métodos de update ...................................................................................................... 27
Figura 6- Método de update do firmware Single Bank Update ............................................................................. 28
Figura 7- Método de update do firmware Dual Bank Update ............................................................................... 30
Figura 8- Sequência do estabelecimento da conexão ............................................................................................ 31
Figura 9- Sequência da transferência do firmware ................................................................................................ 31
Figura 10- Método de update do Softdevice e do Bootloader ............................................................................... 33
Figura 11- Sequência da transferência do Softdevice e Bootloader ...................................................................... 34
Figura 12- Exemplo de programação do Softdevice com o nRFgo ...................................................................... 35
Figura 13- Exemplo do software Keil ................................................................................................................... 36
Figura 14- Conexão com o dispositivo pelo nRF Master Control Panel ............................................................... 37
Figura 15- Transferência da aplicação .................................................................................................................. 37
Figura 16- Dispositivo actualizado com o firmware “Nordic_HRM” .................................................................. 38
xvii
xviii
Lista de Abreviações
BLE
DFU
OTA
SDK
UART
USB
Bluetooth Low Energy
Device Firmware Update
Over The Air
Software Development Kit
Universal Asynchronous Receiver/Transmitter
Universal Serial Bus
xix
xx
Capítulo 1
1 Introdução
Nos dias actuais tem-se vindo a verificar um aumento exponencial da venda e da
utilização de aparelhos electrónicos quer seja no uso doméstico ou profissional. Isso pode ser
comprovado no dia-a-dia de uma pessoa pelo uso de telemóveis, smartphones, tablets,
computadores ou a nível mais profissional com as redes de sensores, automatização de
operações, dispositivos de rede, por exemplo routers, e tantos outros dispositivos que
possuem na sua base um microcontrolador.
Uma grande vantagem do uso de microcontroladores é a sua adaptabilidade, ou seja, o
mesmo microcontrolador tem várias utilidades, podendo ser usado por exemplo num controlo
remoto de uma televisão, num smartphone ou numa rede de sensores. Nestes dispositivos
existem sempre duas vertentes, software e hardware. Com o passar do tempo e da utilização,
vão-se descobrindo erros de concepção ou melhoramentos das funções que estes possuem.
1.1 Objectivos do trabalho
As instruções operacionais que procedem à inicialização de sistema são chamadas de
firmware. Estas são programadas directamente no hardware do equipamento electrónico no
chip de memória. A possibilidade de actualização do firmware é por isso fundamental para a
evolução e para vencer a concorrência no mercado de vendas. Assim, através do upgrade do
firmware é possível corrigir e eliminar os erros encontrados, prolongando a vida útil dos
aparelhos electrónicos, melhorar as funções já existentes optimizando a sua utilização,
permitir maior compatibilidade e introdução de novas funcionalidades.
O objectivo principal deste projecto seria o desenvolvimento do hardware e do software
necessário para efectuar o upgrade de um dispositivo equipado com o microcontrolador
nRF51822 utilizando a tecnologia por cabo USB, mas depois de analisadas as soluções já
existentes decidiu-se por utilizar uma tecnologia já existente e implementada, ou seja, fazer a
21
actualização através de tecnologia sem fios Bluetooth Low Energy recorrendo a uma
aplicação para sistema operativo Android, o nRF Master Control Panel. Com isto poupa-se
em recursos, garantido a mesma fiabilidade da actualização do firmware e uma maior
comodidade para o utilizador.
1.2 Organização do documento
Para além da introdução, este documento contém mais 4 capítulos.
No capítulo 2 é apresentada a descrição do problema, onde são enumerados os passos e
a melhor forma de os resolver.
O método de upgrade do firmware do dispositivo, através do DFU, é apresentado no
capítulo 3. Aqui existem 2 hipóteses, são as duas analisadas e explicada a forma de
funcionamento, e os motivos da escolha da solução utilizada.
No capítulo 4 explica-se a implementação da solução e as ferramentas utilizadas,
descrevendo todos os passos de configuração e utilização dos softwares para um upgrade de
sucesso do firmware.
Finalmente, a conclusão do trabalho efectuado encontra-se no capítulo 5.
22
Capítulo 2
2 Descrição do problema
A grande dificuldade é a necessidade de encontrar uma solução que seja de fácil
compreensão para o utilizador comum e sem grandes ou nenhuns conhecimentos de
programação ou de actualização deste tipo de dispositivos.
Este tipo de tarefas a realizar requer conhecimentos do funcionamento de
microcontroladores, nomeadamente do nRF51822, mais especificamente da sua memória, que
é onde está armazenado o firmware que pretendemos actualizar.
É por isso necessária uma aplicação e uma solução que seja de fácil manuseamento e
que o utilizador com poucos passos consiga concluir com sucesso o upgrade e assim disfrutar
das novas funcionalidades e correcções dos erros existentes no seu dispositivo.
Debruçando agora mais especificamente sobre o microcontrolador usado neste
projecto, o nRF51822 [1], mostrado na figura 1 integrado no Development Kit da Nordic.
Este chip é bastante usado actualmente em soluções de comunicações sem fios, como por
exemplo redes de sensores, por possuir a característica de poder ser programado sem fios ou
OTA ( over the air ).
Figura 1 - Development Kit da Nordic
23
Este chip está integrado num dispositivo que permite que seja utilizado em múltiplas
aplicações. O grande problema é o método para a sua programação. Para tal, é necessário um
programador, o J-Link da Segger [2], apresentado na figura 2, que permite a programação
directamente no chip.
Figura 2- Programador J-Link
Com este programador e com o software Keil uVision [3], consegue-se programar e
actualizar o chip, mas com grandes perdas de tempo e de comodidade e com mais custos.
Como este método requer conhecimentos mais avançados, para o normal utilizador destes
dispositivos deve ser oferecida uma solução mais simples, rápida e que atinja os mesmos
resultados, podendo assim alcançar todos os utilizadores e estes podem tirar proveito do
máximo das capacidades do dispositivo e de todas as actualizações que são lançadas.
24
Capítulo 3
3 Device Firmware Update (DFU)
Este método, como o próprio nome indica, é a actualização do firmware do dispositivo.
Quando este é lançado no mercado, continua a ser melhorado através do lançamento de
updates. Estes updates concertam falhas no sistema, eliminam erros, contêm novas
funcionalidades e melhoramentos. Apesar de serem opcionais, ou seja os utilizadores podem
sempre continuar a utilizar a primeira versão lançada, a maioria dos utilizadores prefere
sempre atualizar o dispositivo para assim obterem melhores resultados, estando assim sempre
receptivos às novas versões. Como já referido anteriormente, a solução optada para esta
solução é via transferência sem fios ou Over The Air (OTA), que será analisada de seguida e
representada na figura 3.
Figura 3- Funcionamento do DFU
Erro! Marcador não definido.
25
A Nordic, fabricante do microcontrolador nRF51822, desenvolve uma avançada
solução de DFU que é bastante segura, eficiente e flexível, dando liberdade aos utilizadores
de adaptarem às suas necessidades às actualizações que querem efectuar.
A primeira parte a estudar é o Bootloader. O Bootloader é um pequeno programa que é
sempre executado no início quando o dispositivo inicializa, estando protegido quer para
escrita quer para eliminação. Este programa é o que garante o arranque das funções a
executar, é responsável pelo controlo do dispositivo, substituiu as novas actualizações pelas
antigas e recebe os updates de firmware via OTA ou fisicamente, por exemplo por ligação
UART.
Figura 4- Arquitectura do software do nRF51
Esta solução é bastante sensível e requer um cuidado redobrado na sua utilização
porque trabalha directamente na memória do dispositivo, estando esta dividida em várias
partes, como representado na figura 4.
Esta é uma arquitectura única porque separa claramente a stack de protocolo BLE e a
aplicação em ficheiros distintos. As vantagens do DFU são a utilização da mesma stack BLE
26
que a comunicação normal do dispositivo e a separação dos updates no que realmente é
necessário, ou seja, são dadas três opções: pode transferir apenas a aplicação; actualizar o
SoftDevice e a aplicação; e fazer uma actualização completa, com a transferência do
SoftDevice, do Bootloader e da aplicação [11].
3.1 Update da aplicação
Existem duas formas de actualizar a aplicação do dispositivo ou o firmware, o Single
Bank Update, que recai mais na utilização mínima de espaço de código, e o Dual Bank
Update, que privilegia mais a segurança. As diferenças podem ser vistas na figura 5.
Figura 5- Diferenças entre métodos de update
27
3.1.1 Single Bank Update
Este método pode ser usado via OTA por BLE ou fisicamente. Basicamente, ao fazer a
actualização do firmware substituiu directamente a aplicação existente pela nova, reinicializa
e corre a nova aplicação. Tem a particularidade de usar o mínimo de espaço de código e é
recomendado geralmente para ligações estáveis. Se o DFU falhar, o Bootloader deve
continuar as tentativas de actualização até ao update ser concluído com sucesso. A
desvantagem é que se o dispositivo ficar “encravado”, o dispositivo fica impossibilitado de
funcionar até que o update seja feito com sucesso. O Bootloader existente utiliza um
transporte via UART, que é explicado de seguida na figura 6.
Figura 6- Método de update do firmware Single Bank Update
28
Depois de fazer uma conexão com sucesso entre o dispositivo DFU Master e o DFU
Bootloader, inicia-se o DFU. De seguida procede-se à eliminação da aplicação existente,
transfere-se o novo firmware e escreve-se a nova aplicação de firmware no espaço dedicado.
Por último, activa-se e faz-se a reinicialização do dispositivo, entrando assim o novo firmware
em funcionamento.
3.1.2 Dual Bank Update
Este método é o que utiliza a solução estudada neste projecto. O update pode ser feito
via UART ou OTA por BLE. A grande diferença é o espaço dedicado à substituição do
firmware Swap, onde é escrito o novo firmware pelo Bootloader. Quando a transferência é
concluída, o novo firmware é copiado do espaço Swap para o espaço da aplicação, concluindo
assim o update.
O espaço da aplicação é assim dividido em dois, em Swap, onde é descarregado o
novo firmware, e o espaço da aplicação, onde está instalado o firmware actual. A grande
vantagem é se ocorrer uma falha no update, o Bootloader pode reverter para o firmware
existente e o dispositivo continua a funcionar, apenas sem as novas actualizações. Com isto
garante-se assim uma segurança máxima e o dispositivo nunca entra em estado estagnado,
porque tem sempre o espaço da aplicação apenas para esse fim. Na figura 7 é mostrado
método de update e explicado de seguida.
29
Figura 7- Método de update do firmware Dual Bank Update Erro! Marcador não definido.
O método inicia-se fazendo a conexão entre o dispositivo DFU Master, que neste caso
é a aplicação nRF Control Master Panel instalada num smartphone com Android, e o DFU
Bootloader. De seguida a transferência do novo firmware aloca a nova aplicação no espaço
Swap. Por fim, faz-se a cópia do novo firmware pelo existente no dispositivo, substituindo a
aplicação e concluindo o update com sucesso. Com este método, a versão antiga do firmware
é sempre preservado até ao update ser concluído, ficando assim como imagem de reserva.
Na figura 8 e 9 é apresentada uma sequência mais detalhada e passo a passo de todo o
processo.
30
Figura 8- Sequência do estabelecimento da conexão [4]Erro! Marcador não definido.
Figura 9- Sequência da transferência do firmware [4]
31
3.2 Update do Softdevice e bootloader
A partir do SDK 6.1 é possível fazer a actualização também do softdevice e do
bootloader com a adição de uma região “Master boot record” logo no início da memória, ou
seja, antes da zona do Softdevice. Este Master boot record é responsável assim do update
podendo ser utilizado com quatro opções, fazer o update da aplicação, do bootloader, do
softdevice, e do softdevice juntamente com o bootloader.
Com isto tem-se a vantagem de um update completo das três partes do dispositivo,
corrigindo erros e tirando partido de novas funcionalidades, ficando assim com um
dispositivo sempre actualizado.
A figura 10 exemplifica a forma como as actualizações são feitas.
32
Figura 10- Método de update do Softdevice e do Bootloader
Este processo de actualização é em tudo semelhante ao Dual Bank Update. Depois de
feita a conexão, é feita a transferência da imagem do Bootloader e do Softdevice para o Swap
Bank, que depois de feita a conexão se junta à área da aplicação. Nesta parte, o Bootloader é
que faz a escrita na área do Swap Bank das novas actualizações, sendo depois o Master Boot
Record que faz a substituição do novo Softdevice e do novo Bootloader.
Na imagem 11 temos a sequência detalhada da transferência e actualização do
Softdevice e do Bootloader [4] [6] [7].
33
Figura 11- Sequência da transferência do Softdevice e Bootloader
34
Capítulo 4
4 Implementação e Ferramentas
Na fase de implementação são necessárias várias ferramentas que ao longo do
processo serão utilizadas para concluir com sucesso os upgrades. Como referido no capítulo
anterior, além do firmware, temos a opção de actualizar também o bootloader e o softdevice,
o que permite uma melhor utilização do dispositivo. Para a actualização do nRF51822 são
necessárias várias ferramentas que serão descritas de seguida.
De inicio, para se poder programar o firmware, é necessário programar o nRF51822
com a versão correcta do Softdevice, neste caso o Softdevice S110 v8.0.0. Para isso é usado o
software nRFgo Studio [5], como mostrado na figura 12.
Figura 12- Exemplo de programação do Softdevice com o nRFgo
Em poucos passos é possível descarregar a versão do Softdevice desejada, assim de
início apaga-se a versão instalada no dispositivo “Erase all” e faz-se a actualização através do
ficheiro hexadecimal “s110_nrf51_8.0.0_softdevice.hex”. Posto isto, o dispositivo está
preparado para poder ser programado com o novo firmware [8].
35
O próximo passo é fazer a atualização do firmware e para isso é usado o software Keil,
através do exemplo do SDK v9.0.0 “dfu_dual_bank_ble_s110_pca10028”. Depois de
compilado o código, através do programador J-Link descarrega-se a versão do firmware
pretendida para o dispositivo, que neste caso vai permitir uma comunicação por BLE com um
smartphone Android. O exemplo do código no software Keil pode ser visto na figura 13.
Figura 13- Exemplo do software Keil
Agora que o dispositivo já possui a comunicação por BLE, através da aplicação para
Android nRF Master Control Panel, é possível utilizar o DFU e actualizar o dispositivo com o
firmware que se pretender e sem ser necessária uma ligação por fios, sendo tudo efectuado
OTA.
Assim, a primeira coisa a fazer é conectar com o dispositivo para permitir o DFU,
como mostrado na figura 14. Aqui vemos que é possível utilizar o DFU.
36
Figura 14- Conexão com o dispositivo pelo nRF Master Control Panel
Posto isto, é escolhido o Device Firmware Update Service que contêm um “control
point” que faz a aplicação entrar em modo DFU, ou seja, o bootloader inicializa e faz a
transferência e actualização do firmware. Como mostrado na figura 15, depois de escolhido o
“control point” a aplicação pede a escolha do que deseja transferir, softdevice, bootloader ou
aplicação, que neste caso será a aplicação.
Figura 15- Transferência da aplicação
37
Neste ponto, o dispositivo passa a correr o bootloader, aparecendo assim com o nome
de “DfuTarg”. Depois de voltar a escolher o dispositivo e de escolher a opção DFU é pedido a
selecção do ficheiro a transferir. Depois de escolhida a aplicação a transferir, inicia-se a
transferência do firmware escolhido. Depois de concluida a transferência, o dispositivo está
actualizado com o firmware e pode já ser utilizado com as novas funcionalidades [9] [10].
Figura 16- Dispositivo actualizado com o firmware “Nordic_HRM”
38
Capítulo 5
5 Conclusão
Com as opções existentes actualmente para o desenvolvimento de várias aplicações
recorrendo a microcontroladores, a possibilidade de manter uma constante actualização dos
dispositivos é um elemento chave na altura da escolha do equipamento. Assim, torna-se vital
a possibilidade de actualizar o firmware de acordo com as necessidades do utilizador de forma
fácil e rápida.
Neste projecto, recorrendo à tecnologia DFU por BLE essa tarefa torna-se bastante
simples e cómoda. Depois de terem sido estudados todos os passos deste método percebe-se
claramente como funciona e todos os passos que levam desde o início do upgrade, às zonas
que actuam na memória e como esse processo é efectuado. No contexto do problema
estudado, verifica-se que com o dispositivo usado, o nRF51822, a existência de uma conexão
por BLE é a melhor forma de proceder às actualizações do firmware que se pretendem.
Através de uma aplicação Android todo o processo de conexão com o dispositivo é efectuado
de forma simples e assim o utilizador comum pode adaptar e escolher o firmware mais
adequado às suas necessidades, sem necessidade de uma ligação física ao dispositivo e sem
gastos em programadores e ligações por cabo, como por exemplo USB.
39
6 Bibliografia
Nordic, “nRF51822 Product Specification v2.0,” 2013.
“Segger, J-Link debug,” [Online]. Available: https://www.segger.com/jlink-debugprobes.html.
[3] “Keil uVion,” [Online]. Available: http://www.keil.com/uvision/.
[4] Nordic, “nRF51 SoC Device Firmware Update (DFU)”.
[5] Nordic, nRF51822 Evaluation Kit User Guide.
[6] [Online]. Available: http://ble-intros.readthedocs.org/en/latest/FOTA/Bootloader/.
[7] [Online]. Available: https://developer.mbed.org/teams/Bluetooth-LowEnergy/wiki/Firmware-Over-the-Air-FOTA-Updates.
[8] [Online]. Available: https://devzone.nordicsemi.com/tutorials/2/setting-up-an-exampleproject-on-the-nrf51-dk/.
[9] [Online]. Available: https://devzone.nordicsemi.com/tutorials/9/setting-up-devicefirmware-updatedfu-on-the-nrf51-/.
[10] [Online]. Available: https://developer.mbed.org/teams/Bluetooth-LowEnergy/wiki/Firmware-Over-the-Air-FOTA-Updates.
[11] [Online]. Available:
https://developer.nordicsemi.com/nRF51_SDK/nRF51_SDK_v8.x.x/doc/8.0.0/s110/ht
ml/a00078.html.
[1]
[2]
41
Anexo A
A <Proposta de Projeto>
Solução de upgrade de firmware
Orientador: Paulo Matos
José Lima
1 Objetivo
A possibilidade de atualizar o firmware num dispositivo é hoje uma característica
fundamental e um forte argumento de vendas. Através dos upgrades de firmware, é possível
corrigir ou neutralizar erros de conceção (de software e por vezes também de hardware), e de
prolongar a vida útil dos aparelhos eletrónicos (permitir maior compatibilidade, novas
funcionalidades, entre outros). A solução física (hardware) para efetuar estes upgrades é que
nem sempre existe.
2 Detalhes
O objetivo deste projeto é desenvolver o hardware e software necessário para efectuar
upgrades e monitorizar dispositivos equipados com o microcontrolador nRF51822 (muito em
voga para soluções de comunicação sem fios, nomeadamente para implementação de redes de
sensores e redes Bluetooth Low Energy), de preferência utilizando tecnologia USB.
3 Metodologia de trabalho
A1
A realização deste projeto pressupõe as seguintes tarefas:
Tarefa 1: Estudo e adaptação ao nRF51822 e ao USB - 1 mês
Tarefa 2: Conceção da solução - 1 mês
Tarefa 3: Montagem do hardware: 1 mês
Tarefa 4: Desenvolvimento do código de comunicação - 2 meses
Tarefa 5: Desenvolvimento da aplicação de programação - 2 meses
Tarefa 6: Testes: 1 mês
Tarefa 7: Escrita do relatório final: 1 mês
2
A1