Skip to content

Repository containing my Assignments and Projects done for course ECEN-5613 Embedded System Design at CU Boulder

License

Notifications You must be signed in to change notification settings

kiranj26/Embedded-System-Design-S22

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Embedded-System-Design-S22

Welcome to the repository for my assignments in the subject "Embedded System Design." This course, instructed by Professor McClure from the Department of Electrical, Computer, and Energy Engineering, delves into the fundamentals of hardware and firmware design for embedded systems. Throughout this course, I have acquired a diverse set of skills and knowledge, which include:

Skills and Knowledge

  • Processor Selection: Understanding the criteria and considerations for selecting an appropriate processor for embedded system development.
  • Power Delivery and Decoupling: Knowledge of power delivery techniques and decoupling methods to ensure reliable operation of embedded systems.
  • Clocks and Resets: Familiarity with clocking and resetting mechanisms and their role in system synchronization and initialization.
  • Assembly Programming: Proficiency in low-level assembly programming for embedded systems.
  • Embedded C Programming: Competence in programming embedded systems using the C programming language.
  • Incremental Development (HW, SW): Experience in iterative hardware and software development processes for embedded systems.
  • Test Equipment and Instrumentation: Utilizing various test equipment and instrumentation, such as oscilloscopes, multimeters, and logic analyzers, for debugging and validation.
  • Debugging Techniques: Understanding and applying effective debugging techniques for identifying and resolving software and hardware issues.
  • Data Sheets: Ability to interpret and utilize data sheets provided by microcontroller manufacturers for hardware understanding and programming requirements.
  • Bus Cycles, Transaction Types, Timing Diagrams: Understanding communication protocols, timing requirements, and transaction types through bus cycles and timing diagrams.
  • Memory Maps and Chip Select Logic: Managing memory and controlling external devices through memory mapping and chip select logic.
  • Serial Interfaces (RS-232, I2C, SPI): Implementing popular serial communication interfaces in embedded systems.
  • I/O Port Pin Driver Circuits: Knowledge of I/O port pin driver circuits, including pull-up/pull-down resistors and open-drain configurations.
  • In-Circuit Programming: Ability to program microcontrollers without removing them from the circuit using in-circuit programming techniques.
  • Device Drivers: Developing device drivers for interfacing with various peripherals and external devices.
  • Interrupts and ISR's: Understanding interrupts and writing interrupt service routines (ISR's) for time-critical events in embedded systems.
  • Memory Mapped I/O: Implementing memory-mapped I/O for accessing and controlling peripheral devices.
  • Data Conversion (DAC's, ADC's): Understanding and utilizing digital-to-analog converters (DAC's) and analog-to-digital converters (ADC's) in embedded systems.
  • Passive Components: Knowledge of passive components such as resistors, capacitors, and inductors, and their applications in embedded system design.
  • Design Reviews and Trade-Offs: Conducting design reviews and making trade-offs to meet system requirements and constraints.
  • Entrepreneurship: Understanding the entrepreneurial aspects of embedded system design, including product development and commercialization considerations.

Assignments

This repository contains a collection of assignments that demonstrate my understanding and application of the concepts covered in the course. Each assignment is accompanied by detailed descriptions, source code, and relevant documentation. Feel free to explore the individual assignment folders for more information.

Final Project

As a culmination of the course, I have completed a significant final project. This project extends the base microcontroller board developed earlier in the course and showcases my comprehensive knowledge and skills acquired throughout the semester. Detailed documentation and source code for the final project can be found in the corresponding folder.

Contact

If you have any questions or would like to discuss any aspect of this repository, please feel free to contact me at [email protected]

Thank you!

Kiran Jojare

About

Repository containing my Assignments and Projects done for course ECEN-5613 Embedded System Design at CU Boulder

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published