NRF53840: Difference between revisions

From Braindump
Jump to navigation Jump to search
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 9: Line 9:


https://www.freecodecamp.org/news/meet-pyrinas-an-iot-development-kit-for-your-particle-xenon/
https://www.freecodecamp.org/news/meet-pyrinas-an-iot-development-kit-for-your-particle-xenon/




Line 24: Line 25:


https://github.com/NordicSemiconductor/pc-nrfutil
https://github.com/NordicSemiconductor/pc-nrfutil
https://devzone.nordicsemi.com/f/nordic-q-a/53690/loading-nrf52840-software-on-particle-io-boron-argon-and-xenon-hardware




Line 47: Line 51:
https://docs.particle.io/tutorials/developer-tools/cli/
https://docs.particle.io/tutorials/developer-tools/cli/


==== ZCL ====
Zigbee stack is based on the ZBOSS stack v3.3
Zigbee stack is based on the ZBOSS stack v3.3
SEGGER J-Link
SEGGER J-Link
ZCL specification (ver. 7)
ZCL specification (ver. 7)


* E_ZCL_UINT32 (0x23) – 4 bytes    integer.
* E_ZCL_UINT16 (0x21) – 2 bytes    integer.
* E_ZCL_UINT8 (0x20) /    E_ZCL_ENUM8 (0x30) – 1 byte integer / 1 byte enum value.
* E_ZCL_BOOL (0x10) – 1 bit    Boolean value (True/False).
* E_ZCL_ARRAY    (0x48) – variable length byte array, using a 1-byte length field.
* 8 bytes –    Extended address:    Globally unique network address (similar to the Ethernet MAC address).
* 2 bytes –    Network address:    Short network address that is locally unique in the current ZigBee    network.
* 2 bytes –    PAN Id: Personal    Area Network Identifier, the identifier of the local ZigBee network.
* 1 byte –    LQI: Link    Quality Indicator in the range of 0-255.
* 3 -bytes –    Misc: Other    flags, adding up to 16 bytes per record.
Zcl,Req,S=0x137a.11,6,0083000000,64", 35) = 35
Zcl,Req,S=0x137a.11,8,0084000000,64", 35) = 35
Zcl,Req,S=0x137a.11,768,0085000700004001000300040008000240,64", 61) = 61
Zcl,Req,S=0x3351.11,6,0086000000,64", 35) = 35
Zcl,Req,S=0xc193.11,6,0087000000,64", 35) = 35
Zcl,Req,S=0xe117.11,6,0088000000,64", 35) = 35
Zcl,Req,S=0xe117.11,8,0089000000,64", 35) = 35
Zcl,Req,S=0xc472.11,6,008a000000,64", 35) = 35
Zcl,Req,S=0xc472.11,8,008b000000,64", 35) = 35
Zcl,Req,S=0x137a.11,6,008c000000,64", 35) = 35
Zcl,Req,S=0x137a.11,8,008d000000,64", 35) = 35
Zcl,Req,S=0x137a.11,768,008e000700004001000300040008000240,64", 61) = 61
==== GCC ====
  GCC: GCC ARM Embedded 7.2018 q2 update
  GCC: GCC ARM Embedded 7.2018 q2 update
  https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
  https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
Line 61: Line 104:


https://github.com/nrfconnect/sdk-nrfxlib/tree/main/nrf_802154
https://github.com/nrfconnect/sdk-nrfxlib/tree/main/nrf_802154
nRF5_SDK_16.0.0_21de520.zip
nRF5_SDK_16.0.0_21de520.zip
Softdevice version: s140_nrf52_7.0.1_softdevice.hex
Softdevice version: s140_nrf52_7.0.1_softdevice.hex


  Description     Start Address  End Address    Size (KB)
  Description                     Start Address  End Address    Size (KB)
  Bootloader Settings            0x000FF000      0x000FFFFF      4
  Bootloader Settings            0x000FF000      0x000FFFFF      4
  Master Boot Record Params      0x000FE000      0x000FEFFF      4
  Master Boot Record Params      0x000FE000      0x000FEFFF      4

Latest revision as of 08:01, 1 September 2024

Xenon.png

https://docs.particle.io/troubleshooting/led/xenon/

https://docs.particle.io/tutorials/learn-more/xenon-options/

https://github.com/particle-iot/app-notes/tree/master/AN008-Xenon-Nordic-SDK

https://community.particle.io/t/pairing-setup-of-xenon/45273

https://www.freecodecamp.org/news/meet-pyrinas-an-iot-development-kit-for-your-particle-xenon/


https://support.particle.io/hc/en-us/articles/360044252594-Using-a-Xenon-with-the-Nordic-SDK

https://medium.com/home-wireless/using-segger-studio-and-nordic-sdk-with-particle-xenon-91e34aeb632a

https://learn.sparkfun.com/tutorials/nrf52840-advanced-development-with-the-nrf5-sdk/all

https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52840

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_nrf52840_dk%2FUG%2Fnrf52840_DK%2Fintro.html

https://www.nordicsemi.com/DocLib/Content/User_Guides/gsg_keil/latest/UG/gsg/install_nrf5x_cltools

https://github.com/NordicSemiconductor/pc-nrfutil

https://devzone.nordicsemi.com/f/nordic-q-a/53690/loading-nrf52840-software-on-particle-io-boron-argon-and-xenon-hardware


DFU mode: hold both buttons, release the right one (with usb at the top) and when it's green release the left button.

DFU is usb only, Normal mode has Serial

cd particle\bin
ParticleCLI
particle.exe serial list
particle.exe serial identify
particle.exe cloud claim e00fce68baa5180474617b8a
particle.exe serial inspect
particle.exe flash --usb firmware.bin

cd Xenon

nrfutil.exe settings display
nrfutil.exe dfu
nrfutil.exe zigbee

https://raw.githubusercontent.com/adafruit/Adafruit_nRF52_Arduino/master/bootloader/particle_xenon/particle_xenon_bootloader-0.3.2_s140_6.1.1.hex

https://docs.particle.io/tutorials/developer-tools/cli/

ZCL

Zigbee stack is based on the ZBOSS stack v3.3 SEGGER J-Link ZCL specification (ver. 7)

  • E_ZCL_UINT32 (0x23) – 4 bytes integer.
  • E_ZCL_UINT16 (0x21) – 2 bytes integer.
  • E_ZCL_UINT8 (0x20) / E_ZCL_ENUM8 (0x30) – 1 byte integer / 1 byte enum value.
  • E_ZCL_BOOL (0x10) – 1 bit Boolean value (True/False).
  • E_ZCL_ARRAY (0x48) – variable length byte array, using a 1-byte length field.
  • 8 bytes – Extended address: Globally unique network address (similar to the Ethernet MAC address).
  • 2 bytes – Network address: Short network address that is locally unique in the current ZigBee network.
  • 2 bytes – PAN Id: Personal Area Network Identifier, the identifier of the local ZigBee network.
  • 1 byte – LQI: Link Quality Indicator in the range of 0-255.
  • 3 -bytes – Misc: Other flags, adding up to 16 bytes per record.


Zcl,Req,S=0x137a.11,6,0083000000,64", 35) = 35

Zcl,Req,S=0x137a.11,8,0084000000,64", 35) = 35

Zcl,Req,S=0x137a.11,768,0085000700004001000300040008000240,64", 61) = 61

Zcl,Req,S=0x3351.11,6,0086000000,64", 35) = 35

Zcl,Req,S=0xc193.11,6,0087000000,64", 35) = 35

Zcl,Req,S=0xe117.11,6,0088000000,64", 35) = 35

Zcl,Req,S=0xe117.11,8,0089000000,64", 35) = 35

Zcl,Req,S=0xc472.11,6,008a000000,64", 35) = 35

Zcl,Req,S=0xc472.11,8,008b000000,64", 35) = 35

Zcl,Req,S=0x137a.11,6,008c000000,64", 35) = 35

Zcl,Req,S=0x137a.11,8,008d000000,64", 35) = 35

Zcl,Req,S=0x137a.11,768,008e000700004001000300040008000240,64", 61) = 61

GCC

GCC: GCC ARM Embedded 7.2018 q2 update
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
IAR: IAR Workbench 7.80.4
SES: SES 4.18
ARM: MDK-ARM version 5.25
nRF Command Line Tools 10.3.0
J-Link: 6.44e

https://github.com/nrfconnect/sdk-nrfxlib/tree/main/nrf_802154

nRF5_SDK_16.0.0_21de520.zip

Softdevice version: s140_nrf52_7.0.1_softdevice.hex

Description                     Start Address   End Address     Size (KB)
Bootloader Settings             0x000FF000      0x000FFFFF      4
Master Boot Record Params       0x000FE000      0x000FEFFF      4
Bootloader                      0x000F4000      0x000FDFFF      40
Application Code                0x00026000      0x000F3FFF      824
SoftDevice                      0x00001000      0x00025FFF      148
Master Boot Record              0x00000000      0x00000FFF      4
nrfjprog -f NRF52 --program nrf52840_xxaa_pca10056.hex --chiperase
nrfjprog -f NRF52 --reset


Makerdiary

https://wiki.makerdiary.com/nrf52840-mdk/

TF-M M23 / M33

https://youtu.be/0LpCEwSfA0s?si=YCu5Ns8cF8Gw9dPj&t=52

Information

Cortex-M4

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fstruct_sdk%2Fstruct%2Fsdk_thread_zigbee_latest.html

RaspPi_OT_Border_Router_Demo_v4.1.0-1.alpha.img https://github.com/NordicSemiconductor/nRF-Sniffer-for-802.15.4/commit/dff6c8d7170a034b09ce2ece361af77c72be4f37

Supported SoftDevices for multiprotocol support: S140 v7.0.1

https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/thread_zigbee__intro.html#thread_zigbee_precompiled_examples

IEEE_CHANNEL_MASK located in files named main.c

https://infocenter.nordicsemi.com/topic/ug_nrf5x_cltools/UG/cltools/nrf5x_nrfjprogexe.html

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.1.0%2Fgroup__zb__general__main__loop.html&anchor=gab9f8bb77c5348ee1dea12ec1026517b1