ble_app_uart не может быть загружен полностью на nRF 51822
У меня проблема с перепрошивкой основной программы и SoftDevice на модуле nrf 51822. У меня версия Keil 5.24, и я использую SDK v12.3 .
Я могу легко прошить SoftDevice, но после этого не могу прошить основную программу на устройстве. в Кейле он просто показывает ошибку: ошибка удаления, ошибка загрузки флэш-памяти - "cortex-m0" . Но если я пытаюсь выполнить этот процесс в студии nRFgo, после этого я прошил SoftDevice, когда я пытаюсь прошить основную программу, она выдает ошибку: Этот шестнадцатеричный файл содержит данные в области SoftDevice. Попробуйте программировать с помощью "Программы SoftDevice" или удалите все перед программированием.
Может ли это быть причиной из-за конфигурации области памяти ПЗУ и адресов? Если так, как я могу это исправить?
Спасибо за внимание.
1 ответ
Через некоторое время я наконец узнал, где была заложена проблема. Я попытался изменить распределение памяти ПЗУ для SoftDevice и основной программы, и это, наконец, работает.
В основном распределение SoftDevice должно быть ниже основной программы в памяти. Например, если у нас есть форма памяти от 0x00 до 0xff, SoftDevice может быть выделен от 0x00 до 0x2f, а оставшаяся область от 0x2f до конца должна быть зарезервирована для основной программы.
В зависимости от того, какой SoftDevice(SD) вы используете, например. S110, S130 и т. Д., Размер SD может варьироваться. Таким образом, выделение памяти для SD начинается с 0x00, но конечная точка зависит от того, какую SD вы используете, поэтому я изменил адрес выделения памяти в Киле и могу получить информацию о совместимости SD с Особенности nRF устройств и SD на сайте:
https://infocenter.nordicsemi.com/
Вот еще одна полезная ссылка: