I have 3 years experience in firmware development. Please check below projects which I have worked
Bootloader Firmware updater - Download the firmware updates of application,boot area of Flash memory upon command requests received over the IRDA,BLE,UART through PC application
Role/Contribution
Design and Development of state machine for erasing,writing,validating flash
Implementation of Boot timer management for upgrading firmware and executing application code Develop algorithm for sector erasing and writing hex code into flash memory
Develop I2C drivers for erasing,flashing,validating the slave
Implementation of downloading firmware into newly partitioned flash for accessing the lookup data
Implementation of response packets through UART in application level
Analyse and troubleshoot the packet handling using logic analyser in controller and through log file in PC application
Analyse and solve the bugs in realtime by logging payload using J-Link with SWD protocol
Optimize code for better performance
Write comprehensive engineering document for the task implemented Environment C,C++,DAVEIDE,XMC4700.
Electric Actuator :Worked on Electronic controller Actuator product firmware which is controlled by remote,manually and has features like position feedback,torque detection,limit switches,temperature sensor etc
Role/Contribution
Design and develop the SPI driver for reading and writing the packets from Serial/parallel shift registers from multiple slaves
Implement the parameter configuration of device during initialization in application level by reading from DIP Switches serially through shift registers Read the Digital inputs through External hardware interrupt mechanism and trigger the events for torque detection to state machine Engine
Implement Debounce logic for Input Switches
Implement logic for parsing different Led data to Single byte packet sent through the SPI Bus(serial to parallel shift register) for status indication
Analyse and create flowchart for new architecture design under guidance of seniors