Embedded systemen
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

Embedded systemen PowerPoint PPT Presentation


  • 123 Views
  • Uploaded on
  • Presentation posted in: General

Embedded systemen. Embedded software. Programming embedded systems. Theorie2 uur week. Practicum2 uur week. Programming embedded systems. Theorie. Inleiding embedded systemen Dieper op C ingaan Schrijven van een driver operating systemen testen van embedded software. Practicum.

Download Presentation

Embedded systemen

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Embedded systemen

Embedded systemen

Embedded software


Embedded systemen

Programming embedded systems

Theorie2 uur week

Practicum2 uur week


Embedded systemen

Programming embedded systems

Theorie

  • Inleiding embedded systemen

  • Dieper op C ingaan

    • Schrijven van een driver

  • operating systemen

  • testen van embedded software.

Practicum

  • Intruductie DE2-70

  • Het schrijven van een device driver.

  • Het ontwerpen van een embedded applicatie.


Embedded systemen

Wat is een embedded systeem ?

Elke apparaat dat een programmeerbare computer heeft, maar zelf geen computer is.

Wordt vaak gebruikt om apparatuur te optimaliseren.

Er zitten niet allerlei toeters en bellen op


Embedded systemen

output

analog

input

CPU

analog

mem

embedded

computer

Embedded computer => een eenvoudig overzicht


Embedded systemen

Kenmerken van embedded systemen

  • Geavanceerde functionaliteit.

  • Real-time verwerking.

  • Lage productiekosten.

  • Low power.

  • Betrouwbaar en veilig.

  • Ontworpen om strakke deadlines door kleine teams.


Embedded systemen

Microprocessors in

Embedded Systems


Embedded systemen

Waarom een microprocessor

  • Microprocessors zijn vaak zeer efficiënt: kan dezelfde logica gebruiken om vele verschillende functies.

  • Alternatieven: random logica op een field- programmable gate arrays (FPGA's), aangepaste logica, enz.


Embedded systemen

Soft Core Processors

Zijn soft: wordt met behulp van software-tools in een programmeerbare chip gezet.

Flexibel: kan aan de hand van de applicatie aangepast worden.

  • Een ontwerp kan snel gebracht worden.

  • Het testen en valideren van de software kan snel en zonder een specifiek board gebeuren.

  • Geen gesoldeer en bedrading.


Embedded systemen

De hardware configuratie


Embedded systemen

Eenvoudige hardware configuratie

  • CPU

  • 8 bits input

  • 8 bits output

  • JTAG


Embedded systemen

De software

  • Assembler programmeren of hogere programmeertaal

    • C,C++, JAVA, …. Is er wel een compiler

  • Hoe komen we bij de hardware.


Embedded systemen

Hardware rechtstreeks benaderen

#define Switches (volatilechar*) 0x21000

#define LEDs (char*) 0x21010

int main()

{

}

*LEDs=*Switches;

Leesstand schakelaars en stuur LED’s aan


Embedded systemen

Hardware rechtstreeks benaderen

#define Switches (volatilechar*) 0x21000

#define LEDs (char*) 0x21010

int main()

{

volatilechar *p=Switches;

volatilechar *q=0x21010; //warning

unsignedchar Leesin;

while(1)

{

Leesin=*p;

*q=Leesin;

}

return 0;

}


Embedded systemen

Hardware abstraction layer


Embedded systemen

Hardware abstraction layer

HAL systeem bibliotheek biedt de volgende diensten

  • Integratie met newlib ANSI C standaard bibliotheek.

  • Toegang tot de devices.

  • Consistente, standaard interface naar HAL diensten.

  • Device access, interrupthandling.

  • Systeem initialisatie, (voor main()).

  • Device initialisatie (voor main()).

Programmeur hoeft zich niet te verdiepen in low-level details


Embedded systemen

HAL support

  • Character-mode devices

  • Timer devices

  • File subsystems

  • Ethernet devices

  • DMA devices

  • Flash memory devices

Voorbeeld: FILE *fp = fopen(LCD_NAME, "w");


Embedded systemen

De hardware wordt benaderd via de HAL

(Hardware Abstraction Layer)


Embedded systemen

Opbouw van de software

  • Embedded systeem bestaat uit hardware en software

  • Een embedded systeem is altijd hardware afhankelijk

  • Het belang van software in embedded systemen wordt steeds groter

  • Software ontworpen voor embedded systemen wordt steeds abstracter

  • Portabiliteit van de code wordt door de abstractie steeds groter


Embedded systemen

De System.h file

Wordt aangemaakt door de NIOS IDE

De system.h file biedteen complete software beschrijving van de degemaakteNios II systeemhardware.

De system.h file komt overeen met de werkelijke Nios II hardware, zoals die beschreven staat in de *. PTF file.

Een nieuw systeem betekent een nieuwe ptf file dus ook een nieuwe system.h file.


Embedded systemen

De System.h file

De system.h file beschrijft elke peripheral en levert de volgende gegevens.

  • De hardware configuratie van de peripheral.

  • Het basis adres.

  • Een symbolische naam for de peripheral.

Wanneer de hardware verandert, blijft de source code geldig.

Edit nooit in een system.h file


Embedded systemen

De System.h file

#define SWITCHES_NAME "/dev/Switches"

#define SWITCHES_TYPE "altera_avalon_pio"

#define SWITCHES_BASE 0x00021000

#define SWITCHES_SPAN 16

#define SWITCHES_DO_TEST_BENCH_WIRING 0

#define SWITCHES_DRIVEN_SIM_VALUE 0

#define SWITCHES_HAS_TRI 0

#define SWITCHES_HAS_OUT 0

#define SWITCHES_HAS_IN 1

#define SWITCHES_CAPTURE 0

#define SWITCHES_DATA_WIDTH 8


Embedded systemen

Hardware rechtstreeks benaderen

#include “system.h”

#define Switches (volatilechar*) SWITCHES_BASE

#define LEDs (char*) LEDS_BASE

int main()

{

}

*LEDs=*Switches;

Leesstand schakelaar en stuur LED’s aan


Embedded systemen

Hardware benaderen via de HAL

#include “system.h”

#include "altera_avalon_pio_regs.h"

int main()

{

}

in = IORD_ALTERA_AVALON_PIO_DATA(SWITCHES_BASE);

out = in;

IOWR_ALTERA_AVALON_PIO_DATA(LEDS_BASE, out);

Leesstand schakelaar en stuur LED’s aan


Embedded systemen

Hardware benaderen via de HAL


  • Login