Re: Chyba při kompilaci ve vývojovém prostředí uVision2

MK info@mcu.cz
Pondělí Září 6 21:58:52 CEST 2004


----- Original Message ----- 
From: "Ondřej Kalendovský" <okalendovsky@atlas.cz>
To: <HW-list@mailman.nethouse.cz>
Sent: Monday, September 06, 2004 7:28 PM
Subject: Chyba při kompilaci ve vývojovém prostředí uVision2


Hodně z vás má jistě zkušenosti s vývojovým prostředním uVision2, tak věřím, že budete schopni mi poradit.
Nastavím-li v nabídce PROJECT - Options for target - Use on-chip ROM u modelů s malou vnitřní pamětí dat (892051),
dojde při kompilaci kódu s definovanými datovými segmenty a současně při odkazech na externí proměnné k následujícím chybám:
*** ERROR L107: ADDRESS SPACE OVERFLOW
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
*** ERROR L120: CONTENT BELONGS TO ERRONEOUS SEGMENT
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
Když segmenty nedefinuji a tudíž tak nemohu použít vícemodulovou strukturu programování, uvedenou chybu nezahlásí.
Věděl by někdo, zda a jak se dá problém vyřešit?

Prvni chyba je podstatna - mate prilis mnoho promennych - prekrocil jste rozsah interni SRAM
Ostatni jsou jiz jen dusledkem te prvni.

Co s tim ?
Predevsim setrit pameti
- pokud mozno definovat lokalni promenne funkci do registru
- udelat si globalni header, ktery bude obsahovat vetsinu pouzitych promennych a pouzivat reference na nej
- nepouzivat prilis hluboke zanoreni funkci
- zapomenout na segmenty pokud nepouzivate zaroven C a Asm

S pozdravem
MK
 





Další informace o konferenci Hw-list