Сергей Борщ 119 5 сентября, 2017 Опубликовано 5 сентября, 2017 · Жалоба В GCC наверно тоже что-то подобное есть.Да, уже есть. Не так давно, но появилось. Но только в голых Сях, в плюсы решили не добавлять, типа "в стандарте плюсов такого нет". Хотя может и передумали уже, давно не отслеживал эту тему. Если нет, то можно дополнительный сегмент добавить.К сожалению, простого объявления сегмента недостаточно. Для доступа к флешу (в "обычных" AVR, про хмеги не знаю) используются совершенно другие ассемблерные команды, поэтому от рождения доступ к константам во флеше в ГЦЦ от рождения был через специальные, реализованные на встроенном ассемблере макросы pgm_read_xxxxx() Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zlumd 0 5 сентября, 2017 Опубликовано 5 сентября, 2017 · Жалоба К сожалению, простого объявления сегмента недостаточно. Для доступа к флешу (в "обычных" AVR, про хмеги не знаю) используются совершенно другие ассемблерные команды, поэтому от рождения доступ к константам во флеше в ГЦЦ от рождения был через специальные, реализованные на встроенном ассемблере макросы pgm_read_xxxxx()IAR при чтении флэш генерит одни команды, при чтении/записи RAM - другие команды, при чтении/записи EEPROM - третьи, при чтении/записи пространства ввода/вывода - четвертые. Программисту не надо думать в каком пространстве происходит чтение запись. Странно, что в GCC не так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться