Aicte (Embedded)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Summer Industry Internship – I Report

on
Embedded Developer Virtual Internship
During
III Year I Semester Summer

Submitted to
The Department of Computer Science and Engineering-IOT
In partial fulfillment of the academic requirements of
Jawaharlal Nehru Technological University
For
The award of the degree of
Bachelor of Technology
in
Computer Science and Engineering-IOT

By

TELLALULA NITHIN SAI

(21311A6943)

Name of Internship Co-ordinator : Mr. B. Sujith Kumar


Designation : Assistant Professor

Sreenidhi Institute of Science and Technology


Yamnampet, Ghatkesar, R.R. District, Hyderabad - 501301

1
CERTIFICATE

This is to certify that this Summer Industry Internship – I Report on “Embedded Developer Virtual
Internship”, submitted by Tellakula Nithin Sai (21311A6943) in the year 2023 in partial fulfillment of the
academic requirements of Jawaharlal Nehru Technological University for the award of the degree of
Bachelor of Technology in Computer Science and Engineering-IOT , is a bonafide work in industry
internship that has been carried out during III B Tech CSE-IOT I Semester Summer, will be evaluated
in III B Tech CSE-IOT I Semester , under our guidance. This report has not been submitted to any other
institute or university for the award of any degree.

Mr. B. Sujith Kumar Dr. T. Venkat Narayana Rao


Assistant Professor Head of Department CSE-IOT
Department of CSE-IOT
Internship Coordinator

External Examiner
Date: -
DECLARATION

I, Tellakula Nithin Sai (21311A6943) student of SREENIDHI INSTITUTE OF SCIENCE AND


TECHNOLOGY, YAMNAMPET, GHATKESAR, studying III year I semester, CSE-IOT solemnly
declare that the Summer Industry Internship-I Report, titled “Embedded Developer Virtual Internship”
is submitted to SREENIDHI INSTITUTE OF SCIENCE AND TECHNOLOGY for partial
fulfillment for the award of degree of Bachelor of technology in COMPUTER SCIENCE AND
ENGINEERING-INTERNET OF THINGS.

It is declared to the best of our knowledge that the work reported does not form part of any dissertation
submitted to any other University or Institute for award of any degree

21311A6943
ACKNOWLEDGEMENT

I would like to express my gratitude to all the people behind the screen who helped me to transform an idea
into a real application.

I would like to thank my Project coordinator Mr. B. Sujith Kumar for his technical guidance, constant
encouragement and support in carrying out my project at college.

I profoundly thank Dr. T. Venkat Narayana Rao, Head of the Department of Computer Science &
Engineering –IOT who has been an excellent guide and also a great source of inspiration to my work.

I would like to express my heart-felt gratitude to my parents without whom I would not have been privileged
to achieve and fulfill my dreams. I am grateful to our principal, Dr. T. Ch. Siva Reddy, who most ably run
the institution and has had the major hand in enabling me to do my project.

The satisfaction and euphoria that accompany the successful completion of the task would be great but
incomplete without the mention of the people who made it possible with their constant guidance and
encouragement crowns all the efforts with success. In this context, I would like thank all the other staff
members, both teaching and non-teaching, who have extended their timely help and eased my task.

TELLAKULA NITHIN SAI


21311A6943
CERTIFICATE
INDEX
Abstract

1.INTRODUCTION 1

2. 8 BIT MICRO CONTROLLERS 2

2.1 ARCHITECTURE OF THE PIC 16 3

3. INTODUCTION TO MPLAB X IDE 4

3.1 FEATURE AND COMPONENTS 4

3.2 WORK FLOW 5

4.SYNTAX AND STRUCTURE OF C 6

5. ADVANCED MICROCONTROLLER 8

6. PROGRAMMING CALLBACKS 10

7.ADVANCED EMBEDDED C TIPS,TRICKS 11

7.1 CAUTIONS 12

8.ROLE OF EMBEDDED SYSTEM IN IOT 13

8.1 APPLICATIONS OF EMBEDDED SYSTEM IN IOT 13

8.2 CHALLENGES OF EMBEDDED SYSTEMS IN IOT 14

8 CONCLUSION 15
BIBLIOGRAPHY

Appendix A: Abstract

Appendix B: Correlation between the Summer Industry Internship-I and the


Program

Outcomes (POs), Program Specific Outcomes (PSOs)

Appendix C: Domain of Internship and Nature of internship


EMBEDDED DEVELOPER

Abstract

Embedded systems consist of interacting components that are required to deliver a specific functionality
under constraints on execution rates and relative time separation of the components. In this article, we
model an embedded system using concurrent processes interacting through synchronization.

We assume that there are rate constraints on the execution rates of processes imposed by the designer or
the environment of the system, where the execution rate of a process is the number of its executions per
unit time. We address the problem of computing bounds on the execution rates of processes constituting an
embedded system, and propose an interactive rate analysis framework.
1. INTRODUCTION
An embedded system is a special purpose system that is used to perform one or few dedicated function
Simply, we can call any electronic device that has a computer system embedded inside it an embedded system.

The microprocessor is the core of computer systems. Many communications, digital entertainment, portable devices, are
controlled by them. A designer should know what types of components he needs, ways to reduce production
costs and product reliable. Embedded systems are made to perform few tasks only, after implementation you can’t use them
for another purposes.

Ex. You can’t watch movies using the microprocessor of your microwave oven!!

1
2. 8 BIT MICRO CONTROLLERS

2.1 ARCHITECTURE OF THE PIC 16


The 8-bit PIC microcontroller uses a Reduced Instruction Set Computer (RISC) architecture that has a
separate address and data bus. This means they can be separate in size as well. All 8-bit PIC microcontrollers
have an 8-bit wide data bus but the program bus will vary in size depending on the family. This can also
cause confusion since the memory structure of an 8-bit PIC microcontroller will be reported in words of a
size equal to the program bus, not the data bus. A larger program bus allows the device to place more
information in one instruction line and thus, more efficient execution. Therefore, memory for each device
is reported in words and then a byte reference.

Figure 2.1 architecture of the pic16

• Baseline
Baseline PIC microcontrollers utilize a 12-bit instruction word and provide the right number of features and
options to minimize expenses and get the job done right. Baseline has the simplest architecture of the 8-bit
family and therefore, is the easiest to work with and understand. It features:

• Simple 33 (12-bit wide) instruction set for ease of use and quick development
• 2K word (3 KB) addressable program memory
• 144 bytes RAM (max)
• 2-level hardware stack
• One (8-bit) file select register
• Multiple product options and easy migration
• Smallest form factors available

The Baseline family can be recognized by their part number structure: 10Fxxx, 12Fxxx, and 16Fxxx.

• Mid-Range
Mid-Range PIC microcontrollers are the next tier in performance and have features from the Baseline PIC
microcontrollers. Utilizing a 14-bit instruction word, these peripheral-rich devices are ideal for many
applications that require a higher level of embedded control and more memory.

• 35 (14-bit wide) easy instructions to learn


• 8K word (14 KB) addressable program memory
• 368 bytes RAM (max)
• 8-level hardware stack
• One (9-bit) file select register
• Hardware interrupt handling
2
• Highly integrated feature set: Electrically Erasable Programmable Read-Only Memory (EEPROM), LCD,
mTouch™ sensing solutions, and serial communications
• The Mid-Range family can be recognized by their part number structure: 10Fxxx, 12Fxxx, and
16Fxxx.

• Enhanced Mid-Range
The newest family is the Enhanced Mid-Range core which builds upon the best elements of the Mid-Range
core and provides additional performance while maintaining compatibility with Mid-Range PIC MCUs for
true product migration. These devices have the latest features and the lowest power in the 8-bit core. The
enhanced core adds more program memory and higher operating speeds. They also feature the highest
accuracy and highest frequency internal oscillators.

• 49 (14-bit wide) assembly commands


• 32 K word (56 KB) addressable program memory
• 4 KB RAM (max)
• 16-level hardware stack
• Two (16-bit) file select registers
• Hardware interrupt handling with content save
• Advanced feature set, multiple serial communications, and motor control capability

The enhanced Mid-Range family can be recognized by their part number structure: 12F1xxx and
16F1xxx.

• High-End
These parts have their own prefix namely, PIC18. This family combines the maximum level of performance
and integration with the ease of use of an 8-bit architecture. With up to 16 MIPS of processing power,
PIC18 microcontrollers feature advanced peripherals, such as CAN, USB, Ethernet, LCD, and Charge Time
Measurement Unit (CTMU). They offer the largest pin count and memory size in the 8-bit family of parts.
The architecture is optimized for C programming.

• 83 (16-bit wide) assembly instructions


• Up to 2 MB addressable program memory
• 4 KB RAM (max)
• 32-level hardware stack
• One (8-bit) file select register
• Integrated 8x8 hardware multiply
• Highest-performance 8-bit architecture

3
3.INTRODUCTION TO MPLAB® X IDE
The MPLAB® X Integrated Development Environment (IDE) is a computer software that may be used to
create applications for Microchip PIC® microcontrollers and dsPIC® digital signal controllers (DSCs). It
can be run on Windows®, macOS®, or Linux® platforms. For the purpose of creating and debugging
applications on any device from the PIC microcontroller product family, the MPLAB X IDE offers a wide
range of functionality. But like any feature-rich program, it might be difficult to figure out how to use all
of its features or even to know what they are. This Developer Help site part aims to assist you in finding
and using the numerous features that are available to simplify and improve your development efforts.

Figure 3. INTRODUCTION TO MPLAB® X IDE

3.1Features and Components:

1.Integrated Development Environment (IDE):

Editor: MPLAB® X IDE includes a source code editor with features like syntax highlighting, code
completion, and indentation.
Project Manager: Organizes your source files, libraries, and configuration settings into a project.
Build System: Manages the compilation and linking of your code, generating executable files for the
target microcontroller.

2.Device Configuration and Selection:

Device Support: MPLAB® X IDE supports a wide range of Microchip microcontrollers and DSCs. You
can select your target device and configure its settings within the IDE.
4
Peripheral Configuration: Configure the peripherals of the microcontroller using graphical tools for
setting up GPIO, timers, communication modules, etc.
Debugger: Real-Time Debugging: MPLAB® X IDE integrates a powerful debugger that allows you to
set breakpoints, watch variables, and step through code in real-time.

Simulation: You can simulate your code execution without a physical target, which is helpful for
debugging and testing without the actual hardware.

3.Compiler and Toolchain Integration:

XC Compiler: MPLAB® X IDE uses the Microchip XC Compiler toolchain for compiling C, C++, and
assembly code for Microchip devices.
Third-Party Compiler Support: It also supports third-party compilers, allowing flexibility in choosing
the compiler that fits your needs.

4.Plugin Support:

MPLAB® Harmony: A framework and set of peripheral libraries for Microchip microcontrollers.
MPLAB® Code Configurator (MCC): A graphical tool for setting up and configuring peripherals
without manually writing initialization code.

5.Version Control Integration:

MPLAB® X IDE can integrate with version control systems like Git, facilitating collaborative
development.
3.2Workflow:
1.Creating a Project: Start by creating a new project, selecting your target microcontroller, and
configuring project settings.

2.Writing Code: Use the built-in editor to write your C, C++, or assembly code.

3.Configuring Peripherals: MPLAB® X IDE provides tools such as MCC for configuring and
initializing peripherals.

4.Building the Project: Compile and build your project to generate the binary file for programming onto
the microcontroller.

5.Debugging: Utilize the integrated debugger for real-time debugging and simulation.

6.Programming the Microcontroller: Once your code is ready, program the microcontroller using
MPLAB® X IDE.

7.Version Control: Optionally, integrate with version control systems for collaborative development.

5
4.Syntax and structure of c
An expansion of the standard C programming language for usage in embedded systems is the embedded C
programming language. The syntax and semantics of the C programming language are also used by the
embedded C programming language. The only features that are added to the standard C programming
language in the Embedded C language are address space access, fixed-point arithmetic operations, and I/O
hardware addressing.

Basic Structure of Embedded C Program:

The embedded C program has a structure similar to C programming.

The five layers are:

1. Comments
2. Pre-processor directives
3. Global declaration
4. Local declaration
5. Main function ()

Comment Section:
Comments are simple readable text, written in code to make it more understandable to the reader. Usually
comments are written in // or /* */.

Example: //Test program

Let’s look into Preprocessor Directives Section.

Preprocessor Directives Section:


The Pre-Processor directives tell the compiler which files to look in to find the symbols that are not present
in the program.

For Example, in 8051 Keil compiler we use,

1 #include<reg51.h>

Let’s look into Global declaration Section.

Global Declaration Section:

This part of the code is the part where the global variables are declared. Also, the user-defined functions
are declared in this part of the code. They can be accessed from anywhere.

1 void delay (int);


2 Let’s look into Local declaration section.

Local Declaration Section:


These variables are declared in the respective functions and cannot be used outside the main function.

Let’s look into the Main function section.


6
Main Function Section:
Every C programs need to have the main function. So does an embedded C program. Each main function
contains 2 parts. A declaration part and an Execution part. The declaration part is the part where all the
variables are declared. The execution part begins with the curly brackets and ends with the curly close
bracket. Both the declaration and execution part are inside the curly braces.

Figure 4 . syntax and structure of c

7
5.Advanced Microcontroller Embedded C Programming

Microcontroller embedded C programming is a crucial skill for professionals in the field of embedded
systems. It is a programming language that is widely used in the development of microcontroller-based
systems, and it offers a wide range of features that allow developers to create efficient and effective code. In
this blog, we will explore some advanced microcontroller embedded C programming techniques that
professionals can use to take their skills to the next level.

1.Use of Pointers

Pointers are variables that store the memory address of another variable. In microcontroller
embedded C programming, pointers are used to access and manipulate memory locations directly.
This technique can be used to optimize code and improve performance.

For example, consider the following code:

int x = 5; int *ptr; ptr = &x;*ptr = 10;

In this code, a pointer is used to access the memory location of the variable x. The value of x is then changed

to 10 using the pointer. This technique can be used to access and manipulate memory locations directly,

which can be useful in optimizing code for performance.

2.Use of Bitwise Operators

Bitwise operators are operators that manipulate the individual bits of a variable. In microcontroller embedded
C programming, bitwise operators can be used to optimize code and improve performance.
For example, consider the following code:
int x = 5;int y = 3;int z;z = x & y;

In this code, the bitwise AND operator is used to perform a logical AND operation on the binary

representations of x and y. The result is stored in the variable z. This technique can be used to optimize code

and improve performance.


3.Use of Interrupts

8
Interrupts are signals that are generated by hardware devices to interrupt the normal flow of program

execution. In microcontroller embedded C programming, interrupts can be used to respond to external events

in real-time.

For example, consider the following code:

void interrupt handler(){ // Interrupt handler code}void main(){ // Initialize interrupt init_interrupt(interrupt

handler); // Main program code}

In this code, an interrupt handler function is defined to handle an external interrupt. The function is then

initialized in the main program code. This technique can be used to respond to external events in real-time,

which can be useful in applications such as robotics and automation.


4.Use of DMA
DMA (Direct Memory Access) is a technique that allows data to be transferred from one memory location

to another without the need for CPU intervention. In microcontroller embedded C programming, DMA can
be used to optimize code and improve performance.

For example, consider the following code:

void dma_transfer(int *src, int *dest, int size){ // DMA transfer code}void main(){ int src[1000]; int

dest[1000]; // Initialize source and destination arrays // Perform DMA transfer dma_transfer(src, dest,

1000);}

In this code, a DMA transfer function is defined to transfer data from one memory location to another. The

function is then called in the main program code. This technique can be used to optimize code and improve

performance.
5.Use of Timers
Timers are hardware devices that can be used to measure time intervals in microcontroller embedded

systems. In microcontroller embedded C programming, timers can be used to perform time-critical


operations.

For example, consider the following code:

void timer handler () {// Timer handler code} void main(){ // Initialize timer init_timer(timer handler); //

Main program code}

In this code, a timer handler function is defined to handle a timer interrupt. The function is then initialized

in the main program code. This technique can be used to perform time-critical operations, such as controlling

the speed of a motor or measuring the time between events.

9
6.C programming callbacks
Callback functionality is an important concept in embedded programming. Callbacks allow you to create
more flexible and modular functions and enable you to separate hardware and software operations. They
also allow for multiple programmers to work on a project and provide code to be combined with the main
application program. You can use different callback implementations to reduce your code execution
bandwidth and enable faster and more flexible response to any microcontroller pin or peripheral condition.
In this course, you will be able to explain the components of a callback. You will be able to use callbacks
in both polled and interrupt environments. You will learn how to create library and object files that can be
incorporated into your application program with the use of callbacks. You will be able to construct very
flexible callback structures. Callbacks are a powerful application of pointers that access functions, so you
do need to have a good understanding of function pointers and the C programming language.

Figure 6 C Programming callbacks

Callbacks in C programming, especially in embedded systems, are a powerful and common technique for
handling events and asynchronous operations. A callback is essentially a function that is registered to be
called at a later point in time, often in response to a specific event. In embedded systems, callbacks are
frequently used for handling interrupts, timers, and other asynchronous events.

Function Pointers: In C, function pointers are used to store the address of a function. They allow you to
pass functions as arguments to other functions. This feature is essential for implementing callbacks.

Example Usage:Assume you have an embedded system where an interrupt occurs, and you want to execute
a specific function when the interrupt occurs. You can use a callback for this purpose.

10
Context Data: Callbacks can also carry additional context data by defining a structure that holds both the
function pointer and the associated data. Considerations for Embedded Systems:

Function Size: Keep the callback functions small and efficient, as they may be called in time-sensitive
situations.

Global vs. Local: Be mindful of the scope of your function pointers. In some cases, global function pointers
may be used, but local ones may be more suitable to avoid unintended side effects.

Remember that the specifics may vary based on the architecture and toolchain of your embedded system.
Always refer to the documentation of your embedded platform and compiler for any specific considerations
or limitations.

7.Advanced embedded c tips, tricks

11
1. Memory Management:
• Optimize memory usage by carefully selecting data types.
• Use const and volatile keywords appropriately for variables.
• Consider using a memory pool or custom memory allocation strategies.
2. Inline Assembly:
• Use inline assembly judiciously to optimize critical sections.
• Be aware of the specific syntax for the target architecture.
3. Power Management:
• Utilize low-power modes to conserve energy.
• Be mindful of power-hungry peripherals and manage their usage efficiently.
4. Interrupt Handling:
• Keep interrupt service routines (ISRs) short and efficient.
• Minimize the use of global variables within ISRs.
5. Watchdog Timers:
• Implement watchdog timers to recover from unexpected failures.
• Be cautious about resetting the watchdog timer within loops to prevent unintended resets.
6. Optimization Techniques:
• Profile your code and focus optimization efforts on critical sections.
• Utilize compiler optimization flags effectively.
• Consider using assembly for performance-critical sections.
7. Modular Code Design:
• Break your code into modular functions for better maintainability.
• Implement abstraction layers to isolate hardware-specific details.
8. Testing and Debugging:
• Use debugging tools such as JTAG, serial debuggers, or integrated development environments.
• Employ unit testing and simulation tools to catch bugs early in development.
9. RTOS (Real-Time Operating System):
• If applicable, use an RTOS to manage tasks and improve code structure.
• Be cautious about the overhead introduced by the RTOS.
7.1Cautions:
1. Compiler and Architecture Dependency:
• Be aware of compiler and architecture-specific behaviors.
• Write code with portability in mind, especially if you might switch compilers or platforms.
2. Floating-Point Arithmetic:
• Avoid using floating-point arithmetic if not necessary, as it can be resource-intensive.
12
• Be cautious about precision and rounding errors.
3. Global Variables:
• Minimize the use of global variables to reduce the risk of side effects.
• Be cautious about potential issues with data corruption in a multitasking environment.
4. Code Size and Execution Time:
• Keep an eye on code size and execution time, especially in resource-constrained systems.
• Use profiling tools to identify bottlenecks.
5. Stack Overflow:
• Carefully manage stack usage to avoid stack overflow issues.
• Be mindful of recursive functions and deep function call hierarchies.
6. Peripheral Configurations:
• Double-check and validate peripheral configurations, as incorrect settings can lead to malfunctions.
• Ensure proper initialization and shutdown procedures for peripherals.
7. Real-Time Constraints:
• Understand and adhere to real-time constraints, especially in safety-critical systems.
• Avoid lengthy or non-deterministic operations in time-sensitive code.

8.The Role of Embedded Systems in the Internet of Things (IoT)

The Internet of Things (IoT) has changed how we interact with ours. The possibilities for connected devices
to improve efficiency, manageability, and accessibility appear limitless, from smart homes to linked
automobiles. But what enables the Internet of Things to exist? The success of the Internet of Things is
dependent on embedded systems. Embedded systems are sophisticated computerized systems that are built
into physical objects and linked to networks to perform specific functions. They provide computational
power, data storage, and communication capabilities as well. All are needed by different devices to interact
with one another and the "cloud" via their network.

• What are Embedded Systems?

Embedded systems are computer systems that are programmed to perform specific tasks. They can be found
in phones, automobiles, and most household appliances. They are typically small and have limited
resources, but they are powerful enough to control the device in which they are embedded. They are
designed to do only one thing. Embedded systems are used in various products and fields, from consumer
goods and industrial systems to medical and automotive devices. They are expected to be dependable,
energy-efficient, and cost-effective. Hence, they provide several advantages over traditional computers.

13
• Applications of Embedded Systems in IoT

Embedded systems have a range of applications in the IoT sector. They can control and monitor devices,
collect data, and communicate with users. For instance, they can monitor a room's temperature and adjust
the thermostat. They can also be used to check a car's performance and alert the driver if there's an issue.
From controlling the lights and climate in homes to tracking one’s fitness and health, IoT applications are
constantly becoming more integrated into our lives. This trend will only continue as the demand for better,
faster, and more reliable data-driven solutions continue to rise. Embedded systems are at the core of many
IoT applications, providing the necessary hardware and software components. They are essential to support
the ever-increasing capabilities of today's connected world.

• Advantages of Embedded Systems in IoT

Embedded systems are an essential component of the IoT ecosystem, and they provide several benefits that
make them powerful tools for businesses and individuals. The advantages of embedded systems in IoT are
numerous. They are cost-effective, dependable, and energy-efficient. Furthermore, they provide a high level
of security and are tamper-proof. And, because they are simple to upgrade and update, there is a feature
that allows you to access the most recent features and functionality regularly.

They must also collect data from physical devices, make intelligent decisions based on that data, and
communicate the results to the physical devices. Embedded systems power the future of connected devices
and services, from connected health devices to autonomous driving technology. They are required for the
creation of efficient and secure IoT solutions. The market for them is growing in terms of both numbers,
potential, and functionalities. Numerous embedded systems are on the market today, and new ones are
constantly being developed.

The critical embedded systems must be securely integrated into the larger system as the first step in
developing an IoT solution. This facilitates the establishment of a secure network for these devices. Next,
there should be encryption of data transmitted between the devices and the IoT cloud service. One of the
most important steps in securely deploying them is ensuring that all devices have secure firmware (or
firmware OS).

• Challenges of Embedded Systems in IoT

The Internet of Things (IoT) rapidly changes people's thinking about technology. The Internet of Things
(IoT) has enabled professionals to leverage data to create a new level of insight and control through its
interconnected network of sensors, devices, and systems. However, embedded systems have presented
many challenges when it comes to deploying IoT solutions. These difficulties include everything from
power management and security to cost and scalability.

Embedded systems require much knowledge to create and maintain. Designing and developing them
requires high expertise. Hence, they can be difficult to debug. They can also be vulnerable to cyberattacks,

14
making security an important consideration. Another challenge is that embedded systems cannot handle
large amounts of input data.

9.CONCLUSION
In conclusion, working as an embedded developer demands a unique set of skills and considerations due to
the specialized nature of embedded systems. The role requires a deep understanding of both hardware and
software aspects, as well as an appreciation for the constraints and challenges posed by resource-limited
environments.

In essence, the embedded developer's role is dynamic, requiring a combination of technical acumen,
problem-solving skills, and adaptability. By embracing the challenges posed by resource constraints, real-
time demands, and evolving technologies, embedded developers contribute to the creation of efficient and
reliable systems in applications ranging from IoT devices to automotive control systems.

15
BIBLIOGRAPHY

[1] Herbert Schildt, The Complete Reference Java2 Fifth Edition, Tata McGraw-Hill
Edition 2002.

[2] Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling Language
UserGuide. Addison-Wesley, Reading, Mass., 1999.

[3] www.coderanch.com

[4] www.java.sun.com

[5] www.w3schools.com

[6] www.wikipedia.org

16
APPENDIX A: ABSTRACT

Sreenidhi Institute of Science and Technology


Summer Industry Internship -I

Batch No:

Roll No Name Title

21311A6943 TELLAKULA NITHIN SAI EMBEDDED DEVELOPER

Abstract

Embedded systems consist of interacting components that are required to deliver a specific
functionality under constraints on execution rates and relative time separation of the
components. In this article, we model an embedded system using concurrent processes
interacting through synchronization.

We assume that there are rate constraints on the execution rates of processes imposed by the
designer or the environment of the system, where the execution rate of a process is the
number of its executions per unit time. We address the problem of computing bounds on the
execution rates of processes constituting an embedded system, and propose an interactive
rate analysis framework.

Student: TELLAKULA NITHIN SAI


Project Coordinator HOD CSE-IOT
Mrs.C. Swetha Dr.T. Venkata Ramana Rao
Assistant Professor Professor

Dept of CSE-IOT

17
APPENDIX B: CORRELATION BETWEEN THE SUMMER
INDUSTRY INTERNSHIP-I AND THE PROGRAMOUTCOMES
(POS), PROGRAM SPECIFIC OUTCOMES (PSOS)

Batch No:
Title
Roll No Name

21311A6943 TELLAKULA NITHIN SAI EMBEDDED DEVELOPER

Table 1: Project/Internship correlation with appropriate POs/PSOs


(Please specifylevel of Correlation, H/M/L against
POs/PSOs)
H High M Moderate L Low

SREENIDHI INSTITUTE OF SCIENCE AND TECHNOLOGY


DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Projects Correlation with
POs/PSOs

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3

M L L H H L M H M H H H H H M

Student: TELLAKULA NITHIN SAI Project Coordinator HOD CSE-IOT

Mrs. Swetha Dr.T. Venkat Narayana Rao


Assistant Professor Professor

18
Table 3: Domain of the Project/ Internship work (Please tick √ Appropriate For your project)

Domain of the project

ARTIFICIAL COMPUTER DATA CLOUD SOFTWARE


Batch No. Title INTELLIGENCE, NETWORKS, WAREHOUSING, COMPUTING, ENGINEERIN
MACHINE INFORMATION DATA MINING, INTERNET G, IMAGE
LEARNING, AND SECUTIRY, BIG DATA OF THINGS PROCESSING
DEEP LEARNING CYBER ANALYTICS
SECURITY

EXPLORING
AMAZON
B11 DYNAMODB √

Student: TELLAKULA NITHIN SAI Project Coordinator HOD CSE-IOT


Dr. T. Venkat Narayana
Mrs. C. Swetha
Rao
Assistant Professor
Professor
Dept of CSE-IOT

19

You might also like