Advanced Embedded Systems

  Home  Artificial intelligence (AI)  Advanced Embedded Systems

“Advanced Embedded Systems related Frequently Asked Questions by expert members with job experience as Advanced Embedded Systems. These questions and answers will help you strengthen your technical skills, prepare for the new job interview and quickly revise your concepts”

76 Advanced Embedded Systems Questions And Answers

2⟩ What is high-end embedded processor?

☛ The microcontroller & processor can be interchangeably used here.

☛ It forms a general purpose processor .

☛ High-end stands for system of greatest power.

☛ Here when a microcontroller cannot do a specific task the processor does the same with higher power

☛ Example: ADM 64


3⟩ Explain me in which addressing mode is the DPTR register used?

☛ Data pointer register is used in the indexed addressing mode.

☛ It is used in accessing data from tne look-up table entries stored in ROM.


☛ Here c means the code (shows data elements are stored in code space of ROM).

☛ The contents of A are added to 16 bit DPTR to form the 16 bit address of the needed data.


4⟩ Explain me can single bit of a port be accessed in 8051?

☛ Yes, 8051 has the capability of accessing only single bit of a port.

☛ Here only single bit is accessed and rest are unaltered.

Syntax: “SETB X. Y”.

☛ Here X is the port number and y is the desired bit.

Example: SETB P1.2

Here the second bit of port 1 is set to 1.


5⟩ Please explain DB?

☛ DB is called as define byte used as a directive in the assembler.

☛ It is used to define the 8 bit data in binary ,hexadecimal or decimal formats.

☛ It is the only directive that can be used to define ASCII strings larger than two characters.

☛ DB is also used to allocate memory in byte sized chunks.

☛ The assembler always converts the numbers lnto hexadecimal.


6⟩ Explain me what is the purpose of using critical sections?

Critical section allows the process to run in an area that is defined by that process only. It is a sequence of instructions that can be corrupted if any other process tries to interrupt it. This process allow the operating system to give the synchronization objects that are used to monitor the processes that are up and running so that no other process will get executed till the critical region consists of a process that is already running. The example includes removal of the data from a queue running in a critical section and if not protected then it can be interrupted and the data have chances of getting corrupted. The processes exit from the critical section as soon as they finish the execution so that the chances can be given to other processes that are waiting for their chance to come.


7⟩ Explain what is the function of DMA controlled in embedded system?

DMA stands for Direct Memory Access controller that handles the allocation of the memory dynamically to the components and allows the data to be transferred between the devices. It is used for the communication between different input/output devices. It automatically detects the devices that are present for the transfer of data between the input/output devices. The interrupt can be used to complete the data transfer between the devices. It is used to give the high quality performance as, the input/output device can perform the operations that are in parallel with the code that are in execution phase. It can’t be used in all the systems. It consists of 8-bit microcontrollers that are used to control the overall system in execution.


8⟩ Tell me what is the main function of Multiplexed Address/Data Bus?

The memory bus is used to carry the address and the data from the processor to the memory so that it can be easily accessed by the devices. These buses carry the value of the data that has to be passed for the proper functioning. The use of the technique “Time division multiplexing” is used that allow the reading and writing of the data to be done from the same bus line. This requires lots of time to be given to the bus so that it can complete the read and write operation of the data in the memory. This is very expensive process due to the data transfer technique that is used in between the processor and the memory. This also gives the concept of cache and provides algorithms to solve the problems occurring in read and writes operations.


9⟩ Tell me what are the differences between analytical and computational modeling?

☛ Analytical model allows the components to deal with the concurrency that are given during the process and the quantitative constraints that might come in between the components. Whereas, computational model deal with the non-deterministic abstraction hierarchy that has computational complexity to deal with the concurrency and allow it put also the physical constraints.

☛ Analytical models can’t deal with the partial and incremental specifications that are non-deterministic. It is also not good in controlling the computation complexity that is used in the hardware design. Whereas, Computational model can, deal with constraints easily and it provides an upgradeable solution.

☛ Analytical model is the equation based model that doesn’t have the time-sharing and parallelism concepts. Whereas, time-sharing and parallelism is used, in the abstract method that provides the theories of complexity and the real time evaluation.


10⟩ Tell me how does combination of functions reduce memory requirements in embedded systems?

☛ The amount of code that has to be dealt with is reduced thus easing the overhead and redundancy is eliminated in case if there is anything common among the functions.

☛ Memory allocation is another aspect that is optimized and it also makes sense to group a set of functions related in some way as one single unit rather than having them to be dispersed in the whole program.

☛ In case of interactive systems display of menu list and reading in the choices of user's could be encapsulated as a single unit.


11⟩ Which register is considered as the destination register for any arithmetic operation?

The ‘A’ register called the accumulator is used as the destination register.


ADD R2, # 12H

This is invalid as 12 is to be added to value present in R2 and data is also stored in R2.

ADD A,# 12H

This is valid as 12 is to be added to the value present in accumulator. Foregoing discussion explains why register A is used as accumulator.

Explain LCALL.

☛ It is called long call and is a 3 byte instruction.

☛ Here 1st byte is used for opcode &2nd & 3rd bytes are used for address of target subroutine.

☛ Call subroutine can be used anywhere within 64 K- byte address space.

☛ Processor automatically saves on stack the address of instruction immediately below LCALL.

☛ After execution instruction return (RET) transfers control back to next instruction.


12⟩ Tell me what is read modify write technique?

☛ Read modify write is a technique used to access the ports.

☛ Here in a single instruction all the three actions are combined.

☛ Here initially the data is read from the port then modified .

☛ At last the value is written back on the port.

☛ This feature saves many lines of code and makes the process easier.


13⟩ List out some of the commonly found errors in Embedded Systems?

Some of the commonly found errors in embedded systems are

☛ Damage of memory devices static discharges and transient current

☛ Address line malfunctioning due to a short in circuit

☛ Data lines malfunctioning

☛ Due to garbage or errors some memory locations being inaccessible in storage

☛ Inappropriate insertion of memory devices into the memory slots

☛ Wrong control signals


14⟩ Explain me how are macros different from inline functions?

☛ Macros are normally used whenever a set of instructions/tasks have to be repeatedly performed. They are small programs to carryout some predefined actions.

☛ We normally use the #define directive in case we need to define the values of some constants so in case a change is needed only the value can be changed and is reflected throughout.

#define mul(a,b) (a*b)

☛ The major disadvantage of macros is that they are not really functions and the usual error checking and stepping through of the code does not occur.

☛ Inline functions are expanded whenever it is invoked rather than the control going to the place where the function is defined and avoids all the activities such as saving the return address when a jump is performed. Saves time in case of short codes.

inline float add(float a,float b)


return a+b;


☛ Inline is just a request to the compiler and it is upto to the compiler whether to substitute the code at the place of invocation or perform a jump based on its performance algorithms.


15⟩ What is parallel address space?

☛ The two physically separate memories using the same addresses form the parallel address space.

☛ Here the two memories are accessed using different access modes.

☛ This parallel addressing is generally used in 8052(enhanced version of 8051) having extra 128 bytes of RAM with addresses 80 to FFH and memory is called as upper memory.

☛ This distinguishes it from lower 128 bytes 00to 7FH.

☛ To access lower bytes direct addressing mode is used and for higher bytes indirect addressing mode is used.


16⟩ Explain significance of watchdog timer in Embedded Systems?

☛ Watchdog timer is basically a timing device that is set for predefined time interval and some event should occur during that time interval else the device generates a time out signal.

☛ One application where it is most widely used is when the mobile phone hangs and no activity takes place, in those cases watchdog timer performs a restart of the system and comes to the rescue of the users.

☛ It is used to reset to the original state whenever some inappropriate events take place such as too many commands being given at the same time or other activities that result in malfunctioning of the GUI. It is usually operated by counter devices.


17⟩ Explain me what are the functional requirements that are used in the embedded systems?

Functional requirements specifies the discrete and the logic to provide the services, functionality, features and the implementation that is independent from the components that are getting used in it. These are used to represent the constraints that are in the form of physical and define the probability to specify the components discretely from each other. The functional requirements are given for the hardware as well that gives more performance and measures the physical resources that are present like clock frequency, latency, etc. Functional requirements allow the system and hardware machines to transfer the functions with the non-deterministic probability.


18⟩ Explain me what is interaction semantics used in embedded systems?

Interaction semantics allow the actions to be performed by the system components to allow it to get the global behavior. The interaction can be atomic or non-atomic dependent on the interaction between the components. These components can’t be modified using the interference having the other interactions. Languages that are used, having buffered communication, and other languages, that include multi-threaded languages that use non-atomic interactions. There are two types of interactions that are used:

☛ Strong synchronization: allow the components to participate together and have strong bonding in between.

☛ Weakly synchronizing: are asymmetric that required the communication from both the objects.


19⟩ Explain me what is the function of simple thread poll in embedded system?

Simple thread poll allow the ready output to be passed for checking by giving it to the bus that is free and then the output is sent along the thread. The bus can send the output depending on the time that has been given and during the transfer the user won’t be able to perform any other operation. The input is given after finding out the bus is free or not and if it free then a check is made to see that the input exists or not. This thread poll is easy to understand but it is not efficient method to allow the data to be put over the bus manually. The problem of not doing multi-tasking can occur due to doing one task at a time. The method is only be used when input/output occurs at interval that are infrequent.


20⟩ Write a program to show the functionality of Power-save super loop?

To check the loop time of the program the power-save super loop is used. If the average loop time of the program is 1ms, and it requires only few instructions to be checked every second the program will save the state and build a delay that will be caused to read the input on every loop and it saves lot of energy or the power that needs to be used. The function that is required to be performed to show the functionality is: