STM32F4, latence/rezie preruseni

Tomáš Dresler dresler na hw.cz
Středa Duben 17 01:01:40 CEST 2013


C-M3 uklada kontext automaticky, zadny specialni kod se negeneruje. To, ze
je clovek v IRQ, se pozna ze dvou věci - xPSR[7-0] > 0 a LR coby navratova
adresa ma hodnotu 0xFFFFxxxx. Ta xxxx na konci je informace pro navrat z
preruseni a koduje se dovnitř stav IRQ (tail-chaining, FPU kontext apod.)

Vyhodou je, ze funkce obsluhy preruseni lze psat jako normalni rutiny v C,
bez speciálních rozsireni. Proste void funkce_pro_USART(void) { ... }

--
S pozdravem

Tomas Dresler
http://edisonovo.info


-----Original Message-----
From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
Behalf Of Josef Štengl
Sent: Wednesday, April 17, 2013 12:37 AM
To: HW-news
Subject: Re: STM32F4, latence/rezie preruseni

Nerozuměli :-). Já jsem byl zvědavý, protože jsem se na to ještě 
nepodíval, tak jsem si to prohlédl v simulátoru a vytáhl to z 
disassemleru. Sice ne pro Cortex R-4 (páč TI a bug) ale pro A-9, ale 
snad to nevadilo. Bohužel, asm kód, který produkuje překladač je UAL 
(unified assembler language) a v tom se se moc neorientuji, tak to zatím 
řeším takto. Jestli se něco ukládá HW nevím. Domníval jsem se, že jste 
tu informaci získal podobným způsobem nebo z manuálu překladače.

To znamená, že pro Cortex M-3 _nejsou_ ty instrukce součástí kódu? 
Nejsou vidět když se dissassembluje kód nebo ve výpisu překladače? Zítra 
navštívím kolegu a pokud nezapomenu tak se na to zeptám, ale asi nebude 
vědět. Cortex-M je řada plná překvapení :-)

To trvání GIO operací je dáno synchronizací sběrnic. Nevím jak, ani jsem 
zatím nenašel ke které sběrnici je periferie připojená. Jen jsem chtěl 
zjistit co dělám špatně a ona je to vlastnost.

ced


Dne 16.4.2013 23:45, Jan Waclawek napsal(a):
> Neviem ci si rozumieme - u toho Cortex-M sa tych 10 registrov (ano R16 to
je preklep ma byt R15) uklada hardwarovo (resp. vraj mikrokodom, ale to je z
pohladu uzivatela jedno), t.j. tych 10 cyklov dnu a 10 von sa ovplyvnit
nijako neda ani ked sa to napise v asembleri.
>
> Cakal som, ze u tych Cortex-R to bude dramatickejsie - potom, co ste
pisali o tych desiatkach taktov aby sa pohlo pinom...  :-)
>
> wek
>
>
> On Tue, 16 Apr 2013 23:31:07 +0200
> Josef Štengl<ok1ced na nagano.cz>  wrote:
>
>> Zdravím,
>> 	Jde to taková nepěkná obezlička. Pokud je kód v ISR krátký a používá
>> málo registrů, tak si ji napsat v asm a ukládat jen neměněné registry -
>> dva, tři (pokud se to napíše šikovně tak se ani nemusí ukládat ani
>> stavové registr(y).).
>>
> _______________________________________________
> 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