Embedded systemen Embedded software.

Slides:



Advertisements
Verwante presentaties
Vincent Poté Nelis Vandermeiren Simen Akkermans Kevin De Neef
Advertisements

PROS2 Les 13 Programmeren en Software Engineering 2.
Objectgeoriënteerd Programmeren in C++

De zin en onzin van escrow
Elektrotechniek Elektrotechniek is een heel breed vakgebied.
Hoe werkt een rekenmachine?

™.
PROS2 Les 2 Programmeren en Software Engineering 2.
Kennismaking met de computerconfiguratie
Ronde (Sport & Spel) Quiz Night !
BESTURINGS SYSTEMEN Vincent Naessens.
Arduino project.
Gestructureerd programmeren in C
Opleiding ICT © J.W. Jonker Dia 1/22 Systemen Besturingssoftware Windows XP Mark van Heck.
1 Device driver. 2 Hardware Operating Systeem Prog1Prog2 System calls/ API Device drivers Gebruiker afschermen van de hardware.
Inleiding programmeren in C++ Life Science & Technology 19 januari Universiteit Leiden.
PROS2 Les 11 Programmeren en Software Engineering 2.
Aan de slag met Evernote Documenteer je leven, overal en altijd 1.
Auteursomgeving voor Digitale Componenten
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
F. Rubben NI Lookout 1 06/RIS/05 - NI Lookout VTI Brugge F. Rubben, ing.
Steven Van Acker. Transmeta Crusoe - Steven Van Acker - Mei Overzicht  Inleiding  Het Idee  De Technologie  CodeMorphing  LongRun  NorthBridge.

Hoofdstuk 6: Controle structuren
1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Functies Records Dynamische gegevenstructuren Macro’s C.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Sneeuwschuivers en leren sneeuwschuiven myResearch Portal en het belang van workflow data analyse Richard L. Zijdeman DAI: info:eu-repo/dai/nl/
TUDelft Knowledge Based Systems Group Zuidplantsoen BZ Delft, The Netherlands Caspar Treijtel Multi-agent Stratego.
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
Numerieke Natuurkunde
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur laag-niveau programmeren uit hoofdstuk 15 van Alan Burns, Andy Wellings,
Werken aan Intergenerationele Samenwerking en Expertise.
Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica FPGA : Field Programmable Gate Array DIA 1 DIA 1 Verdere FPGA-producten Discontinued!
Hoe werkt een rekenmachine?
P. 1 Vakgroep Informatietechnologie Scanf voorbeeld #include int main(void) { int i=-1,j=-1,k=-1,l=-1; int b; b=scanf("%d %d %d %d",&i,&j,&k,&l); printf("res=%d.
Software-ontwikkeling I
Mail: Jan Zuurbier  Mail:
Dia 1 Productencatalogus: technische sessie Samen beter informeren.
1 ICT Infrastructuren 19 november 2007 David N. Jansen.
Cybersecurity puzzelen aan en mét computers Erik Poll
Power PC Assembler. Assembler toolkit bevat Assembler zelf Linkerlibrarian.
1/1/ /e/e eindhoven university of technology OGO 1.2 project Startbijeenkomst Een microprocessor… …om warm voor te lopen.
ZijActief Koningslust 10 jaar Truusje Trap
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau: “systeem-architectuur” cpu-chips.
Ontwikkeld door CWB3. Opbouw Presentatie 1.Wat is GeoSport? 2.Ontwerp 1.Gebruikte ontwerpmethodieken 2.Ervaring 3.Implementatie 1.Gebruikte technologieën.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
De financiële functie: Integrale bedrijfsanalyse©
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
ZijActief Koningslust
April Slide 2"Insert" Date via Date & Time Sales product training Amsterdam, the Netherlands Lennart van Houwelingen Fallbrook Technologies.
Etherflow Voor het aansluiten van een flowmeter op een Ethernet netwerk Afstudeerpresentatie Michel van der Net Elektrotechniek Avans Hogeschool Breda.
De Block Gilles Dedeyne Michiel Nimmegeers Bjorn
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen  DB036 printjes subroutines.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
Onderwerp: PIC assembler programmeren
tircms02-p les 1 Operating Systems practicum
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
Les 1: Zaterdag 10 mei 2014 Wim Peeters
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen MPLAB.
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
Embedded systemen Programmeren op de Arduino Les 5 analoge input en motoren.
Programmeren.
HERZIENING INFORMATICA DEEL 1.
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
3 Hardware 3.1 De processor en intern geheugen
Transcript van de presentatie:

Embedded systemen Embedded software

Programming embedded systems Theorie 2 uur week Practicum 2 uur week

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.

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 computer => een eenvoudig overzicht CPU mem input output analog embedded computer

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

Microprocessors in Embedded Systems

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.

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.

De hardware configuratie

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

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

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

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;

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

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

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

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

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

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.

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

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

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

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

Hardware benaderen via de HAL