Add a lead sentence |
|||
| (未顯示同一使用者於中間所作的 1次修訂) | |||
| 第1行: | 第1行: | ||
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]] | [[File:NRF52840-DONGLE.JPG|nrf52840 dongle]] | ||
== Prepare == | == Prepare == | ||
| 第46行: | 第48行: | ||
* program light_switch_server_nrf52840_xxAA_s140_6.1.0.hex + 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]] | [[File:Ble_mesh_light.jpg|200px|nRF5x Mesh client/server]] | ||
[[Category:Connectivity]] | |||
2026年8月23日 (日) 17:57的最新修訂
Building Bluetooth mesh firmware for an nRF52840 with the Nordic mesh SDK, from CMake setup through to the light example.
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
Touble shooting
- Lost provision
- erase provision data
.nrf_mesh_flash :
{
PROVIDE(__start_nrf_mesh_flash = .);
KEEP(*(SORT(.nrf_mesh_flash.*))) <<---------------------------remove, to allow section recycle
PROVIDE(__stop_nrf_mesh_flash = .);
} > FLASH
- 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