gcc, arm, pristup k periferiim

Jan Waclawek konfera na efton.sk
Pátek Srpen 17 14:11:58 CEST 2018


Zrejme.

V tom armovskom clanku co ste davali link, sa to aj pise; ale zrejme s
ohladom na o nieco "chapavejsi" arm/keil C je to tam o nieco "maksie" (o
to co je v zatvorke):

Please note that peripheral locations should *not* be accessed using
__packed structs (where unaligned members are allowed and there is no
internal padding), or using C bitfields.

Treba si uvedomit, ze napriek tomu, co sa v tom clanku pise, v C ako jazyku
*neexistuje* prostriedok, ktorym by sa dal predpisovat konkretny sposob
pristupu k pamati, vysledok akehokolvek zapisu je implementacne zavisly
(zavisi od konkretneho prekladaca, v jeho nejakej konkretnej inkarnacii s
konkretnymi prepinacmi, konfiguraciou apod.).

Mimochodom, volatile je len taka pomocka, pretoze sposob pristupu k pamati
aj pri volatile je implementacne zavisly, bodka. (mohol by som najst aj
konkretny paragraf v norme, uz som nanho civel milionkrat, ale nechce sa
mi).


wek


----- Original Message ---------------
>Diky, pomohlo to.
>
>Je to kvuli tomu, ze s -fpack-struct predpoklada, ze polozka muze byt 
>nezarovnana a tak to radeji rozlozi i kdyz by nemel?
>
>
>J.S.
>
>
>
>On 08/17/2018 01:36 PM, Jan Waclawek wrote:
>> Vyhodte -fpack-struct
>>
>> ak potrebujete nejaku strukturu mat spakovanu, tak to robte rucne
>> expliciten pri tej strukture, pomocou __attribute__((packed))
>>
>> wek



Další informace o konferenci Hw-list