De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Embedded systemen Embedded software.

Verwante presentaties


Presentatie over: "Embedded systemen Embedded software."— Transcript van de presentatie:

1 Embedded systemen Embedded software

2 Programming embedded systems
Theorie 2 uur week Practicum 2 uur week

3 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.

4 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

5 Embedded computer => een eenvoudig overzicht
CPU mem input output analog embedded computer

6 Kenmerken van embedded systemen
Geavanceerde functionaliteit. Real-time verwerking. Lage productiekosten. Low power. Betrouwbaar en veilig. Ontworpen om strakke deadlines door kleine teams.

7 Microprocessors in Embedded Systems

8 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.

9 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. Er wordt bij het practicum zelf een eigen opcode gemaakt 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.

10 De hardware configuratie

11 Eenvoudige hardware configuratie
CPU 8 bits input 8 bits output JTAG JTAG De Joint Test Action Group

12 De software Assembler programmeren of hogere programmeertaal
C,C++, JAVA, …. Is er wel een compiler Hoe komen we bij de hardware.

13 Hardware rechtstreeks benaderen
#define Switches (volatile char*) 0x21000 #define LEDs (char*) 0x21010 int main() { } *LEDs=*Switches; Lees stand schakelaars en stuur LED’s aan

14 Hardware rechtstreeks benaderen
#define Switches (volatile char*) 0x21000 #define LEDs (char*) 0x21010 int main() { volatile char *p=Switches; volatile char *q=0x21010; //warning unsigned char Leesin; while(1) Leesin=*p; *q=Leesin; } return 0;

15 Hardware abstraction layer
􀁺 Altera’s HAL library 􀁺 is build on top of device drivers 􀁺 is integrated into the ANSI C standard library 􀁺 defines functions to access the hardware (API) 􀁺 Changes in hardware or device drivers do not affect application software

16 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, interrupt handling. Systeem initialisatie, (voor main()). Device initialisatie (voor main()). Programmeur hoeft zich niet te verdiepen in low-level details

17 HAL support Character-mode devices Timer devices File subsystems
Ethernet devices DMA devices Flash memory devices Voorbeeld: FILE *fp = fopen(LCD_NAME, "w");

18 De hardware wordt benaderd via de HAL (Hardware Abstraction Layer)

19 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

20 De System.h file Wordt aangemaakt door de NIOS IDE
De system.h file biedt een complete software beschrijving van de de gemaakte Nios 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.

21 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

22 De System.h file #define SWITCHES_NAME "/dev/Switches"
#define SWITCHES_TYPE "altera_avalon_pio" #define SWITCHES_BASE 0x #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

23 Hardware rechtstreeks benaderen
#include “system.h” #define Switches (volatile char*) SWITCHES_BASE #define LEDs (char*) LEDS_BASE int main() { } *LEDs=*Switches; Lees stand schakelaar en stuur LED’s aan

24 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); Lees stand schakelaar en stuur LED’s aan

25 Hardware benaderen via de HAL


Download ppt "Embedded systemen Embedded software."

Verwante presentaties


Ads door Google