I2C - Arduino STM32 Nucleo L476RG

Jan Waclawek konfera na efton.sk
Neděle Prosinec 16 00:26:22 CET 2018


No tak sa musim priznat ze som hanebne zlyhal... Pan kolega Jirka MWW mi
poslal vsetky relevantne subory - toto tiez nebol uplne trivialny proces
kvoli automatickemu vymazavaniu docasnych adresarov - ale bohuzial cumenie
do nich neprinieslo pochopenie problemu.

Z .map je zrejme, ze sekcia .noinit sa odcitla medzi .data a .bss (rovnako
ako v mojom nearduino pokuse). Z disasemblatu je zrejme, ze startup kod je
naozaj standardny, tj. nakopiruje z FLASH data do .data a vynuluje .bss, a
naozaj sa .noinit nedotkne. Tiez nikde inde v tom disasemblate som
nenasiel stopy po tom, ze by sa nieco pokusalo do inkriminovanej premennej
zapisat - no samozrejme nie som kuzelnik a nedokazem odhadnut vsetky mozne
neriame zapisy, len som uplne trivialne hladal, kde je pouzita adresa
danej premennej.

Nemam ten isty hardware ako pan kolega, ale cvicne som binar nahral do
Disco-L476 a zavesil datovy breakpoint na zapis do danej premennej - do
nej sa v jednom mieste po pociatocnom vypise jej hodnoty explicitne
zapisuje, maskuju sa v nej niektore bity - a tam bolo aj jedine miesto,
kde ten breakpoint zafungoval, ci po resete od tlacitka alebo cez
debugger, pricom hodnota bola vzdy bezo zmeny... No ano, znova, nemam
presne ten hardware s externym RTC, takze je mozne, ze je nieco v kode
ktory sa "rozprava" s tym RCC co by zapisalo niekde kde nema... ale nemam
ako na to prist.

Takze bohuzial tato zahada asi ostane zahadou...

wek




Další informace o konferenci Hw-list