ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
757026 Топик полностью
Apтём (18.05.2017 21:40, просмотров: 332) ответил manul78 на Xmega + EBI + AVR GCC как разместить секцию DATA и "кучу"(Heap)во внешней памяти используя EBI ?
Наверное нужно создать свою секцию с адресом со внешней памяти и объявлять переменные с соответствующими атрибутами. Что-то типа такого:
__attribute__ ((section(".sram")))
.
решил по старинке как в старых МЕГАХ разместить "кучу" во внешней памяти. И никак
А как по-старинке объявляли?
Вообще вопрос: поддерживает AVR GCC интерфейс EBI ?
Наверное да. IAR поддерживает, почему бы и GCC не поддерживать.
или размещение "кучи", стека и пр. данных возможны на Xmega только во внутренней памяти ?
стек во внешней точно не разместить - регистр SP 16-битный. А вот куча и статические переменные могут адресоваться с помощью RAMPX/Y/Z, иначе зачем бы ещё внешняя SRAM нужна?
Я понимаю, что AVR GCC поддерживает только 16-битные указатели и пр
Не факт. Вот что пишут:
The AVR is a Harvard architecture CPU. This means that it separates instruction memory and data memory. The gcc was originally designed to support Von Neumann architectures which define a single storage structure to hold both instructions and data.This dichotomy is solved by a series of nifty tricks in the AVR port of gcc, of which three should be noted: The .text segment starts at 0x0. The .data segment starts at 0x800000. The .eeprom segment starts at 0x810000.