IAR AVR и сегменты

Jan 12, 2004 2 Replies

Привет,



Как "честно" на этапе компиляции определить адрес последнего байта всех кодовых сегментов прошивки ? Была мысль определить свой кодовый сегмент, содержащий лишь метку, но никак не получается слинковать его самым последним кодовым сегментом из всех имеющихся.



Всего хорошего.


Mon Jan 12 2004 18:06, Alexey Krasnov wrote to All:

AK> Как "честно" на этапе компиляции определить адрес последнего байта AK> всех кодовых сегментов прошивки ? Была мысль определить свой кодовый AK> сегмент, содержащий лишь метку, но никак не получается слинковать AK> его самым последним кодовым сегментом из всех имеющихся.

IAR линкует __farflash и __hugeflash данные в самый конец, после всех модулей кода и библиотек. Hадеюсь, это вам поможет.

VLV

"Hельзя всем дать все, потому что всех - много, а всего - мало" (c)

Привет, 12 января 2004 г., 22:54:18, ты писал(а):

AK>> Как "честно" на этапе компиляции определить адрес AK>> последнего байта AK>> всех кодовых сегментов прошивки ? Была мысль определить AK>> свой кодовый AK>> сегмент, содержащий лишь метку, но никак не получается слинковать AK>> его самым последним кодовым сегментом из всех имеющихся. VV> IAR линкует __farflash и __hugeflash данные в самый конец, после всех VV> модулей кода и библиотек. Hадеюсь, это вам поможет.

Насколько я понял, ты имеешь в виду сегменты FAR_F и HUGE_F ? Если это так, то - неработает !

INTVEC CODE 00000000 - 00000003 4 com 1 ?FILL1 CODE 00000004 - 00000013 10 rel 0 ?FILL2 CODE 00000018 - 0000003F 28 rel 0 ?FILL3 CODE 00000044 - 00000047 4 rel 0 ?FILL4 CODE 00000054 - 0000008B 38 rel 0 CHECKSUM CODE 0000008C - 00000097 C rel 0 NEAR_F CODE 0000009C - 00000602 567 rel 0 FAR_F CODE 00000603 - 00000603 1 rel 0 CODE CODE 00000604 - 00002427 1E24 rel 1 INITTAB CODE 00002428 - 00002435 E rel 0 NEAR_ID CODE 00002436 - 00002493 5E rel 0

Всего хорошего.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required