TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

Embedded System

Embedded Systems focus on the design and development of dedicated computing systems built into hardware to perform specific, real-time functions. Unlike general-purpose computers, embedded systems are optimized for efficiency, reliability, and low power consumption, making them essential in modern electronic products. Learners gain hands-on experience with microcontrollers and microprocessors, embedded C/C++, firmware development, real-time operating systems (RTOS), hardware interfacing, and communication protocols.

Select University

TUFWU

Select Program

BSC-CSITBEI-NEW

TabFlux . Embedded Systems Programming . TU . BSC-CSIT

Embedded Systems Programming

0%

Course Title: Embedded Systems Programming

Course No: CSC487

Nature of the Course: Theory + Lab

Semester: 8

Full Marks: 60 + 20 + 20

Pass Marks: 24 + 8 + 8

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. ARM Embedded System
4 hrs
1.1. Introduction to Embedded Systems
1.2. Introduction to RISC Design Philosophy
1.3. The ARM Design Philosophy
1.4. Embedded System Hardware
1.5. Embedded System Software
2. ARM Processor Fundamentals
4 hrs
2.1. The Acron RISC Machine
2.2. The ARM Programmer's Model
2.3. ARM Development Tools
2.4. Registers
2.5. Current Program Status Register
2.6. Pipeline
2.7. Exceptions
2.8. Interrupts
2.9. Vector Table
2.10. ARM Processor Families
3. Introduction to ARM Instruction Set
8 hrs
3.1. Data Processing Instructions
3.2. Branch Instructions
3.3. Load – Store instructions
3.4. Software Interrupt Instructions
3.5. Program Status Register Instructions
3.6. Loading Constraints
3.7. Conditional Execution
4. Thumb Instruction Set
8 hrs
4.1. The Thumb bit in the CPSR
4.2. The Thumb Programmer's Model
4.3. Thumb Branch Instructions
4.4. Thumb Software Interrupt Instructions
4.5. Thumb Data Processing Instructions
4.6. Thumb Single Register Data Transfer Instructions
4.7. Thumb Multiple Register Data Transfer Instructions
4.8. Thumb Breakdown Instruction
4.9. Thumb Implementation
4.10. Thumb Application
5. Efficient C Programming for ARM
8 hrs
5.1. Basic Data Types
5.2. Expressions
5.3. Conditional Statements
5.4. Loops
5.5. Function Calls
5.6. Procedures
5.7. Use of Memory
5.8. Pointer Aliasing
5.9. Bit Field
6. Writing and Optimizing ARM Assembly Code
8 hrs
6.1. Writing Assembly Code
6.2. Profiling and Cycle Counting
6.3. Instruction Scheduling
6.4. Register Allocation
6.5. Conditional Execution
6.6. Looping Constructs
6.7. Bit Manipulation
6.8. Efficient Switches
6.9. Handling Unaligned Data
7. Firmware and Embedded OS
5 hrs
7.1. Firmware and Bootloader
7.2. Fundamental Components of Embedded OS
7.3. Embedded Linux
7.4. Android OS

Laboratory Works

  1. 1.Programming in C and Assembly
  2. 2.GPIO Programming

Text Books

  1. 1.Andrew N. Sloss, Dominic Symes, Chris Wright "ARM System Developer's Guide: Designing and Optimizing System Software", Latest Edition, Morgan Kaufmann Publisher, An imprint of Elsevier

Reference Books

  1. 1.Steve Furber "ARM System – on – Chip Architecture", Second Edition, Pearson Education Limited
  2. 2.Warwick A. Smith "C Programming for Embedded Micricontrollers"

Notes:

Source:

The course covers ARM based embedded system overview – assembly level programming, efficient C programming and embedded OS.

The main objective of this course is to introduce the underlying principle of embedded system programming in assembly language and C language for ARM based embedded processor.

Programming in C and Assembly (KEIL and PROTEUS), GPIO Programming (LED, LCD, Keypad, Buzzer)

This syllabus follows the official BSC-CSIT curriculum of Tribhuvan University. In case of any doubt or revision, the university's published syllabus shall be considered authoritative.