Placement Oriented Diploma Program
Eligibility: BE, B.Tech, ME, M.Tech
Mode of Training: Offline & Online
Empower yourself for success in the thriving field of embedded systems with Cranes Varsity’s comprehensive 240-hour program. Designed specifically for upcoming graduates with a B.E., B.Tech., M.E., or M.Tech. degree, this program equips you with the essential skills and knowledge to excel in this exciting domain. We offer a flexible learning approach, allowing you to choose between online and offline modes to suit your learning style and schedule.
Backed by our 25+ years of experience in training, Cranes Varsity offers an unparalleled learning experience. Our program equips you with the skills and knowledge that employers seek, giving you a competitive edge in the job market.
Our program delves into core modules critical for embedded systems development:
- Problem-solving using C with MISRA guidelines: Master the fundamentals of C programming, adhering to the industry-standard MISRA guidelines for safety and reliability in embedded systems.
- Data Structures and Algorithms: Build a strong foundation in data structures and algorithms, enabling you to design efficient and optimized embedded systems.
- Object-Oriented Programming (OOP) with C++: Gain expertise in object-oriented programming concepts using C++, empowering you to create modular and reusable embedded software.
- Linux System Programming and Socket Programming: Master the intricacies of Linux system programming and socket programming, essential for interfacing with hardware devices and network communication in embedded systems.
Check our detailed curriculum
Course Modules
- Fundamentals of Electronics and Embedded Systems
- Programming in C following MISRA C
- Data Structures and Algorithms
- Oops with C++
- Linux System Programming and Socket Programming
- ARM 7 & Cortex M3 programming using Embedded C
- Programming using ARM Cortex M3 based MCU STM32F4xxx
- RTOS –Hands-on using Free RTOS of Amazon
- Linux Device Drivers and Porting on Beagle Bone Black
- Application development based on Data Structure
- (Eg: Flood fund releasing data, cyber management systems, Bank management system, contact management system)
- Concurrent server to replicate a chat application using socket programming.
- Embedded Project development using wired/wireless technology such as GPS, GSM, BLE, Wi-Fi, and sensors
- Project Based on CAN or Lin Protocol
- Parallel port Driver.
- Ubuntu(Linux OS, with GCC compiler)
- LPC2129, Keil Micro vision,
- Cube IDE for STM32F446
Core Programming
Problem solving using C following MISRA Guidelines – 60 Hrs
- Introduction to C: Simple C program structure, Literals, constants, variables, and data types
- Operators with precedence and associativity
- Control flow statements with Examples
- Modular Programming using functions
- Working with multiple files
- Storage Class Specifiers
- Arrays and Strings
- Preprocessor directives
- Pointer
- Dynamic Memory Allocation
- Structures and Bit Fields
- Unons
- Recursion
- Command Line Arguments
- typedef, enums
- Conditional Compilation
- Cross Compiler
- Building an Executable
- Startup code, linker script, and their use
- Object file and map file
- Coding standards/guidelines for secure and safe coding
- Debugging and Tracing
- Memory Profiling and analysis
Data Structures and Algorithms – 40 hrs
- Introduction to Data Structures
- Stacks and queus
- LinkedList
- Stack Implementation using array
- Queue Implementation using array
- Tree: Binay Search Tree
- Code Optimization
- GDB Debugger
- Splint
- G Coverage tool
- G Profiling
- Valgrind software
Oops with C++ – 40 Hrs
- Introduction to C++, Structure of a C++ program
- Procedural overview of C++
- Objected-Oriented Approach in C++
- Constructor and Destructor
- Friends and Operators overloading
- Generic Programming
- Generalization
- Run time polymorphism
- Exception Handling
- C++ Library Features
- Inheritance
- Runtime Polymorphism
- Call Back Functions
- Code Optimization and Profiling
- STL
Linux System Programming and Socket Programming – 32 Hrs
- Introduction to the operating system
- Process management subsystems
- File management subsystems
- Memory management systems
- Shell
- Introduction to Linux-os
- Linux file management system
- Linux process management system
- Signals
- Pipes
- Message queues
- Shared memory
- Semaphores
- Threads
- Mutex
- Building an executable: MAP file basics, Building libraries
- Memory Management: Memory Architecture, allocation, profiling
- Working with registers: Bit level operations, Handling special registers. const, volatile qualifiers
- Context management: Code/Data/BSS/Stack/Heap segments, Execution context, Interrupt Context
- Linux fundamentals: Linux Kernel basics, Linux driver framework and filesystem, Networking sockets
- Inter process communications: Handling a Signal using sigaction , Socket programming
- Developing Optimal Code
Embedded Specialization
Embedded System Programming on ARM CORTEX M4 – 32 Hrs
- ARM7TDMI Architecture and features
- LPC21798 Features and ARM Cortex M4 CPU Architecture
- GPIO programming with LED,Swith and Buzzer
- 16 X 2 LCD programming
- 4 X 4 KEYPAD programming
- ADC programming
- Timer programming
- PWM programming
- RTC and WDT programming
- PLL programming
- VIC (Interrupt) programming
Embedded Protocols – 20 Hrs
- UART programming
- SPI programming
- I2C Programming
Embedded OS (RTOS) Programming – 20 Hrs
- Overview of FreeRTOS: Features of freeRTOS, FreeRTOS source code organization
- RTOS Concepts: Hard real time vs soft real time, Multi-threading/ Multi-tasking / Concurrent execution
- Scheduling and Context switching
- Memory management: Heap vs Stack memory, program memory vs data memory
- freeRTOS Heap Memory Management, different memory allocation schemes free RTOS Heap Utility Functions, Optimizing memory
- Concept of freeRTOS Tasks freeRTOS Tasks APIs, Creating Tasks, Task Priorities, Task State Transitions
- Scheduler: Scheduler Algorithms, Tick Interrupt, Idle task
- Inter task Communication and synchronization: freeRTOS Queue APIs Data storage for Queue
- Blocking read, write Receiving data from multiple queues Mailbox (using queue)
- Interrupt Management Events and ISRs, Tasks vs ISRs
- Semaphores Concept of semaphores, Binary Semaphores, Counting semaphores
- Resource Management: Shared resources Mutual Exclusion, Critical Section
- Mutex Deadlocks, starvation, Priority inversion, Priority Inheritance
- Event Groups: Event Groups for Multiple Task Synchronization
- Task Notifications Tasks communication objects vs direct task notifications, Benefits of task notifications
Project stream:
- Application development based on Data Structure (Eg: Flood fund releasing data, cyber management systems, Bank management system, contact management system)
- Concurrent server to replicate a chat application using socket programming.
- Embedded Project development using wired/wireless technology such as GPS, GSM, BLE, Wi-Fi, and sensors
Platform
- Ubuntu (Linux OS, with gcc compiler)
- Lpc1768 development board
- Keil Micro vision , Flash Magic