Димон Безпарольный 2 28 мая, 2019 Опубликовано 28 мая, 2019 · Жалоба В процессоре есть память CCM(IRAM2), с нулевым циклом ожидания. Хотелось бы туда запихнуть стек и некоторые переменные. Собственно, это с успехом делает линкер когда я ставлю галочку разрешения IRAM2. Но. Линкер пихает туда в частности и буфер, с которым работает DMA. Но доступа у DMA туда нет и код разумеется не работает. Нашел атрибут __attribute__((at(0x10000000))); для размещения в IRAM2. Это тоже работает. Но нужно указать что определенные буфера надо размещать в IRAM1. Попробовал поменять на __attribute__((at(0x20000000)));, но ругается линкер: Quote Error: L6971E: main.o(.data) type RW incompatible with doublebuff.o(.ARM.__AT_0x20000000) type ZI in er RW_IRAM1. Как все - таки указать явное размещение в IRAM1 линкеру ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 28 мая, 2019 Опубликовано 28 мая, 2019 · Жалоба 30 минут назад, Димон Безпарольный сказал: Как все - таки указать явное размещение в IRAM1 линкеру ? Создать секцию, размещать переменные в данной секции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 28 мая, 2019 Опубликовано 28 мая, 2019 · Жалоба 2 minutes ago, adnega said: Создать секцию, размещать переменные в данной секции. Это в скаттере *.sct? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 28 мая, 2019 Опубликовано 28 мая, 2019 · Жалоба Я Кейлом не пользуюсь, но в нем встроена неплохая документация где можно прочитать про секции. Скорее всего, нужно будет поправить *.sct, а в коде у переменных указывать атрибут с данной секцией. Ну, и startup поправить, чтоб стек инициализировался на конец IRAM2 и выделялось достаточное место под него. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 28 мая, 2019 Опубликовано 28 мая, 2019 (изменено) · Жалоба Нашел очень доступно на картинках здесь: http://www.stmcu.org.cn/module/forum/thread-604814-1-1.html Весьма удобно. Из MAP переносим название объектных файлов в scr в разные секции IRAM по желанию. И код даже работает. Изменено 28 мая, 2019 пользователем Димон Безпарольный Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 28 мая, 2019 Опубликовано 28 мая, 2019 · Жалоба Только в MAP файле не нашел куда куча кладется. А она используется. Точно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться