BL4S200 Problem with data defined in the program.

My problem is : i define the data
S_valide[9]=1;
AR_zones[1].etat = 2;
AR_zones[1].duree = 5;
printf(" AR S valive 9 %s
“,S_valide[1]);
printf(” AR zones etat 1 %s
“,AR_zones[1].etat);
printf(” AR zones duree 1 %s
",AR_zones[1].duree);

but when it run and print then i read this:
AR S valide 9 ynamicC Universal Rabbit BIOS Version 10.70ý{ÿb
AR zones etat 1 namicC Universal Rabbit BIOS Version 10.70ý{ÿb
AR zones duree 1 icC Universal Rabbit BIOS Version 10.70ý{ÿb

What append?

My config in option/defines is:
XMEMCODE_SIZE=0x70000
ROOT_SIZE_4K=7
MAX_USERBLOCK_SIZE= 0x2000

The map file is :
//Segment Origin Size
Root Code 0000:0000 004324
Root Data 0010:b800 00405e
Xmem Code 000e:e000 05197c

Thanck you for the answer.

Can you provide more code? What data types are S_valide and AR_zones? The “%s” specifier is for strings, but you’re assigning numbers above. You should use the following instead:

%d - int
%u - unsigned int
%ld - long
%lu - unsigned long

1 Like

thanck you very much , you resolve an important part of my problem that I had not seen
I continue to debug
my config in option/defines is:
XMEMCODE_SIZE=0x70000
ROOT_SIZE_4K=7
MAX_USERBLOCK_SIZE= 0x2000

With my config i don’t have problem of xmem code and data for now but i have not the complet program active
I still have work
My BL2665 has some time a problem with the output electronic component and my program has 5000 lines .
So it’s important to continue to work with this product.