2 minute read
18EI3019 Python programming and Interfacing Techniques 3:0:0 3
Module 4: Pointers and Memory (8 Hours)
Pointers : The purpose of pointers -Defining pointers -The & and * operators -Pointer Assignment Pointer Arithmetic -Multiple indirections-Advanced pointer types -Generic and Null PointerFunction Pointers- Pointers to Arrays and Strings -Array of Pointers -Pointers to Structure and Union -Pointers to Dynamic memory -Far, Near and Huge Pointers -Pointer Type Casting: Dynamic Memory Allocation: Malloc(), Calloc(), Realloc(), Free(), Farmalloc(), Farcalloc()
Module 5: File Handling Concepts :(8 Hours)
Concept of a FILE data type, Inode, FILE structure- File pointer -Character handling routines Formatted Data Routines-Raw data Routines -Random Access to FILE preprocessors: #define • Macros • Precedence • Conditional Compilation • Warnings • #pragma • Predefined Macros
Module 6: Embedded C programming structure: (7 Hours)
Distinguish C and Embedded C, Embedded C programming structure- Embedded software development process: build process- compiling -linking- locating- downloading- debugging- remote debuggers- emulators and simulators-declaration of ports and registers- simple examples using embedded C
Reference Books:
1. Mark Siegesmund Embedded C Programming: Techniques and Applications of C and PIC MCUS, Elsevier Inc., 2014 2. Michael Barr Programming Embedded Systems in C and C++, O’reilly, 1999 3. Richard H. Barnett, Sarah Cox, Larry O'Cull , Embedded C Programming and the Atmel AVR, Delmar Cengage learning 2007.
Course Objectives
1. To teach the fundamental concepts of how process are created and controlled with OS. 2. To study on programming logic of modeling Process based on range of OS features 3. To compare types and Functionalities in commercial OS, application development using RTOS
Course outcome:
1. Contrast the fundamental concepts of real-time operating systems 2. Outline the concepts of RTOS Task and scheduler 3. Categorize real time Semaphores 4. Summarize the concepts of Mailbox, Message Queue 5. Develop program for real time applications 6. Understand the structure of Memory Management
Module 1:Real time system concepts (7 Hours)
Foreground/Background systems- resources-shared resources-multitasking- tasks-context switcheskernels –schedulers-task priorities-dead locks inter task communication- interrupts - μCOS I, II and III comparison
Module 2 :Kernel structure in μCOS (8 Hours)
Tasks-Task states- control blocks-ready list – scheduling –Idle task-statistics Task- Interrupts under μCOS-II, task management in μCOS- time management in μCOS
Module 3: Semaphores (8 Hours)
Event control blocks- semaphore management- creating , deleting a semaphore, waiting on a semaphore, creating and deleting Mutex, waiting on a mutex, event flag management.
Module 4: Message Mailbox management: (8 Hours)
Creating and deleting a mailbox μCOS – waiting for a message at a Mailbox, sending a message to a Mailbox, getting message without waiting- obtaining the status of a Mailbox, using a Maibox as a binary semaphore Module 5: Message Queue Management: (8 Hours) Creating and deleting a Message Queue- waiting for a Message Queue- sending a message to a queue FIFO, LIFO- getting a Message without waiting- flushing a Queue- obtaining status of Queue- using a Message Queue when reading analogue inputs and counting semaphores. Module 6: Memory Management (6 Hours) Memory control blocks- creating a partition, obtaining a memory block, returning a memory blockobtaining status of a memory partition- using memory partitions- waiting for memory blocks from a partition-porting μCOS