ошибка константы

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 394
Зарегистрирован: Сб апр 28, 2012 16:04:14

Сообщение sx386 »

У меня выдаёт сообщение об ошибке, но при этом всё программируется, запускается и работает.

Код: Выделить всё

Flash download warning: 4 out of 4 bytes from data record CODE:[0x1FF80078,0x1FF8007B] will not be flashed 
Для корректировки опорного напряжения я использовал данные ячеек по указанному даташите адресу:

Код: Выделить всё

const unsigned char Factory_VREFINT @ 0x1FF80078;
Отчего ошибка - непойму. Я произвожу только чтение и никак не запись.

Изображение
Критикуешь - предлагай. Предлагаешь - делай. Делаешь - отвечай.
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 450
Зарегистрирован: Вс янв 09, 2011 23:05:37
Откуда: СССР

Сообщение Myp3ik »

Может лучше так:

Код: Выделить всё

const uint16_t Factory_VREFINT = *(uint16_t*)0x1FF80078;
или так

Код: Выделить всё

#define Factory_VREFINT  ((uint16_t)(*(uint16_t*)0x1FF80078))
Иван Сусанин - первый полупроводник :solder:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 127
Зарегистрирован: Пт июн 20, 2008 09:38:05
Откуда: Харьков

Сообщение Shapa »

sx386 писал(а):У меня выдаёт сообщение об ошибке, но при этом всё программируется, запускается и работает.

Код: Выделить всё

Flash download warning: 4 out of 4 bytes from data record CODE:[0x1FF80078,0x1FF8007B] will not be flashed 
Ошибочно полагать, что здесь "ошибка константы". Вам же флешер точно говорит "0x1FF8007B will not be flashed".
Пащиму? Потому, что 0x1FF8007B не есть область флеша которая может быть модифицирована (по просту это ro, noinit). Но ваш линкер (подозреваю что IAR) об этом не знает, потому и считает своим долгом её проинитить, т.е. записать некое значение, что не возможно ( в данном контексте)
Myp3ik писал(а): const uint16_t Factory_VREFINT = *(uint16_t*)0x1FF80078;
#define Factory_VREFINT ((uint16_t)(*(uint16_t*)0x1FF80078))
Отличный вариант. Лучше использовать разименование поинтеров
Контактная информация:
Ответить

Вернуться в «ARM»