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/

Вот еще одна полезная ссылка:

https://devzone.nordicsemi.com/f/nordic-q-a/38067/ble_app_uart-can-not-be-loaded-completely-on-nrf-51822

Другие вопросы по тегам