Как стать автором
Обновить
6
0

Пользователь

Отправить сообщение

Преодоление порога 32 КБ для данных в ПЗУ микроконтроллеров AVR

Время на прочтение 5 мин
Количество просмотров 13K

Что может быть хуже костылей? Только неполно документированные костыли.


image


Перед вами скриншот из последней официальной интегрированной среды разработки для 8-битных микроконтроллеров AVR, Atmel Studio 7, язык программирования Си. Как видно из столбца Value, переменная my_array содержит число 0x8089. Другими словами, массив my_array располагается в памяти, начиная с адреса 0x8089.


В то же время столбец Type даёт нам несколько иную информацию: my_array является массивом из 4 элементов типа int16_t, расположенным в ПЗУ (это обозначается словом prog, в отличие от data для ОЗУ), начиная с адреса 0x18089. Стоп, но ведь 0x8089 != 0x18089. Какой же на самом деле адрес у массива?

Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 27

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность