Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Avrasm2.exe
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
zombi
Юзаю
Код
AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36)
Copyright (C) 1995-2009 ATMEL Corporation

В устройстве Xmega64A1 и внешняя SRAM с 0x3000 по 0xFFFF.
В файле обьявляю переменную в сегменте данных:
Код
.dseg
.org 0x7000
buf:  .byte 1

AVRASM ругается:
Код
warning: offset 0x7000 in .dseg is beyond end of memory at 0x2fff
...
ATxmega64A1 memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%  Warn
--------------------------------------------------------------------
[.cseg] 0x000000 0x004000   2104    414   2518   69632   3.6%
[.dseg] 0x002000 0x007ff9      0   3971   3971    4096  96.9%  OVER
[.eseg] 0x000000 0x000000      0      0      0    2048   0.0%

Меняю в файле "ATxmega64A1def.inc" строку :
#pragma AVRPART MEMORY INT_SRAM SIZE 0x1000
на
#pragma AVRPART MEMORY INT_SRAM SIZE 0xE000
Теперь компилятор "думает" что у этой хмеги 56к внутренней памяти и warningа нет.
Проблема вроде как решена, но что-то мне нравится такое решение.
Можно ли как то информировать AVRASM о наличии и размере внешней SRAM ?


И еще один нюансик заметил:
В файле листинга напрочь отсутствует первая строка, как у компилируемого так и у всех including файлов!
zombi
И вот что нашел в DS на AVR Assembler v. 2.0:
Цитата(ATMEL Corp.)
#pragma AVRPART MEMORY INT_SRAM SIZE may occasionally be useful in user programs to reflect the presence of external SRAM in a project.
A better way to specify this may be implemented in a future version of AVRASM2.

Похоже пока подругому никак не обьявить.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.