100 views
in GUI Development by

Hello, i developed thi NumPad to edit some numeric paramenters.

In the composer i see all the bitmaps that compose the Numpad.

When flashing and calling the NumPad component, i get this behavior, i don't understand really why,

 checked the png files i use, also the settings in the resource bitmap between the images that shows vs the once that not shows.

 

 

1 Answer

0 votes
by
 
Best answer
Hello Riccardo,

can you please check the console outputs (error messages) at the runtime in the target system?

Best regards

Paul Banach
by
I'm using LizardBoard, you mean from the serial pins of the board?

Thaks.
by

Hi Riccardo,

If you are using the STM32F469 LIZARD board from ACTRON, then please see the section Console output.

Best regards

Paul

by

i get this errors :

 

by

Hello Riccardo,

the error 41 indicates 'Out of memory'. The errors 111 is a  consequence of error 41. The error 321 is, in turn, consequence of error 111. (see also Error and Warning Codes). 

From the parameters in error 111 I can deduce that the system tried to create a surface with 802x482 pixel size in format Native. Assuming Native is RGBA8888, the operation would require aprox. 1.5 MB RAM. This means your project contains a bitmap with size 800x480. The bitmap is configured to be stored in compressed format, so it has to be decompressed at the runtime into RAM.

From the parameter info1 in error 321 I can deduce that there are multiple different bitmap resource, the system will try to load. From this I suppose your project contains multiple bitmap resources, each with 800x480 pixel size.

How can we handle this error case:

Idea 1: Are the large bitmap necessary? If not, eliminate them. Or reduce their size. Possibly, you are using too many large bitmap resource at the same time?

Idea 2: In Embedded Wizard Studio run your application and observe its memory usage in the Memory (RAM) Usage window. If the memory usage increases with time, it indicates a problem with growing number of objects which are not released any more.

Idea 3: Configure the bitmap resources to be accessed directly from ROM code. In the simplest case you configure in the Profile member the attribute ModeOfBitmapResources to DirectAccess. See also Member attributes: ModeOfBitmapResources. This will affect all bitmap resources. Alternatively, you can configure the attribute Mode of the large bitmap resources only to the value DirectAccess. This will limit the effect to the respective bitmap resource only. See also Member attributes: Mode.

Idea 4: Check the available memory size. I think, by LIZARD it is ~6 MB. This information is printed at the startup time of the application in Console.

Idea 5: Enable memory usage profiling. See Monitoring the Data Memory (RAM) usage. Then you can see what happens with the RAM in the target system. Does the memory usage increase?

Idea 6: Check other hints from the section Optimizing the Data Memory (RAM) usage.

I hope it helps you further.

Best regards

Paul Banach

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...