Pull to refresh
6
0
Send message

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

Reading time5 min
Views13K

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


image


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


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

Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments27

Information

Rating
Does not participate
Registered
Activity