summaryrefslogtreecommitdiff
path: root/bsp/raspberry-pico
diff options
context:
space:
mode:
authorthread-liu <[email protected]>2021-02-02 14:32:44 +0800
committerthread-liu <[email protected]>2021-02-02 17:38:19 +0800
commit00841bb0f5aa8675cdf3ad25efac56db70460b45 (patch)
tree45d1dcaa8415762271d9e0198bceea65fed74ce6 /bsp/raspberry-pico
parent59f320783f120a6ba8f330192c0bbedaaf9ad4d6 (diff)
[add] raspberry-pico elf2uf2.exe
Diffstat (limited to 'bsp/raspberry-pico')
-rw-r--r--bsp/raspberry-pico/README.md10
-rw-r--r--bsp/raspberry-pico/figures/elf2uf2.pngbin0 -> 35658 bytes
-rw-r--r--bsp/raspberry-pico/libraries/generated/elf2uf2.exebin0 -> 498426 bytes
-rw-r--r--bsp/raspberry-pico/rtconfig.py7
4 files changed, 11 insertions, 6 deletions
diff --git a/bsp/raspberry-pico/README.md b/bsp/raspberry-pico/README.md
index a06ca393d1..c238850b9b 100644
--- a/bsp/raspberry-pico/README.md
+++ b/bsp/raspberry-pico/README.md
@@ -33,7 +33,7 @@ Support GCC 6 and above compilers.
### Step 1: build
-```
+```bash
scons -c
scons
```
@@ -42,11 +42,9 @@ scons
### Step 2: flash
-Run the following command in the linux environment.
+scons generates a UF2 file:
-```
-./libraries/generated/elf2uf2 rtthread-pico.elf rtthread-pico.uf2
-```
+![elf2uf2](figures/elf2uf2.png)
- Copy the rtthread-pico.uf2 file to the "RPI-RP2" disk
- Then led blink.
@@ -55,7 +53,7 @@ Run the following command in the linux environment.
The output information on serial port should be like this:
-```
+```bash
\ | /
- RT - Thread Operating System
/ | \ 4.0.3 build Jan 28 2021
diff --git a/bsp/raspberry-pico/figures/elf2uf2.png b/bsp/raspberry-pico/figures/elf2uf2.png
new file mode 100644
index 0000000000..eeb53c5a68
--- /dev/null
+++ b/bsp/raspberry-pico/figures/elf2uf2.png
Binary files differ
diff --git a/bsp/raspberry-pico/libraries/generated/elf2uf2.exe b/bsp/raspberry-pico/libraries/generated/elf2uf2.exe
new file mode 100644
index 0000000000..49fcefb33a
--- /dev/null
+++ b/bsp/raspberry-pico/libraries/generated/elf2uf2.exe
Binary files differ
diff --git a/bsp/raspberry-pico/rtconfig.py b/bsp/raspberry-pico/rtconfig.py
index 64aeed3389..3ce354b9ca 100644
--- a/bsp/raspberry-pico/rtconfig.py
+++ b/bsp/raspberry-pico/rtconfig.py
@@ -1,4 +1,5 @@
import os
+import sys
# toolchains options
ARCH='arm'
@@ -64,3 +65,9 @@ if PLATFORM == 'gcc':
CXXFLAGS = CFLAGS #+ ' -Wl,--build-id=none --specs=nosys.specs -Wl,--wrap=sprintf -Wl,--wrap=snprintf -Wl,--wrap=vsnprintf -Wl,--wrap=__clzsi2 -Wl,--wrap=__clzdi2 -Wl,--wrap=__ctzsi2 -Wl,--wrap=__ctzdi2 -Wl,--wrap=__popcountsi2 -Wl,--wrap=__popcountdi2 -Wl,--wrap=__clz -Wl,--wrap=__clzl -Wl,--wrap=__clzll -Wl,--wrap=__aeabi_idiv -Wl,--wrap=__aeabi_idivmod -Wl,--wrap=__aeabi_ldivmod -Wl,--wrap=__aeabi_uidiv -Wl,--wrap=__aeabi_uidivmod -Wl,--wrap=__aeabi_uldivmod -Wl,--wrap=__aeabi_dadd -Wl,--wrap=__aeabi_ddiv -Wl,--wrap=__aeabi_dmul -Wl,--wrap=__aeabi_drsub -Wl,--wrap=__aeabi_dsub -Wl,--wrap=__aeabi_cdcmpeq -Wl,--wrap=__aeabi_cdrcmple -Wl,--wrap=__aeabi_cdcmple -Wl,--wrap=__aeabi_dcmpeq -Wl,--wrap=__aeabi_dcmplt -Wl,--wrap=__aeabi_dcmple -Wl,--wrap=__aeabi_dcmpge -Wl,--wrap=__aeabi_dcmpgt -Wl,--wrap=__aeabi_dcmpun -Wl,--wrap=__aeabi_i2d -Wl,--wrap=__aeabi_l2d -Wl,--wrap=__aeabi_ui2d -Wl,--wrap=__aeabi_ul2d -Wl,--wrap=__aeabi_d2iz -Wl,--wrap=__aeabi_d2lz -Wl,--wrap=__aeabi_d2uiz -Wl,--wrap=__aeabi_d2ulz -Wl,--wrap=__aeabi_d2f -Wl,--wrap=sqrt -Wl,--wrap=cos -Wl,--wrap=sin -Wl,--wrap=tan -Wl,--wrap=atan2 -Wl,--wrap=exp -Wl,--wrap=log -Wl,--wrap=ldexp -Wl,--wrap=copysign -Wl,--wrap=trunc -Wl,--wrap=floor -Wl,--wrap=ceil -Wl,--wrap=round -Wl,--wrap=sincos -Wl,--wrap=asin -Wl,--wrap=acos -Wl,--wrap=atan -Wl,--wrap=sinh -Wl,--wrap=cosh -Wl,--wrap=tanh -Wl,--wrap=asinh -Wl,--wrap=acosh -Wl,--wrap=atanh -Wl,--wrap=exp2 -Wl,--wrap=log2 -Wl,--wrap=exp10 -Wl,--wrap=log10 -Wl,--wrap=pow -Wl,--wrap=powint -Wl,--wrap=hypot -Wl,--wrap=cbrt -Wl,--wrap=fmod -Wl,--wrap=drem -Wl,--wrap=remainder -Wl,--wrap=remquo -Wl,--wrap=expm1 -Wl,--wrap=log1p -Wl,--wrap=fma -Wl,--wrap=__aeabi_lmul -Wl,--wrap=__aeabi_fadd -Wl,--wrap=__aeabi_fdiv -Wl,--wrap=__aeabi_fmul -Wl,--wrap=__aeabi_frsub -Wl,--wrap=__aeabi_fsub -Wl,--wrap=__aeabi_cfcmpeq -Wl,--wrap=__aeabi_cfrcmple -Wl,--wrap=__aeabi_cfcmple -Wl,--wrap=__aeabi_fcmpeq -Wl,--wrap=__aeabi_fcmplt -Wl,--wrap=__aeabi_fcmple -Wl,--wrap=__aeabi_fcmpge -Wl,--wrap=__aeabi_fcmpgt -Wl,--wrap=__aeabi_fcmpun -Wl,--wrap=__aeabi_i2f -Wl,--wrap=__aeabi_l2f -Wl,--wrap=__aeabi_ui2f -Wl,--wrap=__aeabi_ul2f -Wl,--wrap=__aeabi_f2iz -Wl,--wrap=__aeabi_f2lz -Wl,--wrap=__aeabi_f2uiz -Wl,--wrap=__aeabi_f2ulz -Wl,--wrap=__aeabi_f2d -Wl,--wrap=sqrtf -Wl,--wrap=cosf -Wl,--wrap=sinf -Wl,--wrap=tanf -Wl,--wrap=atan2f -Wl,--wrap=expf -Wl,--wrap=logf -Wl,--wrap=ldexpf -Wl,--wrap=copysignf -Wl,--wrap=truncf -Wl,--wrap=floorf -Wl,--wrap=ceilf -Wl,--wrap=roundf -Wl,--wrap=sincosf -Wl,--wrap=asinf -Wl,--wrap=acosf -Wl,--wrap=atanf -Wl,--wrap=sinhf -Wl,--wrap=coshf -Wl,--wrap=tanhf -Wl,--wrap=asinhf -Wl,--wrap=acoshf -Wl,--wrap=atanhf -Wl,--wrap=exp2f -Wl,--wrap=log2f -Wl,--wrap=exp10f -Wl,--wrap=log10f -Wl,--wrap=powf -Wl,--wrap=powintf -Wl,--wrap=hypotf -Wl,--wrap=cbrtf -Wl,--wrap=fmodf -Wl,--wrap=dremf -Wl,--wrap=remainderf -Wl,--wrap=remquof -Wl,--wrap=expm1f -Wl,--wrap=log1pf -Wl,--wrap=fmaf -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=free -Wl,--wrap=memcpy -Wl,--wrap=memset -Wl,--wrap=__aeabi_memcpy -Wl,--wrap=__aeabi_memset -Wl,--wrap=__aeabi_memcpy4 -Wl,--wrap=__aeabi_memset4 -Wl,--wrap=__aeabi_memcpy8 -Wl,--wrap=__aeabi_memset8 -Wl,--gc-sections -Wl,--wrap=printf -Wl,--wrap=vprintf -Wl,--wrap=puts -Wl,--wrap=putchar'
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
+ if "linux" in sys.platform:
+ elf2uf2_path = os.path.join(os.getcwd(), "libraries", "generated", "elf2uf2")
+ os.system("chmod +x {0}".format(elf2uf2_path))
+ else:
+ elf2uf2_path = os.path.join(os.getcwd(), "libraries", "generated", "elf2uf2.exe")
+ POST_ACTION += "{0} rtthread-pico.elf rtthread-pico.uf2".format(elf2uf2_path)