User Tools

Site Tools


archive:pgt302

PGT302 - Embedded Software Technology

This course is Embedded Software Technology, offered by the Department of Electronics Engineering Technology.

Announcements

[20201018] Welcome to PGT302 202021S1!

[20201018] Please try to setup development environment required for this course on your own personal laptops. Video guides for this course are available on YouTube.

Lecture Slides

Lab Notes

Downloads

Assignments

Lab Project

  • Lab Project Description:
    pgt302_202021s1_lab_project.txt
    -----------
    Lab Project
    -----------
     
    Note: This is a group project!
     
    Develop an application that utilizes any of the available modules at the
    laboratory (e.g. GPS/GSM module, Bluetooth module, Temperature/Humidity Sensor,
    RF transceiver) AND one other module that you have to purchase on your own.
     
    The developed application must be presented as a commercial product. Overall
    evaluation will be based on two main components: technical evaluation and
    product evaluation.
     
    Technical Evaluation will be based on the number of module interfacing and its
    complexity. So, applications with more complex interfacing (e.g. protocols,
    external interface circuit) will be considered for extra marks.
     
    Product evaluation will be based on product brochure and a practical
    demonstration of the application. Having aesthetic features in your
    application/product will assist towards getting better grades.
     
    Requirement:
     
    - submission of a product brochure
    - demonstration of a working application (product)
    - individual AND group Q/A for technical competency
     
    DUE: WK14/14 (Respective Lab Sessions)
  • Lab Project (CAA Supplement 1):
    pgt302_202021s1_lab_project_tr1.txt
    -----------
    Lab Project
    -----------
     
    [CAA Supplement] Technical Report 1 (Group Report)
     
    - analyze future enhancement(s) that can be applied to your product
    - for each feature (can be more than one), specify
      = advantage of having that feature
      = additional component needed
      = sketch interfacing required (more detail = more marks)
      = additional costs involved
     
    Requirement:
     
    - submission of technical report (MAX 5 pages)
    - short presentation (15 minutes)
     
    DUE: WK14/14 (Respective Lab Sessions)
  • Lab Project (CAA Supplement 2):
    pgt302_202021s1_lab_project_tr2.txt
    -----------
    Lab Project
    -----------
     
    [CAA Supplement] Technical Report 2 (Individual Report)
     
    - analyze alternative options redesign your product
    - assuming you can use any components to implement THE SAME product
    - provide overall schematic with interface details
    - also, provide (for each component use)
      = distinctive technical info
      = reason(s) this component is selected
    - provide estimate cost for this product
     
    Requirement:
     
    - submission of technical report (MAX 10 pages)
    - short Q&A (10 minutes)
     
    DUE: WK14/14 (Respective Lab Sessions)

Course Synopsis

This course introduces contemporary software technology for embedded systems. Students will be exposed to the requirements of embedded systems that frequently impose time and/or memory constraints. Among the topics that will be discussed are embedded systems, platform hardware, cross-compilations, barebone systems, peripheral interfacing and embedded operating system. Knowledge in this subject is important for electronics engineers who are interested in system development and integration.

Course Outcome

  1. Able to DESCRIBE the concept of embedded software.
  2. Able to EVALUATE embedded software implementations.
  3. Able to DEVELOP embedded software for specific applications.

Course Assessment

Examinations Course Work
Total Contribution 60% 40%
Assessment Final Exam Mid-Term Assignments Lab Assessments Lab Project
Contribution 40% 20% 10% 20% 10%
CMCO-Revised Assessment (Session 2020/21 S1)
Examinations Course Work
Revised Contribution 0% 100%
Assessment Exam Test Assignments Lab Assessments Lab Project
Contribution 0% 20% 20% 30% 30%

Course Syllabus

Week Lecture Laboratory Notes
Week 01
  • Course Introduction (Lecture Part 0)
  • Introduction to Embedded World (Lecture Part 1)
    • embedded systems
    • embedded software
    • hardware platform
    • software development
  • [DEVELOPMENT WORK]
  • my1barepi: t00_intro4u
  • my1barepi: t01_gpio
  • [VIDEO GUIDES]
  • install xcompiler
  • install code editor
  • install scm software
  • prepare my1barepi
  • prepare sd card
  • workflow demo
  • scm basics (git)
Week 02
  • Hardware Platform 1 (Lecture Part 2)
    • Board (Raspberry Pi) specifications
    • Microcontroller (BCM2835) details
  • [DEVELOPMENT WORK]
  • my1barepi: t02_timer
  • my1barepi: t03_interrupt
Week 03
  • Hardware Platform 1 (cont.) (Lecture Part 2)
    • Features: I/O, Timer, Interrupt
  • Lab Work 2 (cont.)
  • [DEVELOPMENT WORK]
  • my1barepi: t04_textlcd
  • my1barepi: t05_senstemp
  • my1barepi: t06_framebuffer
  • my1barepi: t07_video

Assignment 1 Queue

Week 04
  • Bare-metal Programming (Lecture Part 3)
    • single task, multi-tasking
    • event triggered
  • Lab Work 2 (cont.)
  • [DEVELOPMENT WORK]
  • my1barepi: t08_uart
  • my1barepi: t09_bluetooth
    • needs bluetooth terminal app
Week 05
  • Bare-metal on Raspberry Pi (Lecture Part 3)
    • Timer access
    • Interrupt Access
  • Lab Work 2 (cont.)
  • [DEVELOPMENT WORK]
  • my1barepi: t10_gsm
  • my1barepi: t11_gps
  • my1barepi: t12_rtc

Assignment 1 Due (5%)

Week 06
  • Simple Applications
    • traffic light control
    • temperature control
    • input signal detection/measurement
  • [DEVELOPMENT WORK]
  • practical programming:
  • detect edges
  • measure pulse width
  • measure frequency
  • generate pwm (single/periodic)

Lab Assessment 1 (10%)

Week 07
  • Hardware Platform 2 (Lecture Part 4)
    • Board (GTUC51B001) specifications
    • Mirocontroller (NXP P89V51RD2) details
  • Lab Work 3 (cont.)
  • [DEVELOPMENT WORK]
  • system integration

Mid-term Examination (20%)

Week 08
  • Hardware Platform 2 (cont.) (Lecture Part 4)
    • Features: I/O, Timer, Interrupt
  • Lab Work 3 (cont.)
  • [DEVELOPMENT WORK]
  • system integration

Assignment 2 Queue

Week 09
  • Embedded OS on Raspberry Pi
    • running Raspbian Linux
    • basic I/O access
  • [PREPARATION WORK]
  • prepare raspbian (pgt302pi image)
  • change hostname (make unique)
  • [DEVELOPMENT WORK]
  • my1linuxpi: gpio
Week 10
  • Embedded OS on Raspberry Pi
    • running Raspbian Linux
    • basic peripheral interface
  • Lab Work 4 (cont.)
  • [PREPARATION WORK]
  • make sure avahi/mdns is running on pi
  • make sure bonjour/avahi/mdns is available on host
  • [DEVELOPMENT WORK]
  • remote access using putty
  • my1codelib: run custom server
  • my1linuxpi: run gpio http server

Assignment 2 Due (5%)

Week 11
  • Setup/running simple data server
    • server side programming (C @ PHP)
  • Lab Project

Lab Assessment 2 (10%)

Week 12
  • Setup/running simple data server
    • client side programming (C @ HTML/CSS/JAVASCRIPT)
  • Lab Project (cont.)
Week 13
  • Practical Applications
    • requirements and considerations
  • Lab Project (cont.)
Week 14
  • Practical Applications (cont.)
    • requirements and considerations
  • Lab Project (cont.)

Lab Project Due (10%)

archive/pgt302.txt · Last modified: 2021/01/09 10:33 by 127.0.0.1