Metodologia de desenvolvimento de aplicaes Organizao O desenvolvimento

  • Slides: 43
Download presentation
Metodologia de desenvolvi-mento de aplicações • Organização: – O desenvolvimento de aplicações para microprocessadores

Metodologia de desenvolvi-mento de aplicações • Organização: – O desenvolvimento de aplicações para microprocessadores / microcontroladores – Sistemas de desenvolvimento – O ambiente de projecto da KEIL – O gerador de formas de onda revisitado – Co-projecto: Um exemplo na aquisição e visualização de sinais analógicos Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 1

O desenvolvimento de aplicações para Ps / Cs • As ferramentas de apoio para

O desenvolvimento de aplicações para Ps / Cs • As ferramentas de apoio para o desenvolvimento de aplicações baseadas Ps ou em Cs são idênticas, mas é importante distinguir que: – As aplicações baseadas em Ps estão normalmente associadas ao processamento de informação e o trabalho do projectista é sobretudo ao nível algorítmico – As aplicações baseadas em Cs situam-se a Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações 2 maior parte das - vezes ao nível do pormenor

O ciclo de projecto • As quatro principais etapas no projecto com Ps /

O ciclo de projecto • As quatro principais etapas no projecto com Ps / Cs (tal como noutras áreas da electrónica) são as seguintes: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 3

O ciclo de projecto (cont. ) • Em relação a este modelo de projecto,

O ciclo de projecto (cont. ) • Em relação a este modelo de projecto, repare-se que: – A mesma base (i. e. o mesmo hardware) pode ser reutilizado de aplicação para aplicação, muitas vezes sem qualquer alteração, o que não sucede com as soluções baseadas em hardware dedicado – A maior flexibilidade (para acomodar modificações) é contra-balançada pela menor Introdução rapidez, ao Projecto com Sistemas Digitais ealternativa Microcontroladores face à da solução baseada Metodologia de desenvolvimento de aplicações - 4

O ciclo de projecto (cont. ) • Assumindo o pressuposto da reutilização do hardware,

O ciclo de projecto (cont. ) • Assumindo o pressuposto da reutilização do hardware, o ciclo de projecto costuma também representar-se da seguinte forma: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 5

Regras básicas de projecto • Existem dois factores principais que condicionam o sucesso do

Regras básicas de projecto • Existem dois factores principais que condicionam o sucesso do trabalho de projecto (e o sucesso não se restringe a colocar o sistema a funcionar. . . ): – A definição de uma organização modular que oriente o desenvolvimento das rotinas e que esteja em sintonia com as características da aplicação-alvo – A escolha de uma linguagem com o nível de Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações abstracção mais- 6 adequado à complexidade e

Regras básicas de projecto (cont. ) • Satisfeitos os factores principais, a maior parte

Regras básicas de projecto (cont. ) • Satisfeitos os factores principais, a maior parte das dificuldades no projecto ficam a dever-se à não observância de questões triviais, como por exemplo: – Garantir a inicialização de uma área de stack – Guardar o conteúdo de registos e posições de memória, no início de subrotinas ou atendimento a interrupções – Analisar em detalhe a forma como são actuadas Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 7 as flags

Regras básicas de projecto: Modularidade e hierarquia • Aspectos principais a referir: – Começar

Regras básicas de projecto: Modularidade e hierarquia • Aspectos principais a referir: – Começar por esboçar um modelo organizativo da solução – Identificar as relações de hierarquia e interdependência entre as várias rotinas que integram o modelo anterior – Identificar e caracterizar os parâmetros de entrada e de saída associados a cada uma das rotinas Introdução ao Projecto com Sistemas Digitais e Microcontroladores – Só então começar com o trabalho de escrita de Metodologia de desenvolvimento de aplicações - 8

Regras básicas de projecto: Escolha da linguagem • A escolha a efectuar resume-se, na

Regras básicas de projecto: Escolha da linguagem • A escolha a efectuar resume-se, na maior parte dos casos, às duas alternativas seguintes: – Baixo nível de abstracção (assembly), sobretudo para pequenos segmentos de código, onde queremos ter um conhecimento preciso do que se passa ao nível temporal – Alto nível de abstracção (C), em todos os restantes casos Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 9 • Em ambos os casos, no entanto, as

Sistemas de desenvolvimento • Os sistemas de apoio ao desenvolvimento de aplicações baseadas em

Sistemas de desenvolvimento • Os sistemas de apoio ao desenvolvimento de aplicações baseadas em Ps / Cs integram normalmente duas componentes principais: – Aplicações (sobretudo para) Windows para controlar / observar o sistema-alvo: Correr uma rotina passo-a-passo, visualizar o conteúdos registos, etc. – Uma ponta de emulação, para substituir o P / Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 10 C no sistema-alvo, de forma a permitir realizar

Sistemas comerciais de baixo custo: Ceibo Introdução ao Projecto com Sistemas Digitais e Microcontroladores

Sistemas comerciais de baixo custo: Ceibo Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 11

Aplicações do domínio público: Ap. Builder 2. 21 Introdução ao Projecto com Sistemas Digitais

Aplicações do domínio público: Ap. Builder 2. 21 Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 12

O Ap. Builder 2. 21 (cont. ) • Configuração do porto série num 80

O Ap. Builder 2. 21 (cont. ) • Configuração do porto série num 80 C 51 Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 13

O Ap. Builder 2. 21 (cont. ) • Porto série: Código ASM produzido pelo

O Ap. Builder 2. 21 (cont. ) • Porto série: Código ASM produzido pelo Ap. Builder Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 14

O Ap. Builder 2. 21 (cont. ) • Descrição da instrução cjne: Introdução ao

O Ap. Builder 2. 21 (cont. ) • Descrição da instrução cjne: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 15

O ambiente de projecto da KEIL • Actividades correspondentes às primeiras duas etapas do

O ambiente de projecto da KEIL • Actividades correspondentes às primeiras duas etapas do ciclo de desenvolvimento: – Criação dos ficheiros que integram a arquitectura modular – Geração do código objecto (via compilador ou assembler) – Ligar (link) os vários ficheiros de código objecto num único bloco – Simular o funcionamento do código executável Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações (para detectar e- 16 corrigir os erros, antes da

O ambiente de projecto da KEIL (cont. ) • A KEIL proporciona várias ferramentas

O ambiente de projecto da KEIL (cont. ) • A KEIL proporciona várias ferramentas para apoio a estas etapas, com destaque as seguintes: – Compilador de C para código objecto (C 51) – Cross-assembler (A 51) – Linker (BL 51) – Gestor de bibliotecas de ficheiros (LIB 51, library manager) – Um ambiente de simulação / depuração Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 17 (debugging), com a designação de d. Scope

O ambiente de projecto da KEIL (cont. ) • O ambiente integrado de desenvolvimento

O ambiente de projecto da KEIL (cont. ) • O ambiente integrado de desenvolvimento pode representar-se pela interacção entre as quatro primeiras ferramentas (numa aplicação interactiva designada por Vision) e o d. Scope: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 18

O Vision • As principais componentes do Vision são o editor, o gestor de

O Vision • As principais componentes do Vision são o editor, o gestor de projecto e o gerador do código objecto Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 19

O d. Scope • Esta aplicação permite-nos realizar a depuração do código desenvolvido, mesmo

O d. Scope • Esta aplicação permite-nos realizar a depuração do código desenvolvido, mesmo sem hardware exterior Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 20

O d. Scope (cont. ) • Repare-se na percentagem de código que foi já

O d. Scope (cont. ) • Repare-se na percentagem de código que foi já executado (que importância tem esta indicação? ) e na Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 21

O gerador de formas de onda revisitado • Para comparar a complexidade relativa do

O gerador de formas de onda revisitado • Para comparar a complexidade relativa do desenvolvimento em C e em ASM, para um caso de complexidade reduzida (embora não trivial), revisitaremos o gerador de formas de onda • O desenvolvimento da solução em C permite-nos avaliar estas duas abordagens quanto à facilidade do processo de projecto, bem como comparar o código objecto Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 22

Atribuição de recursos (que modificações foram efectuadas, em relação à atribuição inicial? ) Introdução

Atribuição de recursos (que modificações foram efectuadas, em relação à atribuição inicial? ) Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 23

Organização das rotinas • Mantendo uma organização semelhante à que foi anteriormente considerada, quando

Organização das rotinas • Mantendo uma organização semelhante à que foi anteriormente considerada, quando se efectuou o desenvolvimento em assembly, resultam quatro rotinas principais: – A rotina principal propriamente dita (main) – A geração das formas de onda – O atraso que determina a frequência –A gestão do. Digitais sistema Introdução ao Projecto com Sistemas e Microcontroladores Metodologia de desenvolvimento de aplicações - 24

O gerador de formas de onda no Vision • Vision: Introdução ao Projecto com

O gerador de formas de onda no Vision • Vision: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 25

O gerador de formas de onda no d. Scope • d. Scope: Introdução ao

O gerador de formas de onda no d. Scope • d. Scope: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 26

Co-projecto na aquisição e visualização de sinais • Encerraremos as metodologias de projecto com

Co-projecto na aquisição e visualização de sinais • Encerraremos as metodologias de projecto com a consideração de um caso em que a mesma especificação funcional tanto pode ser implementada com um C como com hardware dedicado: – Em hardware dedicado, proporcionando maior rapidez – Com um C, ganhando em flexibilidade – Ou mesmo com base numa solução mista (co. Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 27 projecto)

Conceitos básicos de co-projecto • O co-projecto procura identificar quais as partes da especificação

Conceitos básicos de co-projecto • O co-projecto procura identificar quais as partes da especificação funcional a implementar em: – Hardware dedicado, que através de paralelismo (possibilidade de realizar várias operações em simultâneo) permite satisfazer requisitos de rapidez elevada – Código residente em memória, mais lento (só uma instrução é executada de cada vez) mas Introdução ao Projecto com Sistemas Digitais e Microcontroladores com vantagens outros tipos (custo, em Metodologia de desenvolvimento de aplicações -de 28

Conceitos básicos de co-projecto (cont. ) • O co-projecto está essencialmente associado a metodologias

Conceitos básicos de co-projecto (cont. ) • O co-projecto está essencialmente associado a metodologias e ferramentas que tem por objectivo automatizar a actividade de projecto, sendo por isso vocacionado sobretudo para complexidade elevada • Contudo, mesmo para exemplos relativamente simples é possível ilustrar as alternativas em confronto e as soluções de Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 29

Especificação do sistema • Em termos gerais, o objectivo consiste em desenvolver um sistema

Especificação do sistema • Em termos gerais, o objectivo consiste em desenvolver um sistema para: – Capturar (digitalizando e guardando em memória) sinais analógicos de muito baixa frequência – Visualizar as formas de onda associadas a estes sinais, usando para o efeito um osciloscópio de baixo custo • Porque é que a visualização directa não é possível? Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 30

Especificação do sistema: Captura • Principais especificações da captura: – Pretende-se um, dois ou

Especificação do sistema: Captura • Principais especificações da captura: – Pretende-se um, dois ou quatro sinais de entrada, com selecção por uma só tecla e indicação por três leds – Memória total para aquisição: 32 Kbytes – Pretende-se 10 alternativas para o tempo total de captura, entre 1 s e 24 h, com selecção por uma só tecla e com indicação através de 10 leds Introdução ao Projecto com Sistemas Digitais e Microcontroladores – Ode desenvolvimento fim da captura Metodologia de aplicações - 31 provoca a passagem à

Especificação do sistema: Visualização • Principais especificações da visualização: – É o modo definido

Especificação do sistema: Visualização • Principais especificações da visualização: – É o modo definido por omissão (o sistema deve passar a este modo após reset ou após completar a aquisição) – A especificação do número de canais activos (1, 2 ou 4) vale também para a visualização – A visualização de mais do que um sinal de entrada deve ser feita em faixas horizontais distintas do écran do osciloscópio Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 32

Representação visual Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de

Representação visual Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 33

Representação visual e interface com o utilizador Introdução ao Projecto com Sistemas Digitais e

Representação visual e interface com o utilizador Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 34

A importância do coprojecto • O que é que torna este exemplo particularmente interessante

A importância do coprojecto • O que é que torna este exemplo particularmente interessante sob o ponto de vista do co-projecto? – Seria possível a implementação da componente da especificação funcional correspondente à captura através de um C da família 80 C 51 a 12 MHz? – E no que respeita à componente da especificação funcional que diz respeito à parte Introdução ao Projecto com Sistemas Digitais e Microcontroladores da visualização? Metodologia de desenvolvimento de aplicações - 35

Implementação apenas com um C Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia

Implementação apenas com um C Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 36

Implementação apenas com um C(cont. ) • Apesar de não nos permitir satisfazer os

Implementação apenas com um C(cont. ) • Apesar de não nos permitir satisfazer os requisitos de rapidez na visualização, deveríamos equacionar se seria admissível: – Aceitar uma visualização menos confortável, o que permitiria aumentar o tempo entre operações consecutivas de escrita no conversor D/A? – Reduzir o número de amostras por canal, para que diminuísse o número de operações de Introdução ao Projecto com Sistemas Digitais e Microcontroladores escrita node. D/A por Metodologia de desenvolvimento aplicações - 37 intervalo de tempo?

Implementação apenas com hardware dedicado Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia

Implementação apenas com hardware dedicado Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 38

Implementação apenas com hardware dedicado (cont. ) • Apesar de permitir verificar todos os

Implementação apenas com hardware dedicado (cont. ) • Apesar de permitir verificar todos os requisitos apresentados, esta implementação apresenta as desvantagens principais seguintes: – Flexibilidade para permitir modificações posteriores, voluntariamente ou em resultado de erros de projecto – Maior complexidade (exercício: representar o diagrama de transição de estados do Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 39 controlador)

Implementação mista Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de

Implementação mista Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 40

Implementação mista (cont. ) • Continuamos a poder satisfazer todos os requisitos da especificação,

Implementação mista (cont. ) • Continuamos a poder satisfazer todos os requisitos da especificação, mas: – A memória para armazenamento dos valores digitalizados terá agora que dispor de um duplo porto de acesso – Se o controlo da visualização não for suficientemente simples para poder ser implementado num dispositivo programável de média complexidade, como é que esta Introdução alternativa ao Projecto com Sistemasde Digitais e Microcontroladores implementação se compara com Metodologia de desenvolvimento de aplicações - 41

Co-projecto: Conclusão • O exemplo considerado continha apenas duas componentes funcionais, com características que

Co-projecto: Conclusão • O exemplo considerado continha apenas duas componentes funcionais, com características que tornavam simples a identificação das vantagens e desvantagens associadas à implementação por hardware dedicado ou código residente em memória • Nos casos reais em que a metodologia de co-projecto tem aplicabilidade, a complexidade das situações requer o uso Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 42

Conclusão • Objectivo principal do capítulo: Introduzir as metodologias de desenvolvimento de aplicações baseadas

Conclusão • Objectivo principal do capítulo: Introduzir as metodologias de desenvolvimento de aplicações baseadas em microcontroladores e apresentar alguns exemplos concretos • Pistas para a continuação do estudo: – Projecto de “sistemas embutidos” (embedded systems) – Modelação e síntese automática no co-projecto Introdução ao Projecto com Sistemas Digitais e Microcontroladores Metodologia de desenvolvimento de aplicações - 43 entre hardware e software