添加README进行补充使用
This commit is contained in:
parent
10c9e8002e
commit
7e2f1c7914
|
|
@ -0,0 +1,137 @@
|
||||||
|
# RP2350
|
||||||
|
|
||||||
|
## 前提:
|
||||||
|
|
||||||
|
### 编译基础:
|
||||||
|
|
||||||
|
`apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential git python3 libstdc++-arm-none-eabi-newlib -y `
|
||||||
|
|
||||||
|
### 获取Pico SDK
|
||||||
|
|
||||||
|
`git clone -b master https://github.com/raspberrypi/pico-sdk.git`
|
||||||
|
|
||||||
|
`git submodule update --init`
|
||||||
|
|
||||||
|
`export PICO_SDK_PATH=~/pico/pico-sdk`
|
||||||
|
|
||||||
|
### 获取本项目源码:
|
||||||
|
|
||||||
|
`git clone http://192.168.201.136:3000/jb/spmkey.git`
|
||||||
|
|
||||||
|
`git submodule update --init --recursive`
|
||||||
|
|
||||||
|
|
||||||
|
本项目优先使用:微雪RP2350-USB-A(GPIO 16 连接 WS2812B RGB LED,已加入支持ws2812B,其他的自救)
|
||||||
|
|
||||||
|
注意:26年以前的微雪RP2350是A2版本,存在安全漏洞,建议考虑:A4版
|
||||||
|
|
||||||
|
移植来自微雪RB2350 RGB例程,出bug,自救
|
||||||
|
|
||||||
|
|
||||||
|
## fido-pico2支持的模拟PID/VID
|
||||||
|
|
||||||
|
| 平台名称 (VIDPID 参数) | VID (厂商 ID) | PID (产品 ID) | 说明 |
|
||||||
|
|----|----|----|----|
|
||||||
|
| **NitroHSM** | `0x20A0` | `0x4230` | Nitrokey HSM |
|
||||||
|
| **NitroFIDO2** | `0x20A0` | `0x42B1` | Nitrokey FIDO2 |
|
||||||
|
| **NitroStart** | `0x20A0` | `0x4211` | Nitrokey Start |
|
||||||
|
| **NitroPro** | `0x20A0` | `0x4108` | Nitrokey Pro |
|
||||||
|
| **Nitro3** | `0x20A0` | `0x42B2` | Nitrokey 3 |
|
||||||
|
| **Yubikey5** | `0x1050` | `0x0407` | Yubico YubiKey 5 |
|
||||||
|
| **YubikeyNeo** | `0x1050` | `0x0116` | Yubico YubiKey NEO |
|
||||||
|
| **YubiHSM** | `0x1050` | `0x0030` | Yubico YubiHSM |
|
||||||
|
| **Gnuk** | `0x234B` | `0x0000` | Gnuk Token |
|
||||||
|
| **GnuPG** | `0x1209` | `0x2440` | GnuPG Smartcard |
|
||||||
|
|
||||||
|
默认值:VID是:0xFEFF,PID:0xFCFD
|
||||||
|
|
||||||
|
参考文件:pico-fido2/pico-keys-sdk/pico_keys_sdk_import.cmake
|
||||||
|
|
||||||
|
cmake 参数:`cmake .. -DVIDPID=Yubikey5`或者 `cmake .. -DVIDPID=NitroFIDO2`
|
||||||
|
|
||||||
|
|
||||||
|
## pico-fido2其他参数
|
||||||
|
|
||||||
|
一键查看参数:grep -n "Pico Key|picokeys|PRODUCT|string_desc"
|
||||||
|
|
||||||
|
参考文件:
|
||||||
|
|
||||||
|
pico-fido2/pico-keys-sdk/src/usb/usb_descriptors.c
|
||||||
|
|
||||||
|
pico-fido2/pico-keys-sdk/src/led/led_ws2812.c
|
||||||
|
|
||||||
|
main 文件:pico-keys-sdk/src/main.c
|
||||||
|
|
||||||
|
已经微调加入参数:
|
||||||
|
|
||||||
|
| CMake参数 | 类型 | 示例 | 作用 |
|
||||||
|
|----|----|----|----|
|
||||||
|
| `-DUSB_MANUFACTURER` | 字符串 | `'"SPM-A2"'` | 设备名称 |
|
||||||
|
| `-DVIDPID` | 字符串 | `'"Yubico"'` | 制造商PID/VID |
|
||||||
|
| `-LED_BRIGHTNESS_DIV` | 数字 | `20(对应下方5%) ` | LED亮度(越大越暗) |
|
||||||
|
|
||||||
|
亮度值说明
|
||||||
|
|
||||||
|
参考CMake编译命令:
|
||||||
|
|
||||||
|
`cmake -DUSB_PRODUCT='"YubiKey-Alice"' \ -DUSB_MANUFACTURER='"Yubico"' \ -DUSB_LANDING_URL='"www.baidu.com"' \ -DLED_BRIGHTNESS_DIVISOR=20 \`
|
||||||
|
|
||||||
|
|
||||||
|
## 亮度参考表
|
||||||
|
|
||||||
|
| LED_BRIGHTNESS_DIV | 实际亮度 | 效果 |
|
||||||
|
|----|----|----|
|
||||||
|
| 1 | 100% | 非常亮 |
|
||||||
|
| 2 | 50% | 很亮 |
|
||||||
|
| 5 | 20% | 适中 |
|
||||||
|
| 10 | 10% | 较暗 |
|
||||||
|
| 20 | 5% | **默认**,暗,仍可见 |
|
||||||
|
| 50 | 2% | 最暗(自动限制) |
|
||||||
|
| >50 | 2% | 自动限制为最小 |
|
||||||
|
|
||||||
|
|
||||||
|
### 启用WS2812B(默认已配置)
|
||||||
|
|
||||||
|
LED 配置(主CMakeLists.txt)启用ws2812
|
||||||
|
|
||||||
|
编辑文件:pico-fido2/CMakeLists.txt
|
||||||
|
|
||||||
|
endif(ENABLE_OTP_APP)下方加入
|
||||||
|
|
||||||
|
#### WS2812 LED 配置
|
||||||
|
|
||||||
|
add_definitions(-DPICO_DEFAULT_WS2812_PIN=16)
|
||||||
|
|
||||||
|
message(STATUS "WS2812 LED Pin: \\t\\t 16")
|
||||||
|
|
||||||
|
#### 验证:
|
||||||
|
|
||||||
|
cmake 输出显示:-- WS2812 LED Pin: 16
|
||||||
|
|
||||||
|
|
||||||
|
## 编译
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
PICO_SDK_PATH=~/pico/pico-sdk cmake .. \
|
||||||
|
-DPICO_BOARD=pico2 \
|
||||||
|
-DVIDPID=Yubikey5 \
|
||||||
|
-DUSB_MANUFACTURER="Yubico" \
|
||||||
|
-DUSB_PRODUCT_NAME="SPM-A2" \
|
||||||
|
-DLED_BRIGHTNESS_DIV=20
|
||||||
|
|
||||||
|
make -j$(nproc)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
注意:每次重新编译建议把build文件清空
|
||||||
|
|
||||||
|
|
||||||
|
## 刷机
|
||||||
|
|
||||||
|
长按BOOT接电,把uf2文件复制到RP2350分区即可(自动重启)
|
||||||
|
|
||||||
|
|
||||||
|
备注支持查看本仓库的SupportList.md文件
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue