IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 1

Relevanta dokument
Föreläsning 4 IS1300 Inbyggda system

Beijer Electronics AB 2000, MA00336A,

Support Manual HoistLocatel Electronic Locks

Boiler with heatpump / Värmepumpsberedare

2.1 Installation of driver using Internet Installation of driver from disk... 3

ECS Elektronik, dator och programvarusystem Kista, Forum, hiss C, plan 8

Webbregistrering pa kurs och termin

Webbreg öppen: 26/ /

Quick Start Guide Snabbguide

Förskola i Bromma- Examensarbete. Henrik Westling. Supervisor. Examiner

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm



PROFINET MELLAN EL6631 OCH EK9300

Det finns en handledning till kortet på hemsidan. AVR STK500.

INSTALLATION INSTRUCTIONS

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167

HANTERING AV UPS CX

Application Note SW

Ett hållbart boende A sustainable living. Mikael Hassel. Handledare/ Supervisor. Examiner. Katarina Lundeberg/Fredric Benesch

Isolda Purchase - EDI

Adding active and blended learning to an introductory mechanics course

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

Safe Logic Compact. Konfigurering av Rexroth säkerhets PLC. Snabbguide Svenska

electiaprotect GSM SEQURITY SYSTEM Vesta EZ Home Application SMART SECURITY SYSTEMS! SVENSKA ios Android

Laboration i digitalteknik Datablad

Förändrade förväntningar

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.

DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15

System arbetssystem informationssystem

Kursplan. MT1051 3D CAD Grundläggande. 7,5 högskolepoäng, Grundnivå 1. 3D-CAD Basic Course

Processprogrammering och operativsystem Introduktion. Kursinformation. Varför operativsystem?

Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH

D-RAIL AB. All Rights Reserved.

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

Accomodations at Anfasteröd Gårdsvik, Ljungskile

VAD SKULLE DU HA VALT PDF

Stad + Data = Makt. Kart/GIS-dag SamGIS Skåne 6 december 2017

Utkast. Programmering. Signals. Olika typer av program. Sommarkurs Avbrott i mjukvara.

Installation Instructions

Sara Skärhem Martin Jansson Dalarna Science Park

LOG/iC2. Introduction

Laboration i digitalteknik Datablad

Här kan du checka in. Check in here with a good conscience

CM FORUM. Introduktion till. Configuration Management (CM) / Konfigurationsledning. Tobias Ljungkvist

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Styrteknik : Funktioner och funktionsblock

Anvisning för Guide for

InstalationGuide. English. MODEL:150NHighGain/30NMiniUSBAdapter

Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17

Styrteknik: Binära tal, talsystem och koder D3:1

The Finite Element Method, FHL064

6 th Grade English October 6-10, 2014

PFC and EMI filtering

The Municipality of Ystad

SkillGuide. Bruksanvisning. Svenska

1. Unpack content of zip-file to temporary folder and double click Setup

Instruction Manual. Svenska, English. Power Bank. Model: PRBN

Teenage Brain Development

Taking Flight! Migrating to SAS 9.2!

The reception Unit Adjunkten - for newly arrived pupils

Displaysystem. Hans Brandtberg Saab Avitronics SAAB AVITRONICS

BBT057/ BBC057 BBCD057/ BBT057-NL HOLDEN COLORADO 9/2016+ HOLDEN TRAILBLAZER WD & 4WD Models

Windlass Control Panel v1.0.1

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Tentamen PC-teknik 5 p

3 rd October 2017

IRAB Mottagare sida 2-5 Tele Radio AB Mottagare sida 6

2.45GHz CF Card Reader User Manual. Version /09/15

12.6 Heat equation, Wave equation

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

GeoGebra in a School Development Project Mathematics Education as a Learning System

Här kan du sova. Sleep here with a good conscience

Installation av F13 Bråvalla

Föreläsning 4 - mjukvara

Quick-guide to Min ansökan

MÅLSTYRNING OCH LÄRANDE: En problematisering av målstyrda graderade betyg

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167

Datasäkerhet och integritet

FORTA M315. Installation. 218 mm.


CanCom Bluetooth BLUETOOTH V5.6. Specifikation Specification LED. transceiver

H0008 Skrivskydd FBWF

PowerCell Sweden AB. Ren och effektiv energi överallt där den behövs

Discovery FSQ, IAA Utgåva/Edition 11. SE Habo. Klass 2 IAA FSQ-I 26W. 4 mm c c mm N L

Skattejurist för en dag på Deloitte i Malmö! 26 april 2016

BANNERS PÅ KINGSIZE.NO OCH KINGSIZEMAGAZINE.SE

Mönster. Ulf Cederling Växjö University Slide 1

Creo Customization. Lars Björs

Not everything that counts can be counted, and not everything that can be counted counts. William Bruce Cameron


RADIATION TEST REPORT. GAMMA: 30.45k, 59.05k, 118.8k/TM1019 Condition D

LARS. Ett e-bokningssystem för skoldatorer.

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

VHDL Basics. Component model Code model Entity Architecture Identifiers and objects Operations for relations. Bengt Oelmann -- copyright

Information om utbildningsprogram. Högskoleingenjör Datateknik - TIDAB

Transkript:

Bengt Molin Tel: 08-790 4448 E-post: bengtm@kth.se EKT Komponenter och kretsar ICT-skolan, Informations- och kommunikationsteknik Kista, Electrum, hiss C, plan 4 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 1

Föreläsning 1 Inbyggda system Kursinformation Examination Labuppgifter egen laptop Vad är ett inbyggt system? Ett exempel Vilka kunskaper behövs för att utveckla ett inbyggt system? Skriva rapport 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 2

Kursinformation Examinator, kursansvarig Bengt Molin Kursregistrering Betygsättning Lab P/F (4,5 hp) Konstruktionsuppgifter Tenta A-F (3 hp) Skriftlig tentamen Kursmål, se kurswebbsida, kurs-pm Studentrepresentanter kursnämnd:?? Problem i schema 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 3

Examination LAB1 (4,5 hp) Betyg P/F TEN1 (3 hp) Betyg A-F Kursbetyget kommer att sättas enligt följande poängsystem Skriftlig tentamen Poäng 0, 1 eller 2 Inledande uppgift pingpong Villkor för att få fortsätta kursen Större uppgift Poäng Arkitekturbeskrivning 0, 1 Genomförande, komplexitet 0, 1, 2, 3 Rapport, dokumentation 0, 1, 2 Realtidsuppgift 0, 1, 2 Slutbetyg A 10 B 9 C 7-8 D 6 E 5 2014-01-21 IS1300 Inbyggda system Obligatorisk närvaro vid Seminarier Laborationer KTH/ICT/EKT VT2014 /BM 4

Kursen Föreläsningar Tenta Inledande uppgift pingpong Större uppgift Inbyggda system Realtidsoperativsystem 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 5

Bra exempel; e-athletics Vann Embedded Award 2013 Kategori mikro/nano Uppmärksammad i press Lokalt VLT Provins Fackpress Uppfinnaren och Konstruktören Process Nordic

Kommersialisering Från studentprojekt till företag Nya tillämningar I samarbete med SEmedlemmar och i nätverket runt SE

Embeddedpriset.nu

Definition of Embedded System Special-purpose computer system designed to perform a limited / dedicated number of functions often in realtime Any device that includes a programmable computer but is not itself a general-purpose computer. Typically consists of Microprocessor (MPU) / Microcontroller (MCU) Memory I/O ports Sensors Communication 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 9

Characteristics of Embedded Systems Designed for specific purpose Interacts with environment Real-time operation Controlled by embedded computer Low manufacturing cost Low power Designed to tight deadlines 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 10

Design Challenges Price, low cost Light weight Reliability Low power Portable Complexity 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 11

Challenges in embedded design How much hardware do we need? Choice of microcontroller? Choice of development platform? How do we meet our deadlines? Faster hardware or better software? How do we minimize power? Does it really work? How to test the system? 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 12

Design process Requirements Specification Hardware and Software Architectures Hardware Design Software Design System integration System test 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 13

Presentation Uppgift Pingpong Det finns två spelare, L och R (Left och Right). Den som servar trycker på sin knapp. Då tänds lysdioder, en i taget, för att animera att en boll rör sig till motspelaren. En boll returneras om knappen trycks ned samtidigt som yttersta dioden är tänd. Om man trycker för tidigt eller för sent är det en tappad boll och motspelaren får poäng. En missad boll markeras genom att alla lysdioder blinkar till lite kort, varefter poängställningen visas. Poängställningen efter en vunnen och tappad poäng visas ett kort ögonblick genom att tända upp så många lysdioder på respektive sida som motsvarar antal poäng. Spelarna turas om att serva. Vid start kan vem som helst serva, men det är den andra spelaren som servar nästa gång. Om till exempel vänster spelare servar första gången är det höger spelare som servar nästa gång oberoende av vem som tappat poäng. Den som först kommer till fyra vunna poäng vinner och spelet avstannar. Den tid varje lysdiod är tänd skall minska allteftersom hur länge en boll varit i spel. På så sätt ökar bollhastigheten och det blir allt svårare att hinna returnera bollen. 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 14

Hur löser vi detta problem? Du skall lösa denna uppgift fram till torsdag nästa vecka! Villkor för att få fortsätta kursen! 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 15

Hur ska vi testa programmet? Traditionellt DLP = Debug Later Programming TDD = Test Driven Development 1. Add a small test 2. Run all the tests and see how the new one fail 3. Make the small changes to pass the test 4. Run all the tests and see the new one pass 5. Refactor to remove duplication and improve expressiveness Refactor: Changing structure without changing its behavior. Cleaning! Bok: Grenning, Test-Driven Development for Embedded C Ref: http://en.wikipedia.org/wiki/test-driven_development 16

Vårt målsystem STM32F3 Discovery Microcontroller STM32F303VCT6 Dokumentation du behöver ha tillgång till (hämtas från st.com) Manual Discoverykortet UM1570 Datablad STM32F303x Referensmanualen RM0316 Manual Peripheral Library UM1581 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 17

Exempel på initiering av GPIO GPIO = General Purpose Input Output, vanliga digitala in- och utgångar Initiering av klocka; Clock Tree Initiering av port Control register Status register Data register 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 18

Digitala In- och utgångar 2014-01-21 IS1300 Inbyggda system KTH/ICT/EKT VT2014 /BM 19

Kompilering och länkning För att få ett körbart program måste programmet Kompileras Länkas Läggas in i minnet på rätt ställe Initieras 20

Compiler and assembler From source code to object code 21

Linker Linking object files and library files to an executable HEX file for download 22

Linker output 23

Initialization phase after reset Initialization is executed when an application is started (the CPU is reset) but before the main function is entered Hardware initialization, for example initializing the stack pointer The hardware initialization is typically performed by the system startup code Cstartup. Software C/C++ system initialization Typically, this includes making sure that every global (statically linked) C/C++ object receives its proper initialization value before the main function is called. Application initialization For a bare-bone application, it can include setting up various interrupts, initializing communication, initializing devices, etc. For a ROM/flash-based system, constants and functions are already placed in ROM. All symbols placed in RAM must be initialized before the main function is called. The linker has already divided the available RAM into different areas for variables, stack, heap, etc. 24

1 Initialize stack pointer When an application is started, the system startup code first performs Hardware initialization, such as initialization of the stack pointer to point at either the start or the end depending on your microcontroller of the predefined stack area. 25

2 Zero-initialized variables Then, memories that should be zero-initialized are cleared, in other words, filled with zeros. Typically, this is data referred to as zero-initialized data; variables declared as, for example, int i = 0; 26

3 Initialize data For initialized data, data declared with a non-zero value, like int i = 6;, the initializers are copied from ROM to RAM. 27

4 Finally, main is called Finally, the main function is called. 28