Tema: Re: uCPU mokslai...
Autorius: Justas.p
Data: 2010-04-26 23:46:59
saimhe wrote:
>> sekmingai tai padaro pats is auksto lygio C kodo (ko beje apie Atmega
>> nepasakyciau). Vat kaip atrodo STM32 pinu inicializavimas:
>>  GPIO_InitStruct->GPIO_Pin  = GPIO_Pin_All;
>>  GPIO_InitStruct->GPIO_Speed = GPIO_Speed_2MHz;
>>  GPIO_InitStruct->GPIO_Mode = GPIO_Mode_IN_FLOATING;
> 
>  Ir ką čia sugeneruoja kompiliatorius? (gcc -S ...)
> 
>  Labai seniai, nesant sourcų po ranka, dizasembliavau IAR 8051 rantaimą.
> Ot egzotiškai vietomis padaryta. Pavyzdžiui, pointeriai 3 baitų (nors
> adresų erdvė 16 bitų), pirmasis baitas rodo atminties tipą (mov @Ri, movx,
> movc) -- vienas malonumas memory-mapped periferiją emuliuoti :)
> 

Gale sukompiliuoja elementaru mov'a. Taigi cia nera kazko magisko - daug
typedef'u ir strukturu. Visa procesoriaus inicializavimas - link 50
eiluciu galiausiai susiveda i kelis baitus - PLL'ai ir clockinimas (64
bitus - 2 registrus nustatyti), GPIO konfiguracija - panasiai link
naudojami_portai * 64 bitai (2x32b)