Programming languages: C, Embedded C, C++, Java, Assembly.
Operating systems: Windows, Linux
Tools: Applications MATLAB, Code Composer Studio, PSoC Creator Suite, Simulink, Proteus, Simulink, GCC, AUTOSAR.
Protocols: TCP/IP, SPI, UART, I2C, CAN, LIN.
- Implemented two level Page Table for mapping virtual pages to physical pages and physical page allocator to create, allocate and delete pages.
- Wrote routines for traversing the page table, checking bounds of memory, allocating proper Page table entries for kernel and user functions.
- Interrupt and Exception handling: Wrote Routines to set up IRQ lines, Fault handlers for respective interrupts according to access privilege levels
- Implemented Inter - Process Communication (IPC) to share data or pages between processes.
- Implemented Copy-on-Write Fork and Round-Robin scheduling.
- Wrote a network driver for E1000 network interface card.
- Involved detecting the card, reading the vendor ID and on successful identification execute the concerned function.
- Wrote a network server code to transfer packets between network stack and network driver.
- Wrote a Confidential UART driver for custom Hardware Accelerator for Linux for ARM.
- Added the device node to the device tree, to give the hardware information.
- Built Linux Kernel image for ARM Versatile board, root file system with Confidential & ran a user program under Linux
- Developed Kernel Module that accepts command line parameters on versatile PB ARM board.
- Created UART character Driver for ARM Veratile PB board, which used polling to read and write a character on UART terminal.
- An IOT system consisted of an android app, Xampp and raspberry pi3 to create home security and monitoring system
- Android app helped in monitoring and controlling the appliance and the database was maintained on a Lampp server which was accessed by the android app.
- Camera and sensors were connected to raspberry pi 3 to simulate the home environment
- Hosted a web server to interact with multiple incoming requests from web browser.
- Used FIFO policy to schedule the connection requests from the browser, based on the producer-consumer model
- Easter Eggs Search: Communicated with different nodes (Easter eggs) using XBee to find their location depending on their RSSI values.
- API frames were used to create a data packet which were transferred to the XBee using UART
- Stepper motor simulation: Simulated a stepper motor on Renesas RX63N and interfaced a temperature sensor to check for overheating
- Digital Oscilloscope: Created a digital oscilloscope using Renesas RX63N to display the analog voltage signal on onboard LCD