[elektro] C kérdés CORTEX M0 és M0+ KEIL fordítóra
hg12345
hg12345 at freemail.hu
Fri Aug 12 18:35:10 CEST 2016
Ezzel kezdtem, 1 "const" fordítja, a stringek flashbe, de a pointer tömb RAM-ba kerül, 2-vel nem fordít.
"Ress Sándor" <sandor.ress at gmail.com> írta:
>GCC-vel így szokás:
>
>const char* const xxx[]={ "Hello", "World" }
>
>Ezt próbáltad esetleg?
>
>Sándor
>
>
>
>2016-08-12 8:33 GMT+02:00 Bali Zoltán <eltexto at freemail.hu>:
>
>> Hali!
>>
>> Talán. Nem próbáltam mit fordít
>> csak a syntaxis jó.
>>
>> typedef const uint8_t const_u8;
>>
>> const const_u8* StrArray[2][6] = {{ estr1,nstr1 }; {estr2,nstr2}; .....
>> };
>>
>> aggregátum nélküli formában próbáltam.
>> Lehet csak megeteti vele.
>> Fordító IAR EWARM
>>
>> Üdv. Zoli
>>
>> ----- Original Message ----- From: "hg12345" <hg12345 at freemail.hu>
>> To: "elektro" <elektro at tesla.hu>
>> Sent: Thursday, August 11, 2016 8:31 PM
>> Subject: [elektro] C kérdés CORTEX M0 és M0+ KEIL fordítóra
>>
>>
>>
>> Hi,
>>>
>>> hogyan lehet a fordítót rászedni, hogy egy pointer tömb csak a FLASH-ben
>>> legyen tárolva.
>>> pl.: több nyelvű string készlet normál esetben így kéne írni
>>>
>>> const uint8_t conts* StrArray[2][6] = {{ estr1,nstr1 }; {estr2,nstr2};
>>> ..... };
>>>
>>> vagyis constans pointer tömb constans értékekre mutatva,
>>> de a fordító csak egy "const" fogad be.
>>>
>>> próbálkoztam const* helyet * is, elvileg ez is jó lenne, hiszen a
>>> sztringek amúgy is FLASH területen vannak, de de az eredmény ugyanaz,
>>> inicializált ram területen készíti el pointer tömböt..
>>>
>>> const uint8_t * StrArray
>>> uint8_t const * StrArray
>>> ugyan azt az eredményt adja.....
>>>
>>> __attribute__ se hozott jó eredményt
>>>
>>> Mi a helyes megoldás?
>>>
>>> Üdv
>>>
>>>
>>> -----------------------------------------
>>> elektro[-flame|-etc]
>>>
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>-----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list