Dimon84 0 Posted September 24, 2020 · Report post Приветствую! Работаю с 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(); А вот как повторно запустить стек и рекламу не понимаю. Может кто подскажет? Quote Ответить с цитированием Share this post Link to post Share on other sites
Herz 0 Posted September 24, 2020 · Report post 5 hours ago, Dimon84 said: и рекламу Рекламу? Какую рекламу? Quote Ответить с цитированием Share this post Link to post Share on other sites
gerber 0 Posted September 24, 2020 · Report post Если кратко - останавливать SoftDevice при записи во флэшь необязательно, и даже ненужно так делать. В Nordic SDK есть специальные функции-обертки над SoftDevice, которые производят безопасные операции с периферией при включенном SD, а точнее, они просто вызывают сам SD через известные им точки входа для работы с периферией. Эти функции имеют префикс sd_ и расположены в SDK в файлах с постфиксом _sd, к примеру, запись во флешь через SoftDevice функция sd_flash_write(...) в файле nrf_fstorage_sd.c Quote Ответить с цитированием Share this post Link to post Share on other sites
Aleksandr Baranov 0 Posted September 24, 2020 · Report post 5 hours ago, Herz said: Рекламу? Какую рекламу? advertising. Quote Ответить с цитированием Share this post Link to post Share on other sites