cancel
Showing results for 
Search instead for 
Did you mean: 

Load bitmap images to Flash

bejanissim
Associate II
Posted on April 16, 2009 at 11:56

Load bitmap images to Flash

5 REPLIES 5
bejanissim
Associate II
Posted on May 17, 2011 at 13:09

Dear All,

I'm using the STM3210E-EVAL board.

I would like to know how to load bitmap files (like the icons shown in the LCD demo application and in the EVAL_Demonstration_Software).

I already know that there is a utility such as DfUse but don't know how to use it for loading my own bitmaps.

If there is another way i will be happy to here it.

If someone realy did it i will be happy to here the solution.

Thanks.

Beja

domen2
Associate III
Posted on May 17, 2011 at 13:09

Not quite the solution, just pointers:

You could use ie. gimp and save image as .c or .h

Or, for bigger images, export image as raw, flash it to some fixed position, and use that in your program.

Or maybe I missunderstood it all :p

bejanissim
Associate II
Posted on May 17, 2011 at 13:09

Dear DOMEN ...

First,Let me thank you for your response.

After digging a bit i found that the easiest way loading bitmaps into the NOR Flash component, will be through the DFU mechanism supplied by ST.

For achieving this goal, few steps are needed:

1. The bitmap (i used xxx.bmp files) file should be saved as

16-bits per pixel and R5 G6 B5 (Red 5 bits, Green 6 bits, Blue 5 bits).

Using photoshop is one option for doing that.

2. Change the extension of the bmp file to bin (xxx.bmp -> xxx.bin).

3. Use the DFU supplied by ST for downloading the generated dfu file into

the NOR Flash (as explained in application note 'an0424_USB').

That it.

mgieroba9
Associate II
Posted on October 07, 2015 at 09:03

Hi bejanissim!  how now get it from memory in main program ? 

Posted on October 07, 2015 at 21:37

This thread is from over six years ago, and went through a crash of the forum in 2011.

May be you can better state your question.

The memory in the STM32 is byte addressable. If you put an image in NOR at 0x64000000 you'd just pass that as an address (pointer) to whatever you have that wants to process or handle the image, not materially different from if you have it in RAM or FLASH.

void *p = (void *)0x64000000; //??

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..