shmur 0 10 апреля, 2013 Опубликовано 10 апреля, 2013 · Жалоба Как прочитать program memory в данном проце? Нужно просто проверить слово по адресу 0x1000 на равенство 0xFFFF. Средствами языка С, я так понял, проверить можно только память данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
msalov 0 10 апреля, 2013 Опубликовано 10 апреля, 2013 · Жалоба if (*((uint16_t*)0x1000) == (uint16_t)0xFFFFU) { // if true } else { // if not true } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shmur 0 10 апреля, 2013 Опубликовано 10 апреля, 2013 · Жалоба if (*((uint16_t*)0x1000) == (uint16_t)0xFFFFU) { // if true } else { // if not true } Ну дак в том то и фокус, что тут будет проверяться не память программы, а память данных по адресу 0х1000. Там разные адресные пространства памяти данных и программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 10 апреля, 2013 Опубликовано 10 апреля, 2013 · Жалоба Ну дак в том то и фокус, что тут будет проверяться не память программы, а память данных по адресу 0х1000. Тогда должен быть какой-нибудь модификатор доступа: unsigned char temp=*(unsigned char __flash *)0x1234; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться