Difference: Lecture1:Introduction (1 vs. 4)

Revision 42017-09-14 - uli

Line: 1 to 1
 
META TOPICPARENT name="LectureSlides"

Start Presentation

Slide 1: Course on Embedded Systems, Introduction

Changed:
<
<

Held at the University of Cape Coast

Winter Semester 2017

Lecture 1

Uli Raich

>
>

Held at the University of Cape Coast

Winter Semester 2017

Lecture 1

Uli Raich (uli.raich@cern.ch)

 

Introduction

Revision 32017-09-07 - uli

Line: 1 to 1
 
META TOPICPARENT name="LectureSlides"

Start Presentation

Slide 1: Course on Embedded Systems, Introduction

Line: 147 to 147
 
META FILEATTACHMENT attachment="PDP11-40_fontpanel.JPG" attr="" comment="" date="1504611447" name="PDP11-40_fontpanel.JPG" path="PDP11-40_fontpanel.JPG" size="213736" user="uli" version="1"
META FILEATTACHMENT attachment="compaq.png" attr="" comment="" date="1504612374" name="compaq.png" path="compaq.png" size="504663" user="uli" version="1"
META FILEATTACHMENT attachment="specsOnLinux.png" attr="" comment="" date="1504612802" name="specsOnLinux.png" path="specsOnLinux.png" size="27893" user="uli" version="1"
Added:
>
>
META FILEATTACHMENT attachment="lecture_1.odp" attr="" comment="" date="1504774530" name="lecture_1.odp" path="lecture_1.odp" size="2792728" user="uli" version="1"

Revision 22017-09-05 - uli

Line: 1 to 1
 
META TOPICPARENT name="LectureSlides"

Start Presentation

Slide 1: Course on Embedded Systems, Introduction

Line: 7 to 7
 

Introduction

Changed:
<
<
What should I introduce?
>
>
What should I introduce?

 
  • Introduce myself
  • Introduce the course material
    • Why did you come to this course?
    • What do you expect?
    • This course is somehow different from other computing courses. In what way?
Changed:
<
<
    • Did you learn about Linux? Why do I ask?
>
>
    • Did you learn about Linux? C programming? Why do I ask?
 

Introduce myself

  • Dr. Ernst Ulrich Raich
    short: Uli
  • PhD in Physics (not computer science!)
  • but 4 years of IT studies without
    diploma.
  • Married, 3 adult children
  • Staff member of CERN
  • Teaching (short courses) since 1980
  • Never taught a full university course!
  • Ask me whatever you want to know!
moto.png
Line: 102 to 102
 

Booting a high end embedded system

Changed:
<
<
On embedded systems every processor has its own way to boot. However, there are some similarities:
After reset the processor executes a very short program in on-chip ROM
>
>
On embedded systems every processor has its own way to boot.
 
Added:
>
>
However, there are some similarities:

  • After reset the processor executes a very short program in on-chip ROM
 
  • A small boot loader is loaded into on-chip memory and executed
  • The RAM memory controller, flash controller … are initialized
  • The secondary boot loader is transferred into the now available RAM
  • Boot loader gets the OS kernel from flash (can be a micro SD card) and executes it
  • From now on→ similar to a PC

Changed:
<
<

Booting a

>
>

Booting a low end embedded processor

  • The system uses a dedicated program and has no OS.
  • The program is developed on a different machine (cross-development)
    and transferred into the target system flash.
  • On reset the flash program is directly executed

Native versus cross development

  • The embedded system is often far less powerful than a PC
  • Compiling programs is much faster on a PC but the target system often has a different processor.
  • The PC uses an Intel processor, the Raspberry Pi an ARM (different instruction set)
  • The Raspberry Pi is powerful enough for native compilation (gcc compiler on Raspberry Pi)
  • There is a cross compiler for ARM machines on Linux (arm-linux-gcc)
  • We can compile programs on the PC and transfer and executed them on the ARM processor
  • Linux has an ARM emulator on which many ARM programs can be executed (including an ARM Linux OS!)
  %SLIDESHOWEND%
Deleted:
<
<
Article text.
 -- Uli Raich - 2017-09-05

Comments

Revision 12017-09-05 - uli

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="LectureSlides"

Start Presentation

Slide 1: Course on Embedded Systems, Introduction

Held at the University of Cape Coast

Winter Semester 2017

Lecture 1

Uli Raich

Slide 2: Introduction

What should I introduce?

  • Introduce myself
  • Introduce the course material
    • Why did you come to this course?
    • What do you expect?
    • This course is somehow different from other computing courses. In what way?
    • Did you learn about Linux? Why do I ask?

Slide 3: Introduce myself

  • Dr. Ernst Ulrich Raich
    short: Uli
  • PhD in Physics (not computer science!)
  • but 4 years of IT studies without
    diploma.
  • Married, 3 adult children
  • Staff member of CERN
  • Teaching (short courses) since 1980
  • Never taught a full university course!
  • Ask me whatever you want to know!
moto.png

Slide 4: Differences to other courses

Standard course:

  • During the semester:
    • Professor works, trying to explain his subject
    • Student sleeps, trying to recover from last night’s party
  • End of semester
    • Professor takes revenge through examinations
    • Student tries to catch up what he missed during the semester

This course:

  • Two hours of lectures per week, where the professor works
  • 3 hours per week lab sessions (can be extended) where the student works!
  • If the student sleeps during the lectures the professor finds out
    latest during the lab session the same week.
  • If you don’t understand things during the lecture, ask immediately!
    Otherwise you will have trouble during the lab session!

Slide 5: Introduce the Course

What is a computer?

Definition from Wikipedia

A computer is a device that can be instructed to carry out arbitrary sequences

of arithmetic and logical operations automatically.

The ability of computers to follow generalized sets of operations, called programs,

enable them to perform an extremely wide range of tasks.

Slide 6: A Computer

This is a computer:

medion.png

Slide 7: ... but what about these?

tablet.png phone.png
raspberry.png nano.png
azbox.png car.png

Slide 8: Cost of a Computer

  • When I was a student the university had 1 mainframe computer. Cost several 100k$
  • During my thesis I used a mini computer which was much cheaper
    (~80 k$) including 1 serial terminal + 600 Mbyte hard disk.

PDP11-40_fontpanel.JPG

Slide 9: My first Computer

  • The first computer I bought cost 1500 $
    I got a PCB, a keyboard (without case) and a sac full of electronics to be soldered by the user
    (no hard disk, black and white TV as screen replacement,
    programmed in Basic

    Programs were stored on audio cassettes

    This is the luxury version!
  • Cost: ~ 1500 US$
Nascom_2_Computer_1981.jpg

Slide 10: My first PC

  • My first PC looked a bit like this:
    It had
    • a huge 512 Mbyte hard disk
    • A floppy disk drive
    • 512 Mbytes of RAM
    • Screen resolution 1024x768
  • The Linux system was loaded with 40! floppy disks
  • All screen parameters (timings!) had do be known to
    configure the driver
  • Cost: ~ 1500 $US
compaq.png

Slide 11: My current PC

  • Processor 64 bits Intel I5 quad core

  • Screen: 15” 1920x1080
  • 16 Gbytes RAM
  • 128 Gbytes SSD
  • 1 TB internal HD
  • 1.5 TB external USB-3 HD
  • Cost: ~ 700 $US
medion.png

Slide 12: What the OS knows about this machine

These are the specs of my current laptop for ~ 700 $:

specsOnLinux.png

Slide 13: Other Computers I own

  • My tablet cost ~ 70 US$. Computing power by far exceeds that of the
    PDP-11 mini computer. Idem for RAM and disk size
  • The Raspberry Pi, which we use for the lab costs 40 US$. 32 Gbyte
    micro SD card must be added. A full Linux OS is installed on the device.
  • The Arduino Nano, which I used in a small robot project at UCC costs 2.5 US$.
    This has no OS but can be programmed using a cross compiler
    and firmware download through USB. Programming in C or C++
  • Most embedded systems used in TV sets, coffee machines, washing machines, cars
    … cost less the 1$. Already 10 years ago a Mercedes car used more than 60 computers.
  • It is cheaper in almost all cases to use programmed logic over hardwired logic
    and it is definitively more flexible.

Slide 14: Booting a PC

The boot sequence is essentially this one:

  • On reset the PC executes code in its ROM (BIOS or EFI) to initialize hardware
  • The boot sector is loaded from disk and executed
  • The OS kernel is loaded and executed
  • Additional programs are loaded (e.g. a shell)

Slide 15: Booting a high end embedded system

On embedded systems every processor has its own way to boot. However, there are some similarities:
After reset the processor executes a very short program in on-chip ROM

  • A small boot loader is loaded into on-chip memory and executed
  • The RAM memory controller, flash controller … are initialized
  • The secondary boot loader is transferred into the now available RAM
  • Boot loader gets the OS kernel from flash (can be a micro SD card) and executes it
  • From now on→ similar to a PC

Slide 16: Booting a

Article text.

-- Uli Raich - 2017-09-05

Comments

<--/commentPlugin-->

META FILEATTACHMENT attachment="moto.png" attr="" comment="" date="1504609883" name="moto.png" path="moto.png" size="887018" user="uli" version="1"
META FILEATTACHMENT attachment="medion.png" attr="" comment="" date="1504610968" name="medion.png" path="medion.png" size="118006" user="uli" version="1"
META FILEATTACHMENT attachment="azbox.png" attr="" comment="" date="1504610968" name="azbox.png" path="azbox.png" size="158620" user="uli" version="1"
META FILEATTACHMENT attachment="car.png" attr="" comment="" date="1504610969" name="car.png" path="car.png" size="402542" user="uli" version="1"
META FILEATTACHMENT attachment="nano.png" attr="" comment="" date="1504610970" name="nano.png" path="nano.png" size="164652" user="uli" version="1"
META FILEATTACHMENT attachment="nano-1.png" attr="" comment="" date="1504610970" name="nano-1.png" path="nano-1.png" size="207907" user="uli" version="1"
META FILEATTACHMENT attachment="Nascom_2_Computer_1981.jpg" attr="" comment="" date="1504610971" name="Nascom_2_Computer_1981.jpg" path="Nascom_2_Computer_1981.jpg" size="126345" user="uli" version="1"
META FILEATTACHMENT attachment="tablet.png" attr="" comment="" date="1504611000" name="tablet.png" path="tablet.png" size="112550" user="uli" version="1"
META FILEATTACHMENT attachment="phone.png" attr="" comment="" date="1504611001" name="phone.png" path="phone.png" size="90249" user="uli" version="1"
META FILEATTACHMENT attachment="raspberry.png" attr="" comment="" date="1504611001" name="raspberry.png" path="raspberry.png" size="103409" user="uli" version="1"
META FILEATTACHMENT attachment="PDP11-40_fontpanel.JPG" attr="" comment="" date="1504611447" name="PDP11-40_fontpanel.JPG" path="PDP11-40_fontpanel.JPG" size="213736" user="uli" version="1"
META FILEATTACHMENT attachment="compaq.png" attr="" comment="" date="1504612374" name="compaq.png" path="compaq.png" size="504663" user="uli" version="1"
META FILEATTACHMENT attachment="specsOnLinux.png" attr="" comment="" date="1504612802" name="specsOnLinux.png" path="specsOnLinux.png" size="27893" user="uli" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback