embedded systems programming
play

Embedded Systems Programming Introduction (Module 1) Yann-Hang Lee - PowerPoint PPT Presentation

Embedded Systems Programming Introduction (Module 1) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Real-time Systems Lab, Computer Science and Engineering, ASU Course Syllabus Course Goals: fundamental


  1. Embedded Systems Programming Introduction (Module 1) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Real-time Systems Lab, Computer Science and Engineering, ASU

  2. Course Syllabus  Course Goals: fundamental issues as well as practical development skill in the area of embedded systems programming  Design issues of embedded software and the knowledge of development and execution environment on target processors.  The functions and the internal structure of device interfaces, drivers, and real-time operating systems.  Multi-threaded embedded software in target environment  Task scheduling and schedulability analyses.  Pre-requisites:  Computer organization, data structures, and C/C++ programming  Helpful if you have some knowledge of operating systems and computer architecture. 1 Real-time Systems Lab, Computer Science and Engineering, ASU

  3. Schedule Classes (4 20-minutes Date Lab and self-study (3 hours/day) lectures/day) Monday, July 7 Introduction, Linux loadable Exercise: data structures for Linux modules device drivers Tuesday, July 8 Linux device driver Lab: Linux loadable module Wednesday, July 9 Quark SOC and Galileo Exercise: Galileo board design and architecture GPIO programming Thursday, July 10 Linux ISR and device driver Exercise: user-level I2C programming Friday, July 11 Thread and kernel synchronization Lab: I2C-based EEPROM driver Monday, July 14 Embedded programming Exercise: setjmp and longjmp Tuesday, July 15 Embedded programming Lab: signal and asynchronous control Wednesday, July Real-time scheduling and analysis Self-study: course review 16 Thursday, July 17 Real-time scheduling and analysis Lab: real-time task management Friday, July 18 Real-time scheduling and analysis Final exam 2 Real-time Systems Lab, Computer Science and Engineering, ASU

  4. Lab Setup  OMAP beagleboard XM and trainer board  Prepare your own micro SD card (and adapter) for booting  Preferred development software  Linux, Eclipse, command lines, GUN tools 3 Real-time Systems Lab, Computer Science and Engineering, ASU

  5. Real-time Embedded Systems  Embedded system  the software and hardware component that is an essential part of another system  Real-time system Controller  provide well-timed computation A/D Control-raw Reference D/A input computation  deadlines, jitters, A/D periodicity  temporal dependency actuator sensor Plant 4 Real-time Systems Lab, Computer Science and Engineering, ASU

  6. Embedded Systems -- Examples 5 Real-time Systems Lab, Computer Science and Engineering, ASU

  7. Emerging Embedded Systems 6 Real-time Systems Lab, Computer Science and Engineering, ASU

  8. Embedded Systems  They are everywhere  What are they? Hardware (chips) + Software (programs) for specific applications I/O memory I/O CPU (micro- I/O processor) Timer I/O 7 Real-time Systems Lab, Computer Science and Engineering, ASU

  9. SW Development for RT ES  To write the control software for a smart washer initialization  initialize  read keypad or control knob  read sensors  take an action external trigger?  System current state  state transition diagram ISR: to set/clear  external triggers via Take actions events polling or ISR  If there are multiple triggers and external conditions – single or Change system state multiple control loops 8 Real-time Systems Lab, Computer Science and Engineering, ASU

  10. RT ES vs. General Software  Multi-tasking for concurrent events  Machine and device interface dependence and portability  Control timing and scheduling  predictable actions in response to external stimuli  deadline (absolute or relative), and jitter  Resource constraints and sharing  CPU time, stack, memory, and bandwidth  Software abstraction, modular design  information hiding, OO, separate compilation, reusable  a sorting procedure -- function, input, output specification 9 Real-time Systems Lab, Computer Science and Engineering, ASU

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend