STM32L162 reset time

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Únor 10 20:13:49 CET 2014


Jen pro ilustracit, takovy startup code (cast) pouzivam ja u STM32F4xxx:
Reset_Handler:

/* Copy the data segment initializers from flash to SRAM */
   movs  r1, #0
   b  LoopCopyDataInit

CopyDataInit:
   ldr  r3, =_sidata
   ldr  r3, [r3, r1]
   str  r3, [r0, r1]
   adds  r1, r1, #4

LoopCopyDataInit:
   ldr  r0, =_sdata
   ldr  r3, =_edata
   adds  r2, r0, r1
   cmp  r2, r3
   bcc  CopyDataInit
   ldr  r2, =_sbss
   b  LoopFillZerobss
/* Zero fill the bss segment. */
FillZerobss:
   movs  r3, #0
   str  r3, [r2], #4

LoopFillZerobss:
   ldr  r3, = _ebss
   cmp  r2, r3
   bcc  FillZerobss


/*FPU settings*/
  ldr     r0, =0xE000ED88           /* Enable CP10,CP11 */
  ldr     r1,[r0]
  orr     r1,r1,#(0xF << 20)
  str     r1,[r0]

/* Call the clock system intitialization function.*/
   bl  SystemInit
/* Call static constructors */
     bl __libc_init_array
/* Call the application's entry point.*/
   bl  main
   bx  lr
.size  Reset_Handler, .-Reset_Handler




Dne 10.2.2014 20:06, Jaroslav Buchta napsal(a):
> IMHO klasicky nuluje segment BSS a kopiruje z flash segment DATA, asi 
> pomuze revize pouzitych datovych oblasti a treba dynamicka alokace 
> poli misto definice v BSS segmentu. Mozna je na to i nejaka direktiva 
> prekladace, aby BSS nenuloval.
> Nebo si udelat vlastni ASM startup kod.
>
> Dne 10.2.2014 19:31, Fanda Kopriva napsal(a):
>> Pro zajimavost ,ale jestli tomu dobre rozumim ???
>> Na zacatku nuluje vsechny promenne od R11 do R10  po longintech       
>> asi 10ms
>> to by se asi dalo vyhodit ,ale zatim nevim jak a nevim jestli s tim 
>> nepocitaji jejich knihovny
>> R9        0
>> R11      0x 2000 0000
>> R10      0x 2000 36AC       posledni moje promenna
>>
>> L_loopFZs:
>> 0xA81E        0xF84B9B04  STR        R9, [R11], 
>> #4                            R11++ = 0
>> 0xA822        0xEBBB0F0A  CMP        R11, R10, LSL #0
>> 0xA826        0xD1FA    BNE 
>> L_loopFZs                                                    asi 3500 
>> pruchodu
>>
>> potom kopiruje po bytech  neco z flash(asi nakonci programu)  do 
>> zacatku RAM  asi 5ms
>> to by se asi dalo delat po longintech ale taky nevim jak to tam dostat
>> R11  0x2000 0000
>> R12  0xCA84
>> R10  0x2000 0485
>>
>> L_loopDW:
>> 0xA7F2        0xF81C9B01  LDRB        R9, [R12], #1
>> 0xA7F6        0xF80B9B01  STRB        R9, [R11], #1 R11++ = R12++
>> 0xA7FA        0xEBBB0F0A  CMP        R11, R10, LSL #0
>> 0xA7FE        0xD1F8    BNE        L_loopDW asi  1200 pruchodu
>>
>> Je to v knihovne    Lib_System_15X.c   a  ta nema zdrojak.
>> Zkusim neco vyradit natvrdo v tom prelozenym souboru
>>
>> Fanda
>>
>>
>>
>>
>> Dne 10.2.2014 16:35, Jan Waclawek napsal(a):
>>> A to nie je Vase pole ako premenna v C? Mozno dotiahnuta nejakou 
>>> kniznicou?
>>>
>>>> poslednich 15ms je na ucet MIKROE kde inicializuje nejaky velky pole.
>>> wek
>>>
>>>
>>> ----- Original Message ---------------
>>>
>>>> Dne 10.2.2014 14:27, Jan Waclawek napsal(a):
>>>>>> proto3/4e je ten reset pin p?ipojen p?es RC e`len s
>>>>>> nábi`hem cca 5ms,
>>>>> Ozaj, a taketo nieco (velky C na reset pine) nemoze byt pricina 
>>>>> povodneho
>>>>> problemu?
>>>> Tak diky vsem za ochotu.
>>>> prvni 3ms jsou dany asi procesorem
>>>> dalsich 30ms jsem si kopnul sam kondenzatorem 1uF v NRST
>>>> a poslednich 15ms je na ucet MIKROE kde inicializuje nejaky velky 
>>>> pole.
>>>> Je to knihovna v ASM pripojena na zacatek programu tak to zkusim nejak
>>>> obejit.
>>>> Fanda
>>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> ------------------------------------------------------------------------
> <http://www.avast.com/> 	
>
> Tato zpráva neobsahuje viry ani jiný škodlivý kód -avast! Antivirus 
> <http://www.avast.com/> je aktivní.
>
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



---
Tato zpráva neobsahuje viry ani jiný škodlivý kód - avast! Antivirus je aktivní.
http://www.avast.com
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140210/07933e44/attachment.html>


Další informace o konferenci Hw-list