To produce code for a system that has a frame buffer. The frame buffer stores a 2D image which is automatically displayed on an LCD screen. The LCD and framebuffer have a resolution of 640x480. All buffers’ pixels are stored sequentially in rows, with each subsequent row immediately following the previous in the buffer. The first pixel in the frame buffer is displayed in the top-left most corner of the LCD. The frame buffer uses 16-bits to encode each pixel, split into individual blue, green & red components of sizes 5, 6 & 5 bits respectively (red occupies the least significant bits). A software renderer is required to blend a 32x32 pixel mouse pointer over the frame buffer. The buffer containing the pointer uses 32-bits to encode each pixel, split into individual 8-bit blue, green, red & alpha components, respectively (alpha occupies the least significant byte). A mouse pixel's transparency is defined by its alpha value, which may be anywhere between 0 and 255 inclusive, where 0 is completely transparent and 255 is completely opaque. The mathematical equation for alpha blending, for each component C, is: outputC = (foregroundC x alpha) + (backgroundC x (1.0 – alpha)) Where all values are in the range 0.0-1.0. Note the co-ordinates will always be within 640x480, but the mouse pointer may overhang the end of the framebuffer. Implement the 'overlay_mouse_pointer' function below. Any tests can be run by adding them to the 'main' function. Blends the image contained in the mouse pointer buffer over the provided frame buffer, at the specified coordinates. The result of the blend should be written back to the frame buffer. Inputs: frame_buffer: The provided frame buffer, over which the mouse pointer image should be blended mouse_pointer_buffer: Buffer containing mouse pointer image (with per pixel alpha information) x_coordinate: X coordinate of top left pixel of mouse pointer on frame buffer. Only values within the range 0 -> 639 are permitted. y_coordinate: Y coordinate of top left pixel of mouse pointer on frame buffer. Only values within the range 0 -> 479 are permitted. Output: frame_buffer: The result of the blend is written back to frame_buffer Function syntax: void overlay_mouse_pointer(uint8_t* frame_buffer, uint8_t* mouse_pointer_buffer, uint8_t x_coordinate, uint8_t y_coordinate)
Firmware Development Engineer Interview Questions
2,356 firmware development engineer interview questions shared by candidates
Given a sitation wherein bits are loaded from a bitmap onto a printer head using a shift register and I was asked to explain the process as if no RTOS were present.
Storage Classes in C, Volatile qualifier in C, Data Structures
Lots of programming
Depending on your positions questions will cover. questions about logical thinking C - codes and about your previous project .
Automotive comm. Protocols Heap, data, stack .data file , .text file Pointer to func. RTOS
Allocate continous memory for 64 byte aligned,32 byte aligned and 16 byte aligned
1. All about RTOS: Tasks, Scheduling, Semaphores and Mutex. 2. C: Linked list, software timers and implementation a lib 3. BT and BLE: About lower layers of stack.
python coading , complete the half written code and designing OS questions
C,C++,DBMS, Some basic coding question from geeks for geeks.
Viewing 1581 - 1590 interview questions