With the increased focus on digitization of day-to-day activities, areas like Internet of Things (IoT), Embedded systems and Embedded software are gaining traction. This course is designed to provide you the fundamental knowledge on hardware-software integration, by taking Raspberry Pi Pico board, which is based on the most popular Arm Cortex-M0 microcontroller family of processors (RP2040).
Students will learn how to write both C and Assembly programs to control the dual core RP2040 processor, parameter passing, writing Interrupt service routines, and programming the peripherals (UART, I2C) which are integrated into the RP2040 System-on-a-chip (SoC). Students will gain the fundamental knowledge of assembly and processor architectures that would help you to understand advanced multi-core processors in high performance computing.
First or second year students of any of the below UG/PG programs.
Computer Science and Engineering (CSE), Electronics and Communications (ECE), Electrical and Electronics (E&E), Electronics and Instrumentation (E&I)
ABOUT THE INSTRUCTOR
Mouli has an industry experience of 28+ years in embedded systems, networking, and software areas, and the last six years in academics. He has worked with semiconductor and product companies in various senior techno-managerial roles at DRDO (LRDE), Motorola, Lucent Microelectronics, Agere Systems, LSI, SHARP, and Honeywell. While Mouli was working as an Adjunct Faculty at IIIT Bangalore in the year 2015, he was sent on deputation for four years to Myanmar Institute of Information Technology (MIIT), Mandalay, (an Indo-Myanmar Govt. project), where he designed and delivered 25+ theory and lab courses for BE (CSE & ECE). As a Subject Matter Expert at upGrad, he has recorded video lectures on Electrical and Electronics Circuits, modules on multicore performance metrics, and on Recurrent Neural Networks (RNN). He was also a visiting faculty at IIIT Lucknow, handling courses on Python and AI for IoT. Mouli holds three patents granted by the USPTO. He is a Six Sigma Green belt and also a Certified Scrum Master. Mouli offered this Microprocessors and Microcontrollers course at IIIT Bangalore in the year 2021. He is currently working as Professor in the School of Computer Science and Engineering at RV University, Bangalore.
1. Join the course
Learners may pay the applicable fees and enrol to a course on offer in the portal and get access to all of its contents including assignments. Validity of enrolment, which includes access to the videos and other learning material and attempting the assignments, will be mentioned on the course. Learner has to complete the assignments and get the minimum required marks to be eligible for the certification exam within this period.
COURSE ENROLMENT FEE: The Fee for Enrolment is Rs. 3000 + GST
2. Watch Videos+Submit Assignments
After enrolling, learners can watch lectures and learn and follow it up with attempting/answering the assignments given.
3. Get qualified to register for exams
A learner can earn a certificate in the self paced course only by appearing for the online remote proctored exam and to register for this, the learner should get minimum required marks in the assignments as given below:
CRITERIA TO GET A CERTIFICATE
Assignment score = Score more than 50% in at least 9/12 assignments.
Exam score = 50% of the proctored certification exam score out of 100
Only the e-certificate will be made available. Hard copies will not be dispatched.”
4. Register for exams
The certification exam is conducted online with remote proctoring. Once a learner has become eligible to register for the certification exam, they can choose a slot convenient to them from what is available and pay the exam fee. Schedule of available slot dates/timings for these remote-proctored online examinations will be published and made available to the learners.
EXAM FEE: The remote proctoring exam is optional for a fee of Rs.1500 + GST. An additional fee of Rs.1500 will apply for a non-standard time slot.
5. Results and Certification
After the exam, based on the certification criteria of the course, results will be declared and learners will be notified of the same. A link to download the e-certificate will be shared with learners who pass the certification exam.
Week 1: Tools and memory map of a program, locality of reference and simple CPU design. Week 2: Flynn’s taxonomy, introduction to RP2040 and bring up Arduino IDE 2.0 Week 3: Wokwi simulator introduction, running sample programs on Wokwi and RP2040 hardware Week 4: AHB Lite bus fabric, SRAM striped access and RP2040 processor subsystem Week 5: Introduction to Arm architectures and processors, Cortex-M0+ register set and stack Week 6: Arithmetic condition flags, writing assembly programs using arithmetic instructions Week 7: Program status register, assembly instructions: adc, sub, ldr, mov and AAPCS and ABI Week 8: Conditional branch instructions, cmp, logical shift and rotate, load and store instructions Week 9: Multiple load and store instructions, push and pop and variables in assembly programs Week 10: String library functions in assembly, running both the cores, introduction to SDK Week 11: Programming UART using SDK libraries, VTOR, Interrupts and writing ISRs Week 12: Introduction to I2C and DMA. Writing programs using I2C and DMA
Books and References
1. Getting Started with Raspberry Pi Pico
2. Cortex M0+ Technical Reference Manual
3. Cortex-M0+ Devices Generic User Guide
4. RP2040 Datasheet A Microcontroller by Raspberry Pi
5. Raspberry Pi Pico C/C++ SDK, Libraries and C/C++
development on RP2040 Microcontrollers