出自flip the world 檢視BLE mesh的原始碼 頁面討論 閱讀檢視原始碼檢視歷史 ←BLE mesh 您沒有權限執行編輯此頁面,由於以下原因: 您請求的操作只有這個群組的使用者能使用:使用者 您可以檢視並複製此頁面的原始碼。 Building '''Bluetooth mesh''' firmware for an nRF52840 with the Nordic mesh SDK, from CMake setup through to the light example. [[File:NRF52840-DONGLE.JPG|nrf52840 dongle]] == Prepare == * Platform: nRF52840 * Board: PCA10059 === SDK & Mesh SDK === * nRF5_SDK_15.3.0_59ac345 * nrf5SDKforMeshv310src === Toolchain === * gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2 * export PATH=$PATH_TOOLCHAIN_BIN:$PATH === Cmake build === # cd nrf5SDKforMeshv310src # mkdir build & cd build # cmake -G Ninja .. -DSDK_ROOT=$PATH_OF_NRF5_SDK -DPLATFORM=nrf52840_xxAA -DBOARD=pca10056 <---for nrf52840 === Programming === *If nrfutil fail, try more times!!! * Create app package ** nrfutil pkg generate --hw-version 52 --sd-req 0x00 --application-version 1 --application nrf52840_xxaa.hex zip.zip * Display package info ** nrfutil pkg display dfu.zip * Program the package * sudo nrfutil dfu usb-serial -pkg zip.zip -p /dev/ttyACM0 * Using tool "nRF connect" in windows is better [[File:NRF_Connect_Programmer.jpg|200px|nrf connect]] === Touble shooting === * Lost provision ** erase provision data <pre> .nrf_mesh_flash : { PROVIDE(__start_nrf_mesh_flash = .); KEEP(*(SORT(.nrf_mesh_flash.*))) <<---------------------------remove, to allow section recycle PROVIDE(__stop_nrf_mesh_flash = .); } > FLASH </pre> ** program again, then, program back to original one === Light example === * program light_switch_client_nrf52840_xxAA_s140_6.1.0 + s140_nrf52_6.1.0_softdevice.hex * program light_switch_server_nrf52840_xxAA_s140_6.1.0.hex + s140_nrf52_6.1.0_softdevice.hex [[File:Ble_mesh_light.jpg|200px|nRF5x Mesh client/server]] [[Category:Connectivity]] 返回到「BLE mesh」。