SENG 440: Embedded Systems
Table of Contents
New information
- Lesson 13 'ADA language':
Monday July 22, 2019
Slides Lesson 13
- Lesson 12 'UML and Executable UML':
Thursday July 17, 2019
Slides Lesson 12
- Lesson 11 'Finite-state machines in C':
Thursday July 11 and Monday July 15, 2019
Slides Lesson 11
- Lesson 10 'Samsung S3C2440A Embedded Processor':
Monday July 8, 2019
Slides Lesson 10
- Lesson 100 'Introduction to project':
Thursday July 4, 2019
Project Pilot Lesson 100
- Lesson 09 'Fixed-Point Arithmetic - II':
Monday June 24, 2019
Slides Lesson 09 (updated!)
-
Lesson 09 'Fixed-Point Arithmetic - II':
Monday June 24, 2019
Slides Lesson 09
- Lesson 08 'Fixed-Point Arithmetic - I':
Thursday June 19, 2019
Slides Lesson 08
- Lesson 7
'Architecture, Implementation, Realization' will be covered later
- Lesson 06 'Standard peripherals for embedded systems':
Monday June 3 and Thursday June 06, 2019
Slides Lesson 06
- Lesson 05 'Software Optimization Techniques - III':
Thursday May 30 and Monday June 3, 2019
Slides Lesson 05
- Lesson 04 'Software Optimization Techniques - II':
Monday May 27, 2019
Slides Lesson 04
- Lesson 03 'Software Optimization Techniques - I':
Thursday May 23, 2019
Slides Lesson 03
- Lesson 02 'Processors for embedded systems':
Monday May 13, 2019 and Thursday May 16, 2019
Slides Lesson 02
- Lesson 01 'Introduction':
Thursday May 9, 2019
Slides Lesson 01
- Pilot lesson:
Monday May 6, 2019
Slides Pilot Lesson
(course syllabus)
Accessing Course Materials
All of the downloadable course materials associated with this web page
are stored in a password protected area. In order to access the course
materials, you will need to know the
appropriate username and password to use (for the web server). If you are
taking this course, you should know the correct username and password (which
were announced during the first lecture). Note that this username and
password are not the ones for your Netlink (or faculty/departmental)
account.
Instructor
Mihai SIMA
E-Mail: 
Office: EOW 313
Office hours: Monday 12:00pm-3:00pm
Class Representative
Course Syllabus and Assessment
The course syllabus is included in the pilot lesson. It is available for
download from
here.
Course outline is available for download from
here.
Project
Midterm Exam
-
The mid-term exam date: Monday, June 17, 2019
- It will be held during regular lecture hours.
- It is open books and open notes.
Final Exam
-
The final exam date: TBD
- It is open books and open notes.
Learning Centre
- Typical Midterm Exam Questions
- Typical Final Exam Questions
- Fixed-point arithmetic
Software Resources
- "ARM Architecture Reference Manual" (Addison Wesley 2001) can be
freely downloaded from Internet. For example, go to
Altera
website and search for Section "Third-Party Literature" document "ARM DDI
0100E".
- A complete ARM toolchain (compiler, simulator) is also available inside
campus network.
Just login on any lab machine in the ELW-B238 Lab using your netlink ID and
password:
$ ssh ugls.ece.uvic.ca
Please notice that your home directory is stored on a very large
harddrive, which has a capacity over 11TB. This creates compatibility issues
with not so new compilers (like the one used in class). It is
recommended to create and use a temporary directory under the "/tmp"
partition to generate the executables. It is your responsibility to save all
your files under "/tmp" (for example, by copying them to your home directory),
since this partition is erased every week.
The compiler is available under "/opt/arm/4.3.2/bin/" directory. To compile,
type:
$ arm-linux-gcc -static -o file.exe file.c
The compiler supports SIMD (NEON) intrinsics. Let us assume the
following C code (notice that NEON header is included):
#include "arm_neon.h"
uint32x2_t aa, bb, ss;
int main( void) {
ss = vadd_u32( aa, bb);
}
To compile, type:
/opt/arm/4.3.2/bin/arm-linux-gcc -mfloat-abi=softfp -mfpu=neon -static -O3
-S file.c
The simulator is available under "/opt/arm/4.3.2/bin/" directory.
To simulate the resulting executable file file.exe just type:
$ qemu-arm file.exe
A real arm-based machine running Linux is also available. To access it
you need to first ssh into seng440.ece.uvic.ca using your
unix/netlink password, and then telnet into the arm machine:
$ telnet arm
There are four users defined (user1, user2, user3, user4). The password
for these four users on the arm machine is the same with the course
website password.
To execute the example.exe just type:
$ ./file.exe
To upload the executable files previously generated you can use
lftp command:
$ lftp user1@arm
Feedback
Feedback on the course and teaching is always most welcome!
The instructor will never hold any of your comments against you, but
please be constructive in your criticism.