[elektro] C kérdés

hg12345 hg12345 at freemail.hu
Fri Dec 17 14:55:49 CET 2010


Hát éppen ez a probléma, hogy nem tudja értélmezni.

Ez egy STM32F1xx kontroller (ARM) és ez a név mögött most éppen a TIM2->CCR2 bujik meg. (de hívhatnánk TIM2.CCR2 is)
Mivel ez egy címre definiált (periféria leíró) STRUKTURA, ráadásúl CMSIS kompatibilis (ez az ARM ajánlott közös leíró header a CORTEX magokra) és minden strukturának van cim, maximum fordítási időben nem elérhető, de tipukusan ez egy olyan struktrura ami már fordítási időben is elérhető című. A struktura elemek cimét még a C forditó osztja ki. Vagyis egy Pointer+Offset müveletet kéne elvégezni a fordítónak és egy inicializált tömbben elhelyezni.

Persze nem ez a lényeg, szükségem lenne egy cimforditó tömbre amit a C-ben tudok genrálni, a hordozhatóság miatt. 

((( A C-nek uC környezetben ezek a legnagyobb problémái, ami asm csak egy sor és teljesen egyértelmű, azt eldugják a programozó elől, nehogy véletlenül hibát csináljon. Ennyi erővel akár a gázpedálnak is csak az első 10% kéne korlátozni ez elmozdulását, hogy kevesebb baleset legyen... ))



potyo <potyo.ada at gmail.com> írta:
>A TIMbase.Reg1 az micsoda? Nem lehet, hogy nem tudja rá értelmezni az>
& műveletet?>
>
2010/12/17 hg12345 <hg12345 at freemail.hu>:>
> Hi>
>>
> hogyan kell egy címfordító pointer táblát generálni C-ben, lehetőleg a nem felejtő memóriába. (FLASH)>
> A "C" keil alapokon van, és nagyon szimpatikus lenne, ha a definiciós strukturából venné a cimeket :-)>
>>
> #define  HwReg1   TIMbase.Reg3>
> #define  HwReg2   TIMbase.Reg1>
> #define  HwReg3   TIMbase.Reg2>
>>
> //a fenti sorok egy headerban találhatok, sok egyébb más dologgal együtt...>
> //a forditónak mindegy hogy . vagy -> (elvileg az egyik forditáskori számítás, a másik meg futáskori cimszámítást generál...)>
>>
> const unsinged short* CrossAddr[] = {(unsigned short*) &HwReg1, (unsigned short*) &HwReg2, (unsigned short*) &HwReg3 };>
>>
> valami hasonló elképzelésem lenne, de ezt nem hajlandó lefordítani, persze ez még nem kerül csak a FLASH-ban tárolásra, mert induláskor bemásolja a RAM-ba.>
>>
> ((( Jó, ez a C-de a alap HW fejlesztésre nem teljesen 100% :-)))>
>>
> ----------------------------------------->
>          elektro[-flame|-etc]>
>>
>
----------------------------------------->
          elektro[-flame|-etc]



More information about the Elektro mailing list