Efteruddannelse Embedded C Modul 1 (Mandag den 11/1-2010) 07.01.2010.

Slides:



Advertisements
Lignende præsentationer
Dagens program Hvad er frivillig.dk Hvordan er frivillig.dk bygget op
Advertisements

Videregående pc-vejledning
Forsiden 1.Denne knap bruges når du vil taste dagens resultater ind. 2.Denne knap skal kun bruges hvis du allerede har gemt data og du finder ud af at.
Klik på Aktivér redigering på meddelelseslinjen.
REGISTRERINGSDATABASEN
Vejledning i blog-værktøjet WordPress Opdateret august 2009.
Vejledning i blog-værktøjet WordPress Opdateret februar 2009.
Beskyt din computer og dine data!
Formularer (Access, del 3)
Introduktion til Kursus i Grundlæggende C# programmering
Hvordan bruger jeg First Class konferencerne ?
TEST 3 modul 1 20 spørgsmål. Du skal klikke med musen på det rigtige svar, så kommer du automatisk til næste spørgsmål Klik for start.
Intro Forelæsning 2 Linux install-party lør.14.sept kl – man. 14.okt – Kursets omfang :7,5 ECTS Kursussammensætning: forelæsning.
Efteruddannelse Embedded C
NetBeans Installation og brug.
Hvordan man skriver koden.
01 – Java platform for starters. 2 NOEA2009Java-kursus – Java Platform Introduktion til Java Baggrund Hvad er Java? Faciliteter i Java.
Intro Variabler - datatyper. 2. forelæsning Hvad skete sidste gang Hvad er PHP? Kursussammensætning: læse – newsgroup – forelæsning – øvelsestime – aflevering.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
Intro Projekttyper v/ Lise Louv, Uddannelsesafdelingen Siden sidst: evaluering på opgaver og virtuel kursus. Kursets ugeforløb læse – forelæsning – øvelsestime.
Begreber og Redskaber 2 BRP.
Efteruddannelse Embedded C Modul 3 (Onsdag den 13/1-2010)
Begreber og Redskaber 2. Plan for idag Noget om bestanddelene i et programmeringssprog Syntaksbeskrivelse af java Næste gang: –Binære tal –Repræsentation.
Compiler/fortolker struktur Mellem- kode Mellemk.- optimering Kode- generering Kode- optimering Lexikalsk- analyse Syntax- analyse Semantik- analyse -
XML Rasmus D. Lehrmann DM Indhold Hvad er XML? XML standarder Hvor bruges XML? XML struktur Træ struktur Element & Attribute Syntaks i XML Stylesheets.
Intro til C# apps Kodegennemgang af simpel C# app
Buttom-up parsning: Hvor er vi Mellem- kode Kald til Runtimesys. Mellemk.- optimering Kode- generering Kode- optimering Leksikalsk- analyse Syntax- analyse.
Videregående pc-vejledning 60+Bornholm Velkommen til.
Efteruddannelse Embedded C Modul 1 (Mandag den 19/4-2010)
Delphi og C++ Builder C++ Builder. C++ Historie Sproget blev designet for AT&T af danskeren Bjarne Stoustrup En objektorienteret videreudvikling.
Program Design – 4 Introduktion til PHP. Dagens lektion Hvad er PHP?  - og lidt historie Hvordan virker PHP? Grundlæggende PHP  Variable  Typer  Løkker.
W1b1 PC baseret analyse og simulering. w1b2 Definition Digital Elektronisk beregningsmaskine, der har intern hukommelse til lagring af program og mellem-regninger.
1 PC baseret dataanalyse og simulering Week2 A. 2 SAS input/output filer Inddata -textfil - SAS-program -textfil- SAS datasæt SAS system SAS listing -print.
Fundamentale datastrukturer
Efteruddannelse Embedded C Modul 2 (Tirsdag den 20/4-2010)
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
FYSISK DESIGN 1. Hvem er vi Oskar, Troels og David.
Procestræ under afvikling af cp init login shell cp cp src dest.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Efteruddannelse Embedded C Modul 3 (Onsdag den 21/4-2010)
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner findEn findAlle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed.
Per Printz Madsen 1 Linux kernen Monolithic kernel Support for dynamiske moduler Få kerne tråde Preemptive.
Tekst filer Tekstfiler opbygges normalt af linier, hvor disse ikke behøver at være samme længde. Når man skal arbejde med tekstfiler, ønsker man metoder.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Indledende Programmering Uge 6 - Efterår 2006
Multiple processer på web-site Web- server filer Kunde 1 Kunde 2 Kunde p1p2p internet.
FEN IntroJava AAU1 Introduktion til programmering Et program: HelloWorld Objekter og klasser.
Call Center, adm kursus, indledning Indledning (registrering af kursister & præsentation) 10 min. Hjælpeværktøjer 5 min. System overblik 30 min. Administrator.
Programmering I Java/C# Datatekniker Dit første projekt.
Nu har du installeret uVision og set at både programmet og boardet virker. Man kan ikke lære at cykle ved at se på andre, så i det efterfølgende skal du.
1587 Server - Blandet miljø Webintegrator HF1
1587 Server - Blandet miljø Embedded I
Embedded SW – C & picoBlaze
ADC (Analog/Digital converter) Bruges til at måle analoge spændinger på kontrollerens inputporte. På dit board sidder en drejeknap under displayet som.
Lav et nyt projekt og tilføj denne gang pakken Graphic LCD.
IOT – Elkedel på internettet
Studiepraktik Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Programmering.
Præsentationens transcript:

Efteruddannelse Embedded C Modul 1 (Mandag den 11/1-2010)

Modul 1 Indhold: 1)Introduktion 2)Den valgte platform (PIC18F Starter Kit 1) 3)Udviklingsværktøj (MPLAB) 4)Grundelementer i sproget C 5)Afrunding på dagen

Præsentation af kurset (Embedded C)  Beskrivelse af kurset Beskrivelse af kurset  Plan og indhold for kurset Plan og indhold for kurset

Praktiske oplysninger Møde tider og skema: Mandag til torsdag: Vi starter med morgen kaffe 8.30 Ca er der frokost slutter dagens modul Fredag: Her slutter dagens modul 12.30

Praktiske oplysninger Kontakt informationer: Skolen kan kontaktes pr. telefon på eller pr. Skolens adresse er : Sofiendalsvej 60, Postboks 71, 9100 Aalborg Underviser kan kontaktes på tlf Via mail: Eller via Messenger på

Praktiske oplysninger Login til skolens netværk: Hver kursist får tildelt et login til skolens netværk, ved første skal password ændres, så man får et unik password. Med sit password er det også muligt at koble op til skolens trådløse netværk (det er et krav at man har en virus scanner installeret på ens maskine. Undervisningsmateriale kan fra skolens netværk hentes fra serveren \\o2232 i kataloget \EmbeddedCU2\\o2232 Fra internettet via

Udviklingsplatformen

PIC18 Starter Kit Producent: Microchip Varenummer: DM Pris: 60 USD

Features for PIC18F starter kit Onboard Debugger Virker sammen med MPLAB Mulighed for tilslutning af ekstern debugger f.eks PICkit

Features for PIC18F starter kit Microcontroller: PIC18F46J50 64kbyte Flash program memory 3776 byte Ram nanoWatt XLP Technology USB interface Clock frekvens 48MHz Low cost

Features for PIC18F starter kit Capacitive Touch Buttons og scroll bar.

Features for PIC18F starter kit 2GB micro SD-Kort Kan sammen med bootloader anvendes til at boote applications programmer fra fra.

Features for PIC18F starter kit Menu knap, anvendes b.la til at aktivere SD flash bootloader

Potentiometer der anvendes til at generere input spænding til A/D-konverter

Monochrom OLED display 128x64 pixel Grafisk og alfanumerisk

Features for PIC18F starter kit 3-aksers acceleration sensor BMA150

Features for PIC18F starter kit Mini-B USB til host

PIC18F46J50’s Features  Parallel Master Port (PMP)  Real-Time Clock and Calendar (RTCC)  USB Device Capability  Charge Time Measurement Unit (CTMU)  Master Synchronous Serial Port (MSSP)  Enhanced Capture/Compare/PWM (ECCP)  10-Bit, 13-Channel Analog-to-Digital Converter  Two Enhanced USART  Peripheral Pin Select

Forbindelse af board

Bootloader

Bootloader display kommunikation

Øvelse Lav øvelserne i filen : Lab1.docx Findes her : \\o2232\EmbeddedCU2\Opgaver

C’s Historie C er udviklet i 1972 af Dennis Ritchie fra Bell Telephone Laboratories og det skulle anvendes I forbindelse med en ny version af UNIX.Dennis RitchieBell Telephone Laboratories Det er siden hen blevet et meget anvendt programmeringssprog der er god til lidt af hvert. Mange mere moderne sprog anveder samme syntaks som C, hvilket gør det lettere at lære sig nye sprog.

Fra hardware til software (løg modellen)

Compileren

Compilering af flere filer

Processen fra source kode til kørende app.

Eksempel på vejen fra Source code til eksekverbar kode

Hvad kende tegner embedded program Nedenfor er opstillet nogle ”krav” eller mål vi gerne vil nå når vi laver embedded programmer (og nok også andre typer af programmer)

Eksempel på et simpelt C program #include void main() { printf(”Dette er en lille test\n”); printf(”Dette bliver skrevet på næste linie”); getchar(); return 0; }

Gundbestandel i et C program (basic elements) Et C program består af nogle grundlæggende bestanddele disse er listet nedenfor, der er brugt engelsk navne, men i parentes er den danske oversættelse skrevet: Comments (Kommentarer) Constants (Konstanter) Variables (Variabler) Expressions (Udtryk) Operators (Operatorer) Identifiers (Identifikatorer) Statements (ordre, sætning) Statement block (blok)

Comments Start på comments i c /* Slut på comments i C */ // betyder kommentar linien ud, er C++ syntaks Eks.: /* Dette er mit første program Programmet skriver hello world */ Eks.: // Her er en linie med en comments

Constants En constant er en ”værdi” der som navnet antyder ikke kan ændre sig. En konstant kan være tekst eller tal. Eks.: i = 100; Her er 100 en tal konstant; Eks.: ”Dette er en tekst” Her er vist et eksempel på en konstant tekst

Variables Er elementer der kan indeholde en værdi der kan ændre sig. Eks.: antal = 123; Her er antal en variabel i eksemplet bliver variablen tildelt værdien 123.

Expressions Et udtryk er en kombination af konstanter, variable og operatorer der tilsammen danner et udtryk der kan beregnes af computeren. Eks.: *(antal +10) Eks.: 10*cos(x)

Operators Der findes i C flere typer af operatorer boolske, binære og aritmetiske. Den sidste type er den vi normalt anvender når vi skal lave matematiske udtryk. SymbolBetydning +Addition -Subttraktion og fortegns minus *Multiplication /Division %Rest af heltals division (modulus)

Identifiers Udover tal og operatorer kan et udtryk indeholde navne eller referancer til f.eks funktioner etc. Disse navne kaldes identifiers og skal overholde nogle regler. (Der skeldnes mellem store og små bogstaver) Første karakter i identifier: 1.Karakterene A til Z og a til z 2._ (underscore) Efterfølgende karakterer: 1.Karakterene A til Z og a til z 2._ (underscore) 3.Tallene fra 0 til 9 Generelt må man ikke anvende speciale karakterer i identifiers

Statemets I C betegner en statement en ”komplet” instruktion eller kommando og afsluttes med et semikolon. Statements afvikles i den rækkefølge de er skrevet i programmet. Eks.: i = 7913; antal = 20*(i + 30);

Statement blocks En gruppe af statements kan tilsammen danne en blok (ved at placere dem mellem { }). En blok behandles som en statement. Eks.: for (i = 0; i < 10; i++) { antal = i; sum += antal; }

Funktioner i C I C kan programmer deles op i mindre bygge bloke kaldet funktioner, disse kan herefter kaldes når vi ønsker at gøre brug af dem i vores program. Eks.: int gennemsnit(int x, int y) { int resultat; resultat = (x+y)/2; return resultat; }

Data typer Heltals datatyper er datatyper der indeholder et heltal (!! det kan godt være et nummer på et symbol i ascii tegn tabellen). Komma tals datatyper (floating-point) er datatyper der indeholder et tal der er delt op i en heltals del og en decimaldel. I C skal variable erklæres før de kan anvendes, og ved erklæringen skal datatypen angives. (C er et såkaldet type stærkt sprog) Heltals datatyperFloating-point datatyper char int float double

Char Datatype der normalt er på 8 bit Kan indeholde et tal fra 0 til 255 eller et nummer på en karakter ifølge ASCII tabellen Kan udskrives som et tal eller som en karakter. Kan anvendes i udregninger (udtyrk) Eks char c; // c erklæres af datatypen char c = ’A’; // c tilskrives værdien for karakterens A // ASCII ”nummer”

Speciale karakterer Nogle karakterer i ASCII tabellen er såkaldte speciale karakterer, disse kan være karakterer der ikke umiddelbart er ”synlige”, men har en anden betydning end som et synlig symbol (f.eks return tasten, tab tasten etc). For at angive en special karakter benyttes escape karakteren \ efterfulgt af et bogstav eller et tal. KarakterBeskrivelse \b \f \n \r \t Backspace Formfeed New line Return Tab

Int Datatype der kan indeholde 2 16 = forskellige værdier. Datatypen angives med int. Unsigned Signed

Little-endian format MPLAB-C anvender little-endian format når der gemmes data i memmory der er større end en byte

Oversigt over datatyper i C

Float og double Range for Floating-Point Typer (MPLAB-C18)

Reserverede ord i C Følgende ord må ikke anvendes som identifier i et C program: C Reserved Words: autobreak case chart const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

Udviklingsværktøjet MPLAB og C18

Demo af MPLAB I kataloget C:\Microchip Solutions\PIC18F Starter Kit 1\Documentation findes user manualen for PIC18F starter kit og her findes en god gennemgang af hvordan man opretter projekter i MPLAB.  Demo af MPLAB

Gennemgang af helloworld koden Hvorfor kalder vi funktionen BL_CheckLoaderEnabled(); ? Hvad sker der hvis vi fjerner kaldet til BL_CheckLoaderEnabled(); ? Tegn hvordan funktioner kaldes i programmet

Øvelse I mappen /src findes projektet helloworld udpak dette og åben det herefter med MPLAB læs programmet igennem (kun main.c filen), ændre printf linien så du udskriver dit eget navn. Compiler koden og læg hex filen over på udviklingsboardet. Afprøv dit program, virker det ?. Prøv evt. at lave nogle ændringer i koden kan du udskrive mere end en linie ?

Spørgsmål Besvar følgende spørgsmål fra kapitel 6.6: Review questions 6.1, 6.2, 6.9, 6.13 Thought questions 6.12, 6.16, 6.21, 6.22, 6.31, 6.42

Opsamling Gennemgang af spørgsmål Kommentarer Tak for i dag