WinCE6.0 Modify the Boot logo method

Source: Internet
Author: User

There are two main ways to modify the boot logo:

Method One: Define a header file that contains a large array of data related to the image, packaged together in the bin file of the eboot. The advantage of this method is simple and direct, the disadvantage is
Pictures can not be too big, otherwise it will lead to eboot too big, and later the logo update also become very troublesome.
Method Two: The image of the relevant data burned to a fixed address of NAND flash, eboot initialization of the LCD from the address to read data, put into the display cache inside it. This method of spirit
Live, can support larger pictures, and later logo update is easier, the disadvantage is more complex than the method, you need to change the source code eboot.

Today we give a detailed implementation of the method one, the experimental platform: wince6.0+android6410 + 4.3-inch cld.
In Eboot, it is necessary to initialize the LCD (although not required, but most of the time), that is, in the function Oemplatforminit by the Initializedisplay function
Now, the setting of the boot logo is inside this function. (if not clear, see blog http://jazka.blog.51cto.com/809003/603457)

If you want to simply set the logo for monochrome, use the following code directly, is the 4.3-inch screen RGB565 format of the Fill method.
#elif (LCD_BPP = = 16)
{
int i;
unsigned short *pfb;
PFB = (unsigned short *) Eboot_framebuffer_ua_start;

for (i=0; i<lcd_width*lcd_height;
*pfb++ = 0x0000;//0x001f; Blue
If you want to set up your own picture, then you need to convert the image, then design to the conversion tool things. There are many conversion tools on the Web, you can also write an application yourself
The conversion is complete, but the following points need to be guaranteed:
First, according to the different tools to choose the appropriate picture, some tools are for the specific image design of the data conversion, such as a bit can only deal with BMP format pictures, a little can only handle 24-bit color
And so on, there will be a lot of restrictions;

Second, after the conversion is completed, look at the converted array contents, whether the byte is sufficient, such as LCD is 480*272 resolution, the required data is 480*272*2 bytes, if the conversion
After the amount of data does not match, the displayed effect is certainly not correct.

Assuming that the image is converted to an array name of const unsigned int initialimage_rgb16_480x272[], then you just need to do the following:
#if (Smdk6410_lcd_module = = lcd_module_ut_lcd43d)
memcpy (void *) Eboot_framebuffer_ua_start, (void *) initialimage_rgb16_480x272, 480*272*2);
Of course, you can use the method above, with a for loop, the contents of the array to a certain size, one to fill the display cache.
See a lot of online said in the use of this method will appear the flower screen, in addition to the above two points no guarantee, there is one possible reason is the most easily overlooked:
Different tools convert the array form differently, possibly a char array, possibly a unsigned short array, or an array of unsigned int, when the data is populated to the explicit
Cache, there is a high-status issue. For example, the following code:
unsigned short* PFB = (unsigned short *) Eboot_framebuffer_ua_start;
*PFB = 0x001f;
In this case, the first byte stored in the display cache is actually 0x1f, not 0x00, and there is a picture count whether it is populated with a for loop or memcpy

According to the matching problem with the display cache, if it does not match, it will happen that the flower screen phenomenon that everyone says.


Finish

WinCE6.0 Modify the Boot logo method

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.