STM32 startup kod - zaver

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pátek Srpen 16 08:44:21 CEST 2019


Tak jsem tomu jeste pulden venoval, bohuzel prechodem na CubeIDE jsem 
zkonvertoval projekty a predchozi SW odinstaloval...
provedl jsem pak následující postup:
- Znovu instaloval SW4STM32
- po spuštění se doinstaloval toolchain
- provedl jsem automatickou aktualizaci (jedna položka OpenSTM32 IDE)
- v CubeMX nakonfiguroval STM32F101RBx a vygeneroval zdrojaky (po aut. 
aktualizaci na 5.3.0, firmw.package STM32F1 1.8.0)
- prelozil,pri prekladu nedoslo k chybe jako byla zminovana drive

... a jiz to je OK.

Bohuzel jsem si vcera nepoznamenal verze a po instalaci IDE SW4STM32 
odinstaloval...
Zkousel jsem i nizsi verze CubeMX a softw. package az po verzi 5.2.0 a 
1.7.0 a OK...

Zkusim stejne prejit na CubeIDE jako asi perspektivnejsi nastroj 
(doufam) nejake mouchy tam asi jeste budou ale preklad a ladeni je zatim 
bez problemu.


Dne 14.08.2019 v 13:52 Jaroslav Buchta napsal(a):
> Tak reseni je na svete  - zahodit System Workbench (SW4STM32) a jeho 
> nastroje a nainstalovat nejprogresivnejsi nejmodernejsi, nejpomalejsi 
> ale presto celkem funkcni moloch STM32CubeIDE. Tam tento problem 
> nevznika, asi jiny toolchain...
> Teda ale je to sila, zkusim si chvili zvykat nez prejdu na make :-D
>
> Dne 14.08.2019 v 12:53 Jaroslav Buchta napsal(a):
>> Nasel jsem nejake kuse info, proste to prilinkuje knihovny s ARM 
>> instrukcemi, protoze zrejme Cortex-M3 je architektura armv7 a tak je 
>> ma. Nepomuze specifikace architektury armv7-m a zadne jine relevantni 
>> nastaveni jsem nenasel.
>> Kdyz zkopiruju knihovny z prislusneho adresare thumb/v7m misto 
>> puvodnich souboru v ...lib (je to na dvou mistech) tak to vypada OK
>>
>> A ted babo rad, poustet se do experimentu s ruznymi verzemi 
>> toolchainu se mi nechce, kopirovat soubory take nebude OK - pro ten 
>> jeden projekt by to mozna bylo reseni ale osklive...
>> Zajimave, ze jsem nasel jen par diskusi k tomuto problemu a reseni 
>> zadne.
>>
>> Dne 14.08.2019 v 9:50 Jaroslav Buchta napsal(a):
>>> To by asi slo ale velmi mne znervoznuje, ze bych tim nejak ztratil 
>>> duveru v IMHO celkem rozsireny toolchain v baliku SW4STM32...
>>> No zkusim jej jeste preinstalovat.
>>>
>>> Dne 14.08.2019 v 9:48 Jan Waclawek napsal(a):
>>>> No tak skusit inu verziu prekladaca resp. prekladac z ineho zdroja, 
>>>> moze
>>>> mat zle prelozene kniznice, zle nastavene specs... vsetko veci ktorym
>>>> nerozumiem a nedotykam sa ich. Pisete, ze je to starsi projekt, tak 
>>>> mozno
>>>> tou verziou prekladaca ktorou bol povodne prekladany.
>>>>
>>>> wek
>>>>
>>>>
>>>> ----- Original Message ---------------
>>>>
>>>>> To me napadlo ale nastaveni linkeru by snad melo byt OK, typ jadra i
>>>>> thumb tam je.
>>>>>
>>>>> -mcpu=cortex-m3 -mthumb -mfloat-abi=softfp -specs=nosys.specs
>>>>> -specs=nano.specs -T"../STM32F101RBTx_FLASH_.ld" -Wl,-Map=output.map
>>>>> -Wl,--gc-sections -lm
>>>>>
>>>>> Ale skutecne mi to tak take pripada. Jsem z toho jelen, odkazy v 
>>>>> sekci
>>>>> .init_array a .fini_array take vedou na nesmyslny kod...
>>>>>
>>>>>
>>>>> Dne 14.08.2019 v 9:18 Jan Waclawek napsal(a):
>>>>>> Nie je to nahodou ARM binar (t.j. ne-Thumb)?
>>>>>> Pri linkovani boli pouzite prepinace pre thumb a prislusny typ 
>>>>>> jadra?
>>>>>>
>>>>>>> A taky by me zajimalo, proc se mi vzdycky po vygenerovani novych
>>>>>>> zdrojaku z CubeMX znici .LD soubor
>>>>>> To je zasluzeny trest za pouzivanie CubeMX.
>>>>>>
>>>>>> wek
>>>>>>
>>>>>> ----- Original Message ---------------
>>>>>>> Zdravim, vzal jsem do ruky starsi projekt s procesorem 
>>>>>>> STM32F101RBT6, v
>>>>>>> CubeMX nakonfiguroval a vygeneroval projekt s HAL. Potud vse OK. 
>>>>>>> Preklad
>>>>>>> nesel, dokud jsem nevlozit do nastaveni projektu definici 
>>>>>>> __SOFTFP__,
>>>>>>> budiz, drobna chybka...
>>>>>>>
>>>>>>> Ale program stejne nefunguje, zhavaruje volani fce  ve startup kodu
>>>>>>>
>>>>>>> bl __libc_init_array
>>>>>>>
>>>>>>> ktera je ponekud nesmyslna (asi v sekci .preinit_array nic neni ale
>>>>>>> funkce prilinkovana dle map souboru je) a vypada takto - druha 
>>>>>>> instrukce
>>>>>>> skace nekam doprostred fce... Kod i jinak nedava smysl.
>>>>>>>
>>>>>>> __libc_init_array:
>>>>>>> 080013f0:   adds    r0, #112        ; 0x70
>>>>>>> 080013f2:   b.n     0x8000f34 <HAL_RTC_SetDate+68>     //!!!!! 
>>>>>>> nesmysl?
>>>>>>> 080013f4:   eors    r0, r6
>>>>>>> 080013f6:   stmdb   sp!, {r12, lr}
>>>>>>> 080013fa:   b.n     0x8001b3e
>>>>>>>
>>>>>>> ...
>>>>>>>
>>>>>>> Sekce z .map souboru
>>>>>>>
>>>>>>> .text.__libc_init_array
>>>>>>>                   0x080013f0       0x88
>>>>>>> c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.17.0.201812190825/tools/compiler/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib\libc_nano.a(lib_a-init.o) 
>>>>>>>
>>>>>>>                   0x080013f0 __libc_init_array
>>>>>>>
>>>>>>> .preinit_array  0x080014d4        0x0
>>>>>>>                   0x080014d4                PROVIDE
>>>>>>> (__preinit_array_start = .)
>>>>>>>    *(.preinit_array*)
>>>>>>>                   0x080014d4                PROVIDE 
>>>>>>> (__preinit_array_end = .)
>>>>>>>
>>>>>>> .init_array     0x080014d4        0x4
>>>>>>>                   0x080014d4                PROVIDE 
>>>>>>> (__init_array_start = .)
>>>>>>>    *(SORT_BY_NAME(.init_array.*))
>>>>>>>    *(.init_array*)
>>>>>>>    .init_array    0x080014d4        0x4
>>>>>>> c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.17.0.201812190825/tools/compiler/bin/../lib/gcc/arm-none-eabi/7.3.1/crtbegin.o 
>>>>>>>
>>>>>>>                   0x080014d8                PROVIDE 
>>>>>>> (__init_array_end = .)
>>>>>>>
>>>>>>> Prekladac je z SW4STM32 a SW je aktualni. Netusi nekdo, kde muze 
>>>>>>> byt
>>>>>>> chyba? Je snad pouziti techto starych MCU v kombinaci s novymi 
>>>>>>> nastroji
>>>>>>> nefunkcni?
>>>>>>>
>>>>>>> A taky by me zajimalo, proc se mi vzdycky po vygenerovani novych
>>>>>>> zdrojaku z CubeMX znici .LD soubor, zkrati se na delku 0. Staci jej
>>>>>>> smazat a znovu vygenerovat projekt...
>>>>>>>
>>>> _______________________________________________
>>>> 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 by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>> _______________________________________________
>> 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 by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list