Jump to content

    
Sign in to follow this  
Dimon84

NRF52832 отключение и включение SoftDevice

Recommended Posts

Приветствую!

Работаю с NRF52832. Реализовал приложение на базе примера "ble_app_uart". Все работает. 
Решил добавить сохранение настраиваемых параметров во внутреннюю Flash память. Запись в Flash осуществляю посредством модуля NVMC, использование которого возможно только
при отключенном стеке SoftDevice, иначе произойдет сбой в работе с Flash. Вот как первоначально инициализирую стек при подаче питания на устройство: 

timers_init();
power_management_init();
ble_stack_init();
gap_params_init();
gatt_init();
services_init();
advertising_init();
conn_params_init();
advertising_start();

Затем в теле программы отключаю стек:

advertising_stop();
if (nrf_sdh_is_enabled())
{
    err_code = nrf_sdh_disable_request();
    APP_ERROR_CHECK(err_code);
    while (nrf_sdh_is_enabled()) {}
    disabled_softdevice = true;
}

Затем работаю с Flash памятью (стираю, записываю):

Flash_exe();

А вот как повторно запустить стек и рекламу не понимаю. Может кто подскажет?

Share this post


Link to post
Share on other sites

Если кратко - останавливать SoftDevice при записи во флэшь необязательно, и даже ненужно так делать. В Nordic SDK есть специальные функции-обертки над SoftDevice, которые производят безопасные операции с периферией при включенном SD, а точнее, они просто вызывают сам SD через известные им точки входа для работы с периферией.

Эти функции имеют префикс sd_  и расположены в SDK в файлах с постфиксом _sd,  к примеру, запись во флешь через SoftDevice функция sd_flash_write(...) в файле nrf_fstorage_sd.c

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this