10 Tips to Accelerate Your Engineering Career in Embedded System
I am Yogesh Kumar Sharma from founder of Professional Training Institute, having 15+ years of industrial experience in embedded development. Okay so let’s start your journey in the embedded world.
1. Practical Working Knowledge in Embedded Devices:
2. Embedded Development Life Cycle:
By knowing the Embedded development life cycle will helps a lot in your career. you can only make the project by own without anyone help. Normally process is depends upon individual company but normally we follow SDLC with some changes. For complete embedded development cycle involves different steps.
First, the market team will give a requirement for their application and based on their application R&D engineer need to analyze the project for feasibility of project, technology required, past experience within organization etc.
Following are the steps normally followed in organization
f) Testing and validation
Then R&D team will start the design and implementation.
The above steps are part of SDLC – software development life cycle. After implementation complete product testing is started. once you should know the above steps.
3. Command Over C Language is Very Important:
In my life i know only C language, till now i don’t have any other requirement to learn other language. C is the programming language for embedded system. Mainly C language is working more closely hardware. it is most widely used programming in the world. While you are setting in any interview you should have complete knowledge of C language. In any embedded system interview 90% questions will come from C language. you should have control over C language. In Interview company is expecting very deep understanding of C, normally they ask higher end of C language like, function pointer, structure, union, pointer, array of structure pointer etc. In order to achieve control over interview you should go complete understanding of C language.
When you work in company, you have to design an embedded product and you need to use C language. We need to know Advance knowledge in C language. As deeper understanding you will have in C language that much good code you can write. We are the professional training institute in Bangalore, we give training in C completely hands on, it will make our student knowledge more stronger than any experience student.
4. Understanding of Hardware Component, Their Use and Datasheet Reading Skills:
As an Embedded Engineer, we need to know all the hardware components which we are used in the Embedded projects. Normally component used in Embedded is Resistance, capacitor, inductance, diode, transistor we should be aware of these components, how to use them, limitation etc. We may also need have knowledge of ICs like RTC DS1307, EEPROM – 24c04, ADC 0804, RS232, ULN2003 etc we should know what all types of ics are available and where we can use them. Although many types are ICs are available in the marketing, but we should be aware of all main ICs. When we know that how the hardware components will work and how to interface with other components then we can easily complete the projects with less help with others.
During training our student do lot of experiments with the above ic and gets hands on understanding of that. during experiment student read data sheet and use the information mentioned in that. you also must know what all are the important parameter we need to check in data sheet.
5) Debugging skills of software – Embedded firmware.
If your writing code for running hardware then if you are lucky then your code will work as it is. but in most of the case, I won’t. Firmware won’t work as it is, And if firmware not working then we have to make it work. We have to find out what is the mistake we did, for that we need debugging skills. But the difficult part is how to learn to debug, here in the Professional Training Institute we ensure that during training student face enough problems so that he/she can develop debugging skills. However, when we got an error we need to go through the ocean and solve the problem faced. We need a lot of analytical skills to overcome the possible cause of the error, to narrow down the scope of error. Still, there is a possibility that some error will solve in 10 min, some error will solve in a few days, but some may take months or years. But it will surely be having a root cause. Sometimes, we are written the firmware code correctly but we are getting errors because of there is a malfunction in the hardware circuit(we don’t know that), so with how many times if you check also you won’t found the answer for that error. Because of these, we need to have good debugging skills while working on Embedded products.
6) Unit testing, Component Testing, System Testing skills:
This is the one more skill to need to establish the embedded systems developer, it is used for testing the complete hardware products. when we make firmware we need to check that it is working or not, this is called unit testing. In unit testing, we ensure whatever functionality we had developed that has to be working correctly. if we found any bug then we need to correct them. once unit testing is done then we give our component for testing, this testing may be done by some other team.
We are having another level of testing that is called component testing- in the component testing, we ensure the individual component is working correctly. This individual component can include hardware, software. To test components we may need to give some dummy input for testing. Once the independent component is working correctly then we can go for integration testing. In this, we check full system functionality. If we found some issue then we have solved them at individual level.
7) Hardware Debugging is a Requirement While Working:
when you are working on any project many times system is not working, you have to debug and diagnose the problem. To debugging an embedded device we must know the art of debugging hardware. As an embedded engineer we should know where is the problem located, why device not working. For firmware, we are having a debugger, but hardware we are not having the debugger. we need to check signal one by one and find the problem.
You should have hands-on knowledge of the tool used to debug hardware like logic analyzer, CRO, multimeter etc. When are testing an embedded hardware part for an errors first we need to check individually and then the whole system.
The following point may help in hardware debugging
• We need to check first all the equipment are working or not individually.
• Next, we need to check the input requirements to all the devices.
• Next, we need to analyze the errors occurs and we need to check is there any short circuit or not.
• If there is an error occurs when we need to rearrange that product without any of errors.
So, we need to aware of hardware debugging also. We are professional training institutes in Bangalore and we will focus on the student’s knowledge and we will train you on Hardware debugging also. We will teach you how to build a hardware part in the project and how to rectify if any error occurs on the hardware part.
8) Component Review – Firmware Review Skills:
If we are doing any projects and we need to make that project should be run exactly. While creating any firmware code that must meet all requirements. But in many times development is done by the junior member of the team, and he may have a full understanding of the system. so there is a possibility that he may make some mistake which is working currently but later it may give some problem or may in component level it is working bust system level it will not work. This point needs to check and must be review by a senior member of the team. To check the code for its functionality is called code review. normally it is done by a senior member in the team. But you should also have the same skills so that while writing code itself you come to know what mistake is possible and you can make correct firmware
9) Master the Tools of the Trade:
When you’re doing any project on Embedded System we need to know compulsory on tools which will use to work on projects that make to accelerate a career is to master the tools of the trade. The tools which will be used to work on the Embedded projects are Keil, Proteus, Flash Magic, Mp Lab, MATLAB, Kicad, Altium Designer, Eagle, OrCad, STM32 CubeMax, Arduino, Rasbian etc., By using these tools based on controllers like Arduino is used to write firmware in Arduino and Node Mcu ESP8266 etc,. Keil is used to writing a C code or Assembly code and for compilation process. Proteus is used for a schematic of the hardware section and checking the code as well as hardware project is working or not. Flash Magic is used to dump the code into a microcontroller(8051MC, LPC21XX, etc) and Kicad, Altium Designer, Eagle, OrCad are used for Pcb designing purpose. Rasbian is used to work on the Raspberry pi Controller.
So, in every company, they will use different controllers and based on the controller we need to work on different IDE tolls. That’s why we need to know about the IDE tools, then only we can do any type of projects.
10) Documentation Skill Needed:
When your working on any project, it is necessary to make documentation also. When so many peoples are working on the same project then documentation is required. When you start designing a project then you need to make a design document, we also need to make testing documents. When some candidate is leaving the company then what activity he did all those things need to capture so that in future it can be used in case of any problem. when any customer buys our product he needs to know about how it will work and he requires manual, to operate that product. When you have completed your project and you need to submit a project for review and release, that time you need to have all document completed.
These are the 10 tips to accelerate your career in an Embedded System and you need to aware of these tips then you can service in any where in the company. And we are the Professional Training Institute in Bangalore, we will mainly focus on the embedded Course in Bangalore which will helpful their carrier and we will help you how to make individual projects also which makes you as an experienced person. So, first please join in any top embedded training institute in Bangalore that is Professional Training Institute.
How it works:
Declaration of a variable:
Rules to name a variable:
Let’s write a program in which we will use some variables :
Storage Classes in C
Declaration of array
Let’s see the program using the array which explains the declaration, assignment and accessing the array;
Passing array to function
Passing Entire Array to Function
Pointers and Function Arguments
Let us consider a program for more detailed study
Arithmetic Operators in C
Operators in C :
a) Arithmetic Operators
All the arithmetic operations we can do with the arithmetic operators.
b) Relational Operators
c) Logical Operators
d) Bitwise Operators
e) Assignment Operators
f) Misc Operators
Pointers and Addresses:
When we are talking about the program and its execution we will come up with addresses. All the variables, functions, arrays, etc like whatever we are using to write and execute a program all are saved in memory. Memory will be starting and ending with some memory address. The accessibility to these memories we can do only with memory addresses only. It will give the privilege to the programmer to make changes from a very base level.