TOG 0 6 июля, 2020 Опубликовано 6 июля, 2020 · Жалоба Друзья не могу понять, записываю программу в микроконтроллер STM32L051K8, далее программа стирает одну из последних страниц флэш памяти в которой расположен массив данных и после этого я не могу подключиться в Keil в режиме отладки, выдает "Cannot access target". Через ST-Link Utility все подключается, видно, что страница стерта, но через отладчик Keil подключиться невозможно, только прошивать по новой и после прогона программы опять получаем "Cannot access target". static FLASH_EraseInitTypeDef EraseInitStruct; uint32_t PAGEError = 0; HAL_FLASH_Unlock(); // разлочиваем EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES; EraseInitStruct.PageAddress = 0x08008000; // адрес с которого стирать EraseInitStruct.NbPages = 1; // одну страницу 128 байт HAL_FLASHEx_Erase(&EraseInitStruct, &PAGEError); // стираем HAL_FLASH_Lock(); // закрываем Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TOG 0 7 июля, 2020 Опубликовано 7 июля, 2020 · Жалоба Понял, у меня в настройках была галочка "Verify code download" и Keil проверял целостность программы во флеше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться