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