cancel
Showing results for 
Search instead for 
Did you mean: 

uClinux on STM3210E-Eval + STM32F103ZE

christopher23
Associate II
Posted on October 20, 2010 at 11:49

uClinux on STM3210E-Eval + STM32F103ZE

14 REPLIES 14
xacc
Associate II
Posted on May 17, 2011 at 14:11

How much external RAM comes with that board?

I know my 'clone' of the STM3210E-Eval only has 512KB external.

If I saw those numbers, it would likely be a memory overrun as the max I can go is 0x68080000.

Just a guess 🙂

christopher23
Associate II
Posted on May 17, 2011 at 14:11

i think it has 512kb but when i start uclinux there are the lines

Memory: 1MB 0MB = 1MB total

Memory: 980KB available (336k code, 53k data, 8k init)

what does this meen?

and how can i fix the problem? i used everything 1:1 what st used in their guide and i dont understand why there comes an error like this.

you have an idea?

e:

end now when i run ''ls''

ls invoked oom-killer: gfp_mask=0x40d0, order=1, oomkilladj=0

Mem-info:

DMA per-cpu:

CPU    0: hi:    0, btch:   1 usd:   0

Active:63 inactive:0 dirty:0 writeback:0 unstable:0

 free:33 slab:0 mapped:0 pagetables:0 bounce:0

DMA free:132kB min:128kB low:160kB high:192kB active:252kB inactive:0kB present:

1016kB pages_scanned:0 all_unreclaimable? no

lowmem_reserve[]: 0 0 0

DMA: 1*4kB 0*8kB 0*16kB 0*32kB 0*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB

0*4096kB = 132kB

63 total pagecache pages

256 pages of RAM

44 free pages

9 reserved pages

0 slab pages

0 pages shared

0 pages swap cached

Out of memory: kill process 18 (ls) score 3 or a child

Killed process 18 (ls)

but now uclinux run since 15min (long as never before) and throws error when something dont (see above).

why it is so unstable and unpredictable?

e2:

and now while writing ''e'' the board ''dies'' with:

/ # CPU: 0    Not tainted  (2.6.26-uc0 #1)

pc : [<00000000>]    lr : [<08032399>]    psr: 6000000b

sp : 6802ff00  ip : 00000000  fp : 00000000

r10: 00000000  r9 : 00000000  r8 : 6802ff48

r7 : 00000000  r6 : 1dcd4400  r5 : 20004658  r4 : 6802ff08

r3 : 00000000  r2 : 1dcd4400  r1 : 20003600  r0 : 6802ff08

Flags: nZCv  IRQs on  Mode UK11_26  ISA ARM  Segment kernel

xacc
Associate II
Posted on May 17, 2011 at 14:11

What is the model number of the external SRAM?

Mine is: IS61LV25616

The size is 256k x 16 bits = 512KB.

christopher23
Associate II
Posted on May 17, 2011 at 14:11

if im not mistaken

is61wv51216bll

so if i understand it correctly my chip has 512k x 16bits = 1024kb?

but in thix case i dont think that i have an overflow or?

in the uc configuration i found the settings for the base addresses:

internal sram base 0x20000000

internal sram size 0x00010000

ext sram base 0x68000000

ext sram size 0x00100000

ext flash base 0x64000000

ext flash size 0x01000000

could it be that this settings dont fit to my board?

or have you any other idea what is going wrong?

for my understanding:

what does pc, lr, psr, sp, ip, fp, r1,.., r10 meen in the follow error message?

so what can is read out of this mem adresses?

pc : [<00000000>]    lr : [<08032399>]    psr: 6000000b

sp : 6802ff00  ip : 00000000  fp : 00000000

r10: 00000000  r9 : 00000000  r8 : 6802ff48

r7 : 00000000  r6 : 1dcd4400  r5 : 20004658  r4 : 6802ff08

r3 : 00000000  r2 : 1dcd4400  r1 : 20003600  r0 : 6802ff08

christopher23
Associate II
Posted on May 17, 2011 at 14:11

after several guides and articles i think that i understand something more

but my open questions (atm) are:

1. what are ''pc'', ''lr'' and ''psr'' in the error message (see prev post)

2. / # CPU: 0    Not tainted  (2.6.26-uc0 #1)

[...eg error above...]

in such a line, what does the ''#1'' meen? now i get errors with ''#5'' and i dont know what that line want to tell me

3. if anybody has work with stm32f103xx and uclinux:

why the ''Led_Show'' example doesnt do what is describe in the .c - code? i can start it but then i recieve nothing from the board and cant send signals anymore. but the interessing thing is, that the board didnt stop. the led_show run but the only way to stop the app is to reset the whole board.

i think the problem is that Led_Show blocks the core so nothing else could be done.

any idea?

i would be very glad if somebody can help be!

mfg

christopher

Posted on May 17, 2011 at 14:11

but my open questions (atm) are:

 

1. what are ''pc'', ''lr'' and ''psr'' in the error message (see prev post)

 

They are ARM processor registers at the time of the crash/fault

PC Program Counter (R15), the address of the faulting instruction

LR Link Register (R14), the return address for the last subroutine call

PSR Processor Status Register, flags carry, zero, etc.

SP Stack Pointer (R13)

FP Frame Pointer - Local/Parameter stack pointer at subroutine entry

R0-R10 General purpose registers

Try looking at ARM architecture manual if you want to understand the processor.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on May 17, 2011 at 14:11

The values for faulting PC all look to be even addresses, are you sure you don't have any 32-bit ARM code in your build? The STM32 will only run the 16-bit Thumb/Thumb2 instructions. (ISA = Instruction Set Architecture)

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
christopher23
Associate II
Posted on May 17, 2011 at 14:11

thanks at first! i expected that pc is something like this.

i also found the refering entry in the system.map and know that the some more errors came/come up in ''initramfs''. now i have to find the failing point(s) in the program.

you have any idea to my other questions?

and my new question:

what means ''Flags: nZCv IRQs on Mode UK11_26 ISA ARM Segment kernel'' under an error dump?

christopher23
Associate II
Posted on May 17, 2011 at 14:11

im not sure.

ill check the compiler settings.

i have not changed anything in the code. at first i try/tried to run the raw version with no changings.

edit:

i check the compiler and i cant see something that points to an 32-bit setting

slowly am understanding how the core and board works but i have no idea what i can do to solve the problem i have with getting error. that are so much, that it couldnt be in the image but what error source could it be?

the only things that come to my mind are a failt on the board itself (damaged parts or so) and an error at downloading the image to the board.

i will check an equal board tomorrow but how can i check the second idea?