You are on page 1of 66

SINHGAD INSTITUTE OF TECHNOLOGY, LONAVALA

DEPARTMENT OF ELECTRONICS & TELECOMMUNICATION

Embedded System & RTOS


Elective-III

BE E & TC
A.Y. 2022-23[Sem-I]

Mrs. D. K. Shende
Assistant Professor
Dept. Of Electronics and Telecommunication Engg,
Sinhgad Institute of Technology, Lonavala
dshende.sit@sinhgad.edu
Cell. +91 9011042725

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Unit No-04: Embedded Linux Development Environment

Syllabus:-
Need of Linux, Embedded Linux Today, Open Source and the GPL, BIOS Versus Boot loader,
Storage Considerations, Embedded Linux Distributions. Embedded Development Environment,
Cross-Development Environment, Host System Requirements, Hosting Target Boards.
Development Tools, GNU Debugger, Tracing and Profiling Tools, Binary Utilities.
Unit Objectives: On completion the students will be able to :
Understand embedded Linux
Learn concept of BIOS and different Bootloader.
Understand
. Linux kernel construction

Unit Outcomes:
1. Define the fundamental concepts of Embedded Linux
2. Know history and need of Linux in embedded application
3. To develop environment

Reference Books:
• T2: . Christopher Hallinan, “Embedded Linux Primer -A Practical, Real-World Approach”2nd edition, Prentice
Hall.
• R1. David E. Simon, “An Embedded Software Prime”, Pearson Education.

Outcome Satisfied: PEOs:I PSOs:2 POs: i,vii COs: 1,2


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
ERTOS - Course Details

A.Y. 2022-23
Programme: UG Programme in E&TC Class: B.E (E&TC)
Sem. I

Course Code: (Theory) Course : Modernized IoT


Corresponding Lab Course Code : Lab Course Name: Lab Practice I (ERTOS+VLSI)

Teaching Scheme Examination Scheme


Theory Practical Credit Theory Lab
Online/
(hrs/week) (hrs/week) Endsem Credit Practical Oral
Insem
3 hrs 2 hrs 3 30 70 3 50 --

Prerequisite Courses, if any:


ARM7/ ARM9/ ARM Cortex- M

December 22, 2022 MRS. DIPALI K. SHENDE DEPARTMENT OF E & TC


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
ERTOS : CO-PO Mapping

Course Blooms Taxonomy After successful completion of the course Mapping with
PO MAPPING
Outcome Level learner will be able to Syllabus Unit
Embedded Linux Development
CO4 3 4 1,2,3,4,5,6
Environment and testing tools.

MAPPI LEVEL JUSTIFICATION


NG Program Outcomes (POs)
CO4- 2 Moderately understand the impact and benefits of open source operating 1. Engineering knowledge
PO 1 systems. 2. Problem analysis
3. Design/development of solutions
CO4- 2 Moderate to identify the basic suitable tool chain building for applications 4. Conduct investigations of complex problems
PO2 5. Modern tool usage
6. The engineer and society
CO4- 2 This CO moderately demonstrates an ability to select various distributions and 7. Environment and sustainability
PO3 basics of GNU Cross Platform Tool Chain 8. Ethics
9. Individual and team work
CO4- 5 This CO lightly demonstrates an ability to illustrating how the M2M/IoT vision 10. Communication
PO4 combines with the reference architectures to create real-world value with their 11. Project management and finance
level of knowledge and understanding 12. Life-long learning
CO4- 6 Cross compile Linux kernel and port it to target board.
PO5

CO4- 5 Improved Employability and entrepreneurship capacity due to knowledge


PO6 upgradation on recent trends in embedded linux based application
development.

December 22, 2022 MRS. DIPALI K. SHENDE DEPARTMENT OF E & TC


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
ERTOS: Books
TEXT BOOKS
T1 : Embedded System Building Blocks by Jean Labrosse, CMP2. Olivier Hersent, David Boswarthick, and Omar
Elloumi, ―The Internet of Things: Key Applications and Protocols‖, Wiley Publications
T2: Christopher Hallinan, “Embedded Linux Primer -A Practical, Real-World Approach”2nd edition, Prentice Hall.

REFERENCE BOOKS
R1 : Embedded System by Rajkamal, 2nd Edition TMH
R2 : Embedded System Design by Frank Vahid, Wiley
R3 : David E. Simon, “An Embedded Software Prime”, Pearson Education.

ADDITIONAL MATERIAL
MOOC / NPTEL:

NPTEL Course on “Embedded System Design with ARM” Prof. Indranil Sengupta,

Prof. Kamalika Datta, IIT Kharagpur


Link of the Course:
https://nptel.ac.in/courses/106105193
2. NPTEL Course on “Real-Time Systems” Prof. Rajib Mall, Prof. Durga Prasad Mohapatra, IIT

Kharagpur
Link of the Course:
https://nptel.ac.in/courses/106105229
December 22, 2022 MRS. DIPALI K. SHENDE DEPARTMENT OF E & TC
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
ERTOS : Lab Experiments

December 22, 2022 MRS. DIPALI K. SHENDE DEPARTMENT OF E & TC


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Course Distribution

12/22/2022
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
History of Linux

Linux

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Why Linux??

6/13/2015 MIT Academy of Engineering, Alandi, Pune 9


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Why using OS? Why Embedded Linux

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


History of Linux

Linux

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Case study: Raspberry Pi OS
Raspberry Pi OS is the recommended operating system
for normal use on a Raspberry Pi. Raspberry Pi OS is a
free operating system based on Debian, optimised for
the Raspberry Pi hardware.
Debian GNU/Linux
Raspberry Pi OS (formerly Raspbian) is a
free operating system based on Debian GNU/Linux
and optimised for the Raspberry Pi hardware (the
armhf processor architecture). Raspberry Pi OS comes
with over 35,000 packages, or pre-compiled software
bundled in a nice format for easy installation on
a Raspberry Pi.

12/22/2022 Mrs.D.K.Shende 12
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
History of Linux
Distributions

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Old kernel version identification scheme:

Linux 2.4.21 is release 21 of version 2.4


Three digits: x.y.z
x.y => version number
z => release number
Linux 2.5.73 is release 73 of version 2.5
Even version number (ex.: 2.4) => stable tree
Odd version number (ex.: 2.5) => development tree

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Current version identification scheme:

Four digits: x.y.z.a


x.y => version number
number z => release number
a => stabilization increment
These four digit releases are not maintained by Linus, but rather by other
kernel developers
Goal: Provide stable/fixesonly releases.
Starting from 2.6.11.1

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


History of Linux
Linux

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


History of Linux
Linux

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Growth of Embedded Linux

Linux supports a vast variety of hardware


architectures, platforms, and devices.
Linux supports a huge variety of applications and
networking protocols.
Linux is scalable
Linux can be deployed without the royalties required by
traditional proprietary embedded operating systems.
An increasing number of hardware and software vendors
now support Linux.

6/13/2015 MIT Academy of Engineering, Alandi, Pune 18


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Embedded Linux Today

cellular phones,
DVD players,
video games,
digital cameras,
network switches
wireless networking gear.

6/13/2015 MIT Academy of Engineering, Alandi, Pune 19


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Embedded Linux …

Linux is already in your home or automobile. Linux has


been commonly selected as the embedded operating
system in devices including
set-top boxes,
high-definition televisions,
Blu-ray DVD players,
automobile infotainment centers, etc.

6/13/2015 MIT Academy of Engineering, Alandi, Pune 20


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
What's embedded Linux?

Embedded Linux doesn't exist


There is no specific kernel for embedded systems There are,
nevertheless, customized kernels
specially configured / customized for specific embedded
hardware configurations.
What does exist:
❑ Embedded Linux system
❑ Embedded Linux development distribution
❑ Embedded Linux target distribution

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Open Source & GPL

Linux is open source


The Linux kernel is licensed under the terms
of the GNU GPL (General Public License)
You can download Linux without charge, but
development and deployment with any OS on
an embedded platform costs.
The GPL is remarkably short and easy to read

6/13/2015 MIT Academy of Engineering, Alandi, Pune 22


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Features of GPL
The license is self-perpetuating.
It grants the user freedom to run the program.
It grants the user the right to study and modify
the source code.
It grants the user permission to distribute the
original code and his modifications.
The license is viral. In other words, it grants these
same rights to anyone to whom you distribute
GPL software.

23
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
BIOS Versus Boot loader

When power is first applied to the desktop computer,


a software program called the BIOS immediately
takes control of the processor.
The BIOS is a complex set of system-configuration
software routines that have knowledge of the low-
level details of the hardware architecture.
The BIOS first gains control of the
processor when power is applied.
Its primary responsibility is to initialize the hardware,
especially the memory subsystem, and
Load an operating system from the PC’s hard drive

6/13/2015 MIT Academy of Engineering, Alandi, Pune 24


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Boot loader

On power-up, the boot loader :


Initializes critical hardware components, such as the
SDRAM controller, I/O controllers, and graphics
controllers.
Initializes system memory in preparation for passing
control to the operating system.
Allocates system resources such as memory and
interrupt circuits to peripheral controllers, as
necessary.

6/13/2015 MIT Academy of Engineering, Alandi, Pune 25


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Boot loader …

Provides a mechanism for locating and loading


your operating system image.
Loads and passes control to the operating system,
passing any required startup information. This can
include total memory size, clock rates, serial port
speeds, and other low-level hardware-specific
configuration data.

6/13/2015 MIT Academy of Engineering, Alandi, Pune 26


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Boot Loader
Q. What is a bootloader in embedded systems?
A bootloader (sometimes called a boot manager)
is unique to the architecture of
the embedded processor it runs on and includes
some application specific aspects. ...
A bootloader performs various hardware checks,
initializes the processor and peripherals, and does
other tasks like partitioning or configuring
registers.

12/22/2022
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Bootloader[Uboot]

subtitled "the Universal Boot Loader" and often


shortened to U-Boot.
Open-source, primary boot loader used
in embedded devices to package the instructions
to boot the device's operating system kernel.
It is available for a number of computer
architectures,including 68k, ARM, Blackfin, Micr
oBlaze, MIPS, Nios, SuperH, PPC, RISC-
V and x86.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Bootloader[Uboot]
U-Boot is both a first-stage and second-stage bootloader. It is loaded
by the system's ROM or BIOS from a supported boot device, such
as an SD card, SATA drive, NOR flash (e.g. using SPI or I²C), or
NAND flash. If there are size constraints, U-Boot may be split into
stages: the platform would load a small SPL (Secondary Program
Loader), which is a stripped-down version of U-Boot, and the SPL
would do initial hardware configuration and load the larger, fully
featured version of U-Boot.
Regardless of whether the SPL is used, U-Boot performs both first-
stage (e.g., configuring memory controllers and SDRAM) and
second-stage booting (performing multiple steps to load a modern
operating system from a variety of devices that must be configured,
presenting a menu for users to interact with and control the boot
process, etc.).

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


BIOS Versus Boot loader

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Booting Process

12/22/2022
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Booting Process

12/22/2022
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Embedded Device Booting

First Piece of code


Stage
Single
Multistage

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Build Environment

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Embedded Linux Setup

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Embedded Linux Setup
It shows a host development system, running desktop
Linux distribution, such as Red Hat, SUSE, or Ubuntu
Linux.
The embedded Linux target board is connected to the
development host via an RS-232 serial cable/Ethernet.
The development host contains your development
tools and utilities along with target files, which
normally are obtained from an embedded Linux
distribution.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Starting the Target board

When power is first applied, a boot loader supplied with your


target board takes immediate control of the processor.
It performs some very low-level hardware initialization, including
processor and memory setup, initialization of the UART controlling
the serial port, and initialization of the Ethernet controller.
When the initial hardware configuration is complete, U- Boot
configures any hardware subsystems as directed by its static
configuration. For e.g. I2C, DRAM, FLASH, L2 cache, PCI, and
network subsystems.
Finally, U-Boot waits for input from the console over the serial
port, as indicated by the => prompt.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Build Tools

12/22/2022
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Build Tools

12/22/2022
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Compiler Tool Chain for ARM architecture

12/22/2022
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Builing Blocks(ARM)…

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Booting the Kernel

U-Boot has initialized the hardware, serial port,


and Ethernet network interfaces.
It loads and boots the Linux kernel.
All boot loaders have a command to load and
execute an operating system image - bootm
Shortly before issuing a login prompt on the
serial terminal, Linux mounts a root file system.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Root file system

Linux requires a file system.


A file system consists of a predefined set of system
directories and files in a specific layout on a hard drive
or other medium that the Linux kernel mounts as its root
file system.
The root file system contains the application programs,
system libraries, and utilities that make up a Linux
system.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Storage Considerations

The hard drive is replaced by smaller and less


expensive nonvolatile storage devices.
Hard drives are bulky, have rotating parts, are
sensitive to physical shock, and
They require multiple power supply voltages,
which makes them unsuitable for many embedded
systems.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Flash Memory

These modules, based on Flash memory technology,


are solid-state hard drives, capable of storing many
megabytes—and even gigabytes—of data in a tiny
footprint.
They contain no moving parts, are relatively rugged,
and operate on a single common power supply voltage.
Several manufacturers of Flash memory exist.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Flash Memory …

More typical storage requirements for embedded


Linux systems range from 16MB to 256MB or more
(gigabyte range).
Flash memory can be written to and erased under
software control.
Flash memory is divided into relatively large erasable
units, referred to as erase blocks.
One of the defining characteristics of Flash memory is
how data in Flash is written and erased.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


NAND Flash Memory

NAND Flash devices improve on some of the limitations


of traditional (NOR) Flash by offering smaller block sizes,
resulting in faster and more efficient writes and
generally more efficient use of the Flash array.
NAND Flash is a relatively new Flash technology.
NAND Flash is more suitable for bulk storage in file
system format than raw binary executable code and data
storage.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Flash Memory Layout
The boot loader is often placed in the top or bottom of
the Flash memory array.
Following the boot loader, space is allocated for the
Linux kernel image and the ramdisk which holds the root
file system.
Typically, the Linux kernel and ramdisk file system
images are compressed, and the boot loader handles the
decompression task during the boot cycle.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Flash Memory Layout ..

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Flash File System

One of the more popular Flash file systems in use today is


JFFS2, or Journaling Flash File System 2.
It has several important features aimed at improving
overall performance, increasing Flash lifetime, and
reducing the risk of data loss in the case of power failure.
The more significant improvements in the latest JFFS2 file
system include improved wear leveling, compression and
decompression to squeeze more data into a given Flash
size, and support for Linux hard links.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Embedded Linux Distributions

Most Linux application programs depend on one or


more system libraries.
Other programs require configuration and log files, and
so on.
A small embedded Linux system needs many dozens of
files populated in an appropriate directory structure on
a root file system.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Embedded Linux Distributions …

A package can consist of many files. A complete Linux distribution can


contain hundreds or even thousands of packages.
These are some examples of packages you might find on an embedded
Linux distribution, and their purpose:
initscripts contains basic system startup and shutdown scripts.
apache implements the popular Apache web server.
telnet-server contains files necessary to implement telnet server
functionality, which allows you to establish telnet sessions to your
embedded target.
glibc implements the Standard C library.
busybox contains compact versions of dozens of popular command-line
utilities commonly found on UNIX/Linux systems

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Embedded Linux Distributions …

The executable target binaries from an embedded


distribution will not run on your PC, but are targeted to the
architecture and processor of your embedded system
A desktop Linux distribution tends to have many GUI tools
but an embedded Linux distribution typically omits these
components in favor of specialized tools aimed at
developers, such as memory analysis tools, remote debug
facilities, and many more…
An embedded distribution typically contains cross tools, as
opposed to native tools.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Cross-Development Environment
Native development denotes the compilation
and building of applications on and for your
host system.
Cross-development denotes the compilation
and building of applications on the host system
that will be run on the embedded system.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Host System
The development host requires four separate and
distinct capabilities:
• Cross tool chain and libraries
•Target system packages, including programs,
utilities, and libraries
•Host tools such as editors, debuggers, and
utilities
•Servers for hosting your target board – TFTP,
NFS,..

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Hosting Target Boards
While developing your embedded Linux kernel, you
will compile and download kernels and root file
systems to your embedded board many times.
Having an Ethernet connection available on your
target board is worth its cost in silicon!
TFTP is a lightweight protocol for moving files between
a TFTP server and TFTP client over Ethernet, similar to
FTP.
TFTP is a TCP/IP service that must be enabled
on your workstation.

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


GNU Debugger
gdb: stands for GNU Debugger
-powerful command line debugger
-closely tied to gcc and g++
-supports various architectures and platforms
-with gdb you can: run program, stop program
execution, see value of variables and expressions
,look at source code as it's executed, Execute one
line at a time, change the value of variables, observe
sequence of function calls

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


GNU Debugger
gdb: stands for GNU Debugger
-powerful command line debugger
-closely tied to gcc and g++
-supports various architectures and platforms
-with gdb you can: run program, stop program
execution, see value of variables and expressions
,look at source code as it's executed, Execute one
line at a time, change the value of variables, observe
sequence of function calls

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Gdb …

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


University Asked Questions

1. What are the functions of Boot loader? 06

2. Differentiate between BIOS and Boot-loader? 08


3. Explain in detail the concept of Embedded Linux Distributions. 6
4. Explain the various binary utilities in tool chain 6

5. 6
Explain in detail the role of GNU debugger.
6. 8
Draw a typical embedded Linux development set up and explain how it works
7. Explain cross development compilation in detail 6
8. Explain the role of Universal boot loader in detail 6
9. 6
Explain in detail the concept of Embedded Linux Distributions.
10 6
Explain the various binary utilities in tool chain
11 Explain in detail the role of GNU debugger. 6
12 6

Explain the Linux Kernel construction in detail

12/22/2022
Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Practical Discussion
NANDFlashProgramming.doc
Porting of linux operating system on ARM9/ARM Cortex-M

Download pre-configured Kernel Image, File System,


bootloader to target device- ARM9

The four element

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Porting of linux operating system on ARM9/ARM Cortex-M

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Porting of linux operating system on ARM9/ARM Cortex-M

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Links
• Linux Standard Base Project
http://www.linuxfoundation.org/collaborate/workgroups/l sb
•Linux Foundation
http://www.linuxfoundation.org/
• GCC online documentation
http://gcc.gnu.org/onlinedocs/
•Building and testing gcc/glibc cross toolchains
http://kegel.com/crosstool/
• “The TFTP Protocol, Version 2” RFC 1350
www.ietf.org/rfc/rfc1350.txt?number=1350

Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala


Questions and Discussion

Suggestions are Welcome!

December 22, 2022 MRS. DIPALI K. SHENDE DEPARTMENT OF E & TC


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala
Sinhgad Institute of Technology, Lonavala

Mrs. D. K. Shende
Assistant Professor
Dept. Of Electronics and Telecommunication Engg,
Sinhgad Institute of Technology, Lonavala
dshende.sit@sinhgad.edu
Cell. +91 9011042725

December 22, 2022 MRS. DIPALI K. SHENDE DEPARTMENT OF E & TC


Mrs.D.K.Shende, AssistantProfessor, Department of E&TC, SIT, Lonavala

You might also like