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

41⟩ Explain me what are the different types of Buses used by the embedded systems?

The buses are used to pass the messages between different components of the system. There are buses existing as:

☛ Memory Bus: it is related to the processor that is connected to the memory (RAM) using the data bus. This bus includes the collection of wires that are in series and runs parallel to each other to send the data from memory to the processor and vice versa.

☛ Multiplexed Address/Data Bus: Multiplex data bus consists of the bus that can read and write in the memory but it decreases the performance due to the time consumed in reading and writing of the data in the memory.

☛ De-multiplexed Bus: these consists of two wires in the same bus, where one wire consists of the address that need to be passed and the other one consists of the data that need to be passed from one to another. This is a faster method compared to other.

☛ Input/Output bus: it uses the multiplexing techniques to multiplex the same bus input and output signals. This creates the problem of having the deadlock due to slow processing of it.

 140 views

42⟩ Explain me how to create a child process in linux?

☛ Prototype of the function used to create a child process is pid_t fork(void);

☛ Fork is the system call that is used to create a child process. It takes no arguments and returns a value of type pid_t.

☛ If the function succeeds it returns the pid of the child process created to its parent and child receives a zero value indicating its successful creation.

☛ On failure, a -1 will be returned in the parent's context, no child process will be created, and errno will be set.

☛ The child process normally performs all its operations in its parents context but each process independently of one nother and also inherits some of the important attributes from it such as UID, current directory, root directory and so on.

 132 views

43⟩ Do you know of the 128-byte internal RAM how many bytes are bit addressable?

☛ Only 16 bytes of the 128 bytes of RAM are bit addressable.

☛ The bit addressable RAM locations are 20H to 2FH.

☛ They are addressed as 0 to 127 (decimal) or 00 to 7F.

☛ Also the internal RAM locations 20 to 2FH are both byte and bit addressable.

☛ These 16 bytes can be by single bit instructions using only direct addressing mode.

 151 views

44⟩ Tell me how much time is required by an instruction for execution in 8051?

☛ Time required depends on the number of clock cycles used to execute instruction.

☛ These clock cycle are called machine cycle.

☛ Length of machine cycle of an instruction depends on frequency of crystal oscillator of controller.

☛ Also one machine cycle lasts 12 oscillator period so machine cycle is 1 12 of crystal frequency.

☛ Crystal frequency 8051 = 11.0592MHz

☛ Machine cycle = 11.0592MHz12 = 921.6KHz = 1.085micro second.

 164 views

45⟩ Differentiate between mutexes vs semaphores?

☛ Semaphores is a synchronization tool to overcome the critical section problem.

☛ A semaphore S is basically an integer variable that apart from initialization is accesses only through atomic operations such as wait() and signal().

☛ Semaphore object basically acts as a counter to monitor the number of threads accessing a resource.

☛ Mutex is also a tool that is used to provide deadlock free mutual exclusion. It protects access to every critical data item. If the data is locked and is in use, it either waits for the thread to finish or awakened to release the lock from its inactive state.

 129 views

46⟩ Do you know what are the different types of system involved in embedded system?

Embedded systems are used to give the response in real time. So, it consists of the real time systems that allow the correct information to be passed to get the correct responses. For example, it includes of the flight control system that produce the responses in real time and it always the take the values also in real time. If any delay been caused by the system then it deals in the fatal error. The real time system includes the system that provides the response on time with the small delay. Real time systems include of many other system such as:

Hard Real-Time Systems - These are the systems that server the purpose of having constraints that are hard and it totally depends on the time to provide the response on time.

Soft Real-Time Systems - These systems serves the purpose of having few delays in giving up the responses that can tolerate small variations.

Hybrid Real-Time Systems - These systems includes the properties from both the systems and increases the performance.

 138 views

47⟩ Tell me can port 0 be used as input output port?

☛ Yes, port 0 can be used as input output port.

☛ Port 0 is an open drain unlike ports 2,3,4.

☛ To use it as input or output the 10k ohm pull-up resisters are connected to it externally.

☛ To make port 0 as input port it must be programmed by writing 1 to all bits.

Example:

MOV A,#0FFH

MOV P0,A

 130 views

48⟩ What is a Watchdog Timer?

A watchdog timer is an electronic device or electronic card that execute specific operation after certain time period if something goes wrong with an electronic system.

 140 views

49⟩ Explain why embedded system is useful?

With embedded system, it is possible to replace dozens or even more of hardware logic gates, input buffers, timing circuits, output drivers, etc. with a relatively cheap microprocessor.

 138 views

51⟩ Explain me what is the function of Watchdog timer in embedded system?

The embedded system should have a function that can allow the fixing the system if anything goes wrong with it. Watchdog timer is a tool that is used in embedded system and having a long-fuse that runs several seconds. Watchdog timer includes the automated timing control that count down the number from max to 0 and when the counter reaches the zero, this WDT reset the micro-controller that gets turned off when the timer was in initial phases. Watchdog require the user to put some value before it runs out of time and reset the whole process as this can harm the data and the system. Resetting by WDT can be done when the process is half complete. Watchdog timer have the counter that is used to watch the processes that are running and if there is any issue occurs then WDT itself times out. The resetting of the system will be done to always give it the best possible way to execute the process.

 148 views

52⟩ Please explain what is the difference between Hardware design and Software Design?

☛ Hardware design is designed with the collaboration of interconnected parallel components that inherits the properties of each other. Whereas, Software design is designed with sequential components, that are based on objects and threads.

☛ Hardware design structure doesn’t change dynamically and it can’t be created, modified or removed easily. Whereas, Software design structure can be changed dynamically and re-usability features, used to define the components. It also includes easy creation, modification and removal of the components from the software.

☛ Hardware design focuses on individual components that are represented using analytical model that uses the transfer functions. Whereas, Software design represent the components using computation model that can have abstract execution engine or it can use the virtual machine that are non-deterministic.

 148 views

53⟩ Explain me which port in 8051 performs a dual role?

☛ The port 3 can be used as simple input /output port or provides signals like interrupts.

☛ P3.0 and p3.1 are used for serial communication.

☛ P3.2 and P3.3 are used as external interrupts.

☛ P3.4 and P3.5 are used for timers.

☛ P3.6 and P3.7 are used as read write signals of external memory.

 135 views

54⟩ Do you know how does the interrupts handle by using the threads?

The interrupts that comes in between the input/output operations gets detected when the input/output devices are ready. The interrupt never gets handled directly rather, it sends the interrupt signal to the thread to the input/output device that is ready to allow the thread to take necessary actions. The thread uses the signaling concept that allows the initialization to be done using the semaphore that keeps the states updated and handle the interrupt in an easy way. The input/output device getting the request and it also passes the semaphore to handle. The input/output device takes the semaphore that is ready. The thread is having the minimum latency that uses the first level interrupt handler to handle the interrupts completely. It allows the priority of the thread to be set and it doesn’t allow the context to be change as well.

 135 views

55⟩ Explain me what is interrupt latency and how can we decrease it?

1. Interrupt latency basically refers to the time span an interrupt is generated and it being serviced by an appropriate routine defined, usually the interrupt handler.

2. External signals, some condition in the program or by the occurrence of some event, these could be the reasons for generation of an interrupt.

3. Interrupts can also be masked so as to ignore them even if an event occurs for which a routine has to be executed.

4. Following steps could be followed to reduce the latency

☛ ISRs being simple and short.

☛ Interrupts being serviced immediately

☛ Avoiding those instructions that increase the latency period.

☛ Also by prioritizing interrupts over threads.

☛ Avoiding use of inappropriate APIs.

 152 views

56⟩ Explain me what are the essential components of embedded system?

Essential components of embedded system includes

☛ Hardware

☛ Processor

☛ Memory

☛ Timers

☛ I/O circuits

☛ System application specific circuits

☛ Software

☛ It ensures the availability of System Memory

☛ It checks the Processor Speed availability

☛ The need to limit power lost when running the system continuously

☛ Real Time Operating System

☛ It runs a process as per scheduling and do the switching from one process to another

 132 views

57⟩ Explain me how does Input/Output bus functions?

Input and output devices or functions allow the user to interact with the external files. Input and output functions are used to transfer the load on the bus. It uses the multiplexes having the input and output signals that remain same. Input and output buses move at the slower rate or speed than the processor speed. This increases the problem of bottleneck or the deadlock due to poor performance. There is a possibility to send more transistors for a layout to be given. These different devices may have very different speeds of communication. When programming IO bus control, make sure to take this into account.

In some systems, memory mapped IO is used. In this scheme, the hardware reads its IO from predefined memory addresses instead of over a special bus. This means you'll have simpler software, but it also means main memory will get more access requests.

 147 views

58⟩ Explain me what is the need for DMAC in ES?

☛ Direct memory access is mainly used to overcome the disadvantages of interrupt and progam controlled I/O.

☛ DMA modules usually take the control over from the processor and perform the memory operations and this is mainly because to counteract the mismatch in the processing speeds of I/O units and the procesor. This is comparatively faster.

☛ It is an important part of any embedded systems,and the reason for their use is that they can be used for bursty data transfers instead of single byte approaches.

☛ It has to wait for the systems resources such as the system bus in case it is already in control of it.

 135 views

59⟩ Explain issues related to stack and bank 1?

☛ Bank 1 uses the same RAM space as the stack.

☛ Stack pointer is incremented or decremented according to the push or pop instruction.

☛ If the stack pointer is decremented it uses locations 7,6,5… which belongs to register bank 0.

☛ If a given program uses R1 then stack is provided new memory location.

☛ The push instruction may also take stack to location 0 i.e.it will run out of space.

 140 views

60⟩ Tell us what is semaphore?

A semaphore is an abstract datatype or variable that is used for controlling access, by multiple processes to a common resource in a concurrent system such as multiprogramming operating system. Semaphores are commonly used for two purposes

☛ To share a common memory space

☛ To share access to files

 137 views