Chip-dat/Nordic-dat/NRF5x-dat/NRF52840-dat/NRF52840-board-1-dat/NRF52840-board-1-dat.md
... ...
@@ -62,6 +62,12 @@ right side
62 62
- 5.电池充电芯片:支持锂电池充放电。
63 63
64 64
65
+
66
+当P0.13设置为低时,将关闭3.3V 、VCC引脚的电源。这对于减少空闲时使用功率的组件(如RGB、LED)非常有用。
67
+
68
+
69
+
70
+
65 71
- [[network-dat]]
66 72
67 73
Chip-dat/Nordic-dat/NRF5x-dat/NRF52840-dat/NRF52840-dat.md
... ...
@@ -2,6 +2,10 @@
2 2
# NRF52840-dat
3 3
4 4
5
+
6
+- [[NRF5x-dat]] - [[NRF5x-SDK-dat]] - [[NRF52832-dat]] - [[NRF52840-dat]]
7
+
8
+
5 9
- [[NRF52840-mod-dat]] - [[NRF52840-board-1-dat]]
6 10
7 11
Chip-dat/Nordic-dat/NRF5x-dat/NRF5x-SDK-dat.md
... ...
@@ -1,7 +1,60 @@
1 1
2 2
# NRF5x-SDK-dat.md
3 3
4
-Bootloader
4
+## software
5
+
6
+- nrfconnect
7
+
8
+
9
+
10
+## Bootloader
5 11
6 12
如果想要进入Bootloder,请在0.5S内短接2次RST到GND。进入Bootloder,通过USB连接电脑,此时会显示一个叫Nice!Nano的存储设备。此时你就可以拖入.uf2文件,来烧录程序。
7 13
14
+
15
+
16
+
17
+## SDK and bootloader
18
+
19
+
20
+particle.iot
21
+
22
+- nrf5_sdk - https://github.com/particle-iot/nrf5_sdk
23
+
24
+- nrfx_ppi.h
25
+- https://github.com/particle-iot/nrf5_sdk/blob/master/modules/nrfx/drivers/include/nrfx_ppi.h
26
+- https://github.com/NordicSemiconductor/nrfx/blob/master/hal/nrf_ppi.h
27
+
28
+
29
+- nrfx - https://github.com/NordicSemiconductor/nrfx
30
+
31
+Adafruit nRF52 Bootloader - https://github.com/adafruit/Adafruit_nRF52_Bootloader
32
+
33
+- [[UF2-dat]]
34
+
35
+
36
+How to use
37
+There are two pins, DFU and FRST that bootloader will check upon reset/power:
38
+
39
+- Double Reset Reset twice within 500 ms will enter DFU with UF2 and CDC support (only works with nRF52840)
40
+- DFU = LOW and FRST = HIGH: Enter bootloader with UF2 and CDC support
41
+- DFU = LOW and FRST = LOW: Enter bootloader with OTA, to upgrade with a mobile application such as Nordic nrfConnect/Toolbox
42
+- DFU = HIGH and FRST = LOW: Factory Reset mode: erase firmware application and its data
43
+- DFU = HIGH and FRST = HIGH: Go to application code if it is present, otherwise enter DFU with UF2
44
+- The GPREGRET register can also be set to force the bootloader can enter any of above modes (plus a CDC-only mode for Arduino). GPREGRET is set by the application before performing a soft reset.
45
+
46
+
47
+
48
+## Nordic's nRF5x Command Line Tools
49
+
50
+https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Command-Line-Tools
51
+
52
+
53
+
54
+
55
+## ref
56
+
57
+
58
+- [[python-dat]]
59
+
60
+- [[NRF5x-dat]] - [[Jlink-dat]]
... ...
\ No newline at end of file
Chip-dat/Nordic-dat/NRF5x-dat/NRF5x-dat.md
... ...
@@ -5,7 +5,7 @@
5 5
6 6
- [[ARM-dat]]
7 7
8
-- [[NRF5x-dat]] - [[NRF52832-dat]] - [[NRF52840-dat]]
8
+- [[NRF5x-dat]] - [[NRF5x-SDK-dat]] - [[NRF52832-dat]] - [[NRF52840-dat]]
9 9
10 10
11 11
SDK-dat/C-dat/ARM-GCC-dat/ARM-GCC-dat.md
... ...
@@ -0,0 +1,14 @@
1
+
2
+# ARM-GCC-dat
3
+
4
+- [[ARM-GCC-dat]] - [[arm-compiler-dat]]
5
+
6
+- [[C-dat]]
7
+
8
+
9
+## ref
10
+
11
+- [[C-dat]] - [[ARM-GCC-dat]] - [[arm-compiler-dat]]
12
+
13
+
14
+- [[SDK-dat]]
... ...
\ No newline at end of file
SDK-dat/C-dat/arm-compiler-dat/2025-08-19-14-32-16.png
... ...
Binary files /dev/null and b/SDK-dat/C-dat/arm-compiler-dat/2025-08-19-14-32-16.png differ
SDK-dat/C-dat/arm-compiler-dat/arm-compiler-dat.md
... ...
@@ -0,0 +1,68 @@
1
+# ARM Cross-Compiler Installation Tutorial
2
+
3
+This guide will walk you through installing the ARM cross-compiler toolchain (version 7.2.1 as an example), configuring your environment, and testing the installation.
4
+
5
+## 1. Download the Toolchain
6
+You can download version 7.2.1 or choose another version as needed:
7
+
8
+ wget http://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
9
+
10
+
11
+## 2. Extract the Archive
12
+
13
+ tar -vxJf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
14
+
15
+
16
+## 3. Move the Toolchain to /opt
17
+
18
+ sudo cp -r ./gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi /opt/
19
+
20
+
21
+## 4. Add Toolchain to PATH
22
+
23
+Edit `/etc/bash.bashrc` and add the following line at the end:
24
+
25
+ nano /etc/bash.bashrc
26
+ PATH="$PATH:/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin"
27
+
28
+
29
+## 5. Reload Environment Variables
30
+
31
+ source /etc/bash.bashrc
32
+
33
+
34
+## 6. Test the Installation
35
+Run the following command to verify the compiler is available:
36
+
37
+ arm-linux-gnueabi-gcc -v
38
+
39
+If you encounter issues as a regular user, try switching to the root user with `sudo su` and test again.
40
+
41
+ Using built-in specs.
42
+ COLLECT_GCC=arm-linux-gnueabi-gcc
43
+ COLLECT_LTO_WRAPPER=/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin/../libexec/gcc/arm-linux-gnueabi/7.2.1/lto-wrapper
44
+ Target: arm-linux-gnueabi
45
+ Configured with: '/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/snapshots/gcc.git~linaro-7.2-2017.11/configure' SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-shared --without-included-gettext --enable-nls --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --with-float=soft --with-mode=thumb --with-tune=cortex-a9 --with-arch=armv7-a --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --enable-gnu-indirect-function --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/sysroots/arm-linux-gnueabi --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabi/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabi --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu
46
+ Thread model: posix
47
+ gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)
48
+
49
+
50
+
51
+## setup for uboot
52
+
53
+在上章节中,我们已经配置好了交叉编译器arm-linux-gnueabi,我们只需要修改U-Boot的Makefile,添加以下内容就可以配置好交叉编译环境:
54
+
55
+ARCH ?= arm
56
+
57
+CROSS_COMPILE ?= arm-linux-gnueabi-
58
+
59
+ARCH CROSS_COMPLIE为编译中使用到的架构和编译器,?=指的是如果变量已经被指定则不使用此处提供的变量,修改完的文件可参考下方截图:
60
+
61
+![](2025-08-19-14-32-16.png)
62
+
63
+图4.x U-Boot编译器的设置
64
+
65
+
66
+## ref
67
+
68
+- [[ubuntu-dat]]
... ...
\ No newline at end of file
SDK-dat/SDK-DAT.md
... ...
@@ -15,7 +15,7 @@
15 15
16 16
- [[freertos-dat]]
17 17
18
-- [[C-dat]]
18
+- [[C-dat]] - [[ARM-GCC-dat]] - [[arm-compiler-dat]]
19 19
20 20
- [[JTAG-dat]] - [[Jlink-dat]]
21 21
SDK-dat/UF2-dat/UF2-dat.md
... ...
@@ -0,0 +1,36 @@
1
+
2
+# UF2-dat
3
+
4
+uf2 - https://github.com/Microsoft/uf2
5
+
6
+
7
+UF2 is a file format, developed by Microsoft for PXT (also known as Microsoft MakeCode), that is particularly suitable for flashing microcontrollers over MSC (Mass Storage Class; aka removable flash drive).
8
+
9
+
10
+
11
+
12
+Making your own UF2
13
+
14
+To create your own UF2 DFU update image, simply use the Python conversion script on a .bin file or .hex file, specifying the family as 0xADA52840 (nRF52840) or 0x621E937A (nRF52833).
15
+
16
+nRF52840
17
+
18
+ uf2conv.py firmware.hex -c -f 0xADA52840
19
+
20
+
21
+How to compile and build
22
+
23
+You should only continue if you are looking to develop bootloader for your own. You must have have a J-Link available to "unbrick" your device.
24
+
25
+Prerequisites
26
+- [[ARM-GCC-dat]]
27
+
28
+- Nordic's nRF5x Command Line Tools - [[nrf5x-sdk-dat]]
29
+
30
+- [[Python-IntelHex-dat]] - [[python-dat]]
31
+
32
+
33
+
34
+## ref
35
+
36
+- [[nrf5x-sdk-dat]]
... ...
\ No newline at end of file
SDK-dat/arm-compiler-dat/2025-08-19-14-32-16.png
... ...
Binary files a/SDK-dat/arm-compiler-dat/2025-08-19-14-32-16.png and /dev/null differ
SDK-dat/arm-compiler-dat/arm-compiler-dat.md
... ...
@@ -1,68 +0,0 @@
1
-# ARM Cross-Compiler Installation Tutorial
2
-
3
-This guide will walk you through installing the ARM cross-compiler toolchain (version 7.2.1 as an example), configuring your environment, and testing the installation.
4
-
5
-## 1. Download the Toolchain
6
-You can download version 7.2.1 or choose another version as needed:
7
-
8
- wget http://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
9
-
10
-
11
-## 2. Extract the Archive
12
-
13
- tar -vxJf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
14
-
15
-
16
-## 3. Move the Toolchain to /opt
17
-
18
- sudo cp -r ./gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi /opt/
19
-
20
-
21
-## 4. Add Toolchain to PATH
22
-
23
-Edit `/etc/bash.bashrc` and add the following line at the end:
24
-
25
- nano /etc/bash.bashrc
26
- PATH="$PATH:/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin"
27
-
28
-
29
-## 5. Reload Environment Variables
30
-
31
- source /etc/bash.bashrc
32
-
33
-
34
-## 6. Test the Installation
35
-Run the following command to verify the compiler is available:
36
-
37
- arm-linux-gnueabi-gcc -v
38
-
39
-If you encounter issues as a regular user, try switching to the root user with `sudo su` and test again.
40
-
41
- Using built-in specs.
42
- COLLECT_GCC=arm-linux-gnueabi-gcc
43
- COLLECT_LTO_WRAPPER=/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin/../libexec/gcc/arm-linux-gnueabi/7.2.1/lto-wrapper
44
- Target: arm-linux-gnueabi
45
- Configured with: '/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/snapshots/gcc.git~linaro-7.2-2017.11/configure' SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-shared --without-included-gettext --enable-nls --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --with-float=soft --with-mode=thumb --with-tune=cortex-a9 --with-arch=armv7-a --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --enable-gnu-indirect-function --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/sysroots/arm-linux-gnueabi --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabi/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabi --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu
46
- Thread model: posix
47
- gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)
48
-
49
-
50
-
51
-## setup for uboot
52
-
53
-在上章节中,我们已经配置好了交叉编译器arm-linux-gnueabi,我们只需要修改U-Boot的Makefile,添加以下内容就可以配置好交叉编译环境:
54
-
55
-ARCH ?= arm
56
-
57
-CROSS_COMPILE ?= arm-linux-gnueabi-
58
-
59
-ARCH CROSS_COMPLIE为编译中使用到的架构和编译器,?=指的是如果变量已经被指定则不使用此处提供的变量,修改完的文件可参考下方截图:
60
-
61
-![](2025-08-19-14-32-16.png)
62
-
63
-图4.x U-Boot编译器的设置
64
-
65
-
66
-## ref
67
-
68
-- [[ubuntu-dat]]
... ...
\ No newline at end of file
SDK-dat/python-dat/python-dat.md
... ...
@@ -2,6 +2,15 @@
2 2
# python-dat.md
3 3
4 4
5
+
6
+- [[Python-IntelHex-dat]]
7
+
8
+https://pypi.org/project/IntelHex/
9
+
10
+
11
+
12
+
13
+
5 14
## install
6 15
7 16
windows
Tech-dat/Sensor-dat/sensor-motion-dat/3-Axis-Magnetic-dat/3-Axis-Magnetic-dat.md
... ...
@@ -5,7 +5,7 @@
5 5
6 6
- [[HMC5983-dat]] - [[HMC5883-dat]] - [[honeywell-dat]]
7 7
8
-- [[bosch-dat]] - [[BMM350-dat]]
8
+- [[bosch-dat]] - [[BMM350-dat]] - [[BMM150-dat]]
9 9
10 10
- [[I2C-dat]]
11 11
Tech-dat/Sensor-dat/sensor-motion-dat/6-axis-dat/6-axis-dat.md
... ...
@@ -33,7 +33,7 @@ Accelerometer + Gyroscope == Inertial Measurement Unit
33 33
34 34
- [[bosch-dat]]
35 35
36
-- [[MPU6500-dat]] - [[MPU6050-dat]] - [[invensense-dat]]
36
+- [[MPU6886-dat]] - [[MPU6500-dat]] - [[MPU6050-dat]] - [[invensense-dat]]
37 37
38 38
- [[MPU9250-dat]]
39 39
Tech-dat/Sensor-dat/sensor-power-dat/sensor-current-dat/dc-current-sensor-dat/dc-current-sensor-dat.md
... ...
@@ -1,21 +0,0 @@
1
-
2
-# dc-current-sensor-dat
3
-
4
-- [[TI-sensor-dat]] - [[Allegro-DAT]]
5
-
6
-
7
-- [[MAX471-dat]] == Precision, High-Side, Current-Sense Amplifiers
8
-
9
-- [[INA169-dat]]
10
-
11
-- [[INA226-dat]]
12
-
13
-- [[INA219-dat]]
14
-
15
-Genuine INA199B1DCKR SC-70-6 Bidirectional Current Sensing Amplifier Chip
16
-
17
-- INA181
18
-
19
-## ref
20
-
21
-- [[current-sensor-dat]]
... ...
\ No newline at end of file
Tech-dat/Sensor-dat/sensor-power-dat/sensor-current-dat/sensor-dc-current-dat/sensor-dc-current-dat.md
... ...
@@ -0,0 +1,21 @@
1
+
2
+# dc-current-sensor-dat
3
+
4
+- [[TI-sensor-dat]] - [[Allegro-DAT]]
5
+
6
+
7
+- [[MAX471-dat]] == Precision, High-Side, Current-Sense Amplifiers
8
+
9
+- [[INA169-dat]]
10
+
11
+- [[INA226-dat]]
12
+
13
+- [[INA219-dat]]
14
+
15
+Genuine INA199B1DCKR SC-70-6 Bidirectional Current Sensing Amplifier Chip
16
+
17
+- INA181
18
+
19
+## ref
20
+
21
+- [[current-sensor-dat]]
... ...
\ No newline at end of file
Tech-dat/Sensor-dat/sensor-power-dat/sensor-voltage-dat/sensor-dc-voltage-dat/sensor-dc-voltage-dat.md
... ...
@@ -8,6 +8,10 @@
8 8
9 9
- [[sensot-dat]]
10 10
11
+
12
+
13
+
14
+
11 15
## ref
12 16
13 17
- [[sensor-voltage-dat]]
Tech-dat/Sensor-dat/sensor-power-dat/sensor-voltage-dat/sensor-voltage-dat.md
... ...
@@ -3,7 +3,10 @@
3 3
4 4
- [[ac-voltage-transformer-dat]]
5 5
6
-- [[dc-voltage-transformer-dat]] - [[sensor-dc-voltage-dat]]
6
+- [[dc-voltage-transformer-dat]]
7
+
8
+- [[sensor-dc-voltage-dat]]
9
+
7 10
8 11
- [[TI-sensor-dat]]
9 12