Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chimipupu/rp2xxx_dev
RP2040 & RP2350 Dual Core CPU & FreeRTOS C++ F/W Development by Chimi(ちみ)
https://github.com/chimipupu/rp2xxx_dev
Last synced: 26 days ago
JSON representation
RP2040 & RP2350 Dual Core CPU & FreeRTOS C++ F/W Development by Chimi(ちみ)
- Host: GitHub
- URL: https://github.com/chimipupu/rp2xxx_dev
- Owner: Chimipupu
- License: mit
- Created: 2024-10-14T06:56:54.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-27T00:05:45.000Z (29 days ago)
- Last Synced: 2024-11-27T00:25:20.169Z (29 days ago)
- Language: C++
- Homepage:
- Size: 78.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📍RP2040 & RP2350 評価F/W
## Ver1.0.3
- 📍CPU ... [RP2040🔗](https://www.raspberrypi.com/products/rp2040/)
- 📍CPU0 ... [ARM Cortex-M0+🔗](https://www.arm.com/ja/products/silicon-ip-cpu/cortex-m/cortex-m0-plus)
- 📍CPU1 ... [ARM Cortex-M0+🔗](https://www.arm.com/ja/products/silicon-ip-cpu/cortex-m/cortex-m0-plus)
- 📍CPU ... [RP2350🔗](https://www.raspberrypi.com/products/rp2350/)
- 📍CPU0 ... [ARM Cortex-M33🔗](https://www.arm.com/ja/products/silicon-ip-cpu/cortex-m/cortex-m33)
- 📍CPU1 ... [ARM Cortex-M33🔗](https://www.arm.com/ja/products/silicon-ip-cpu/cortex-m/cortex-m33)- 📍OS ... [FreeRTOS🔗](https://www.freertos.org/)
- 📍CPU0 ... ✅FreeRTOS (搭載済み)
- 📍CPU1 ... ✅FreeRTOS (搭載済み)- 📍センサ
- 📍[BME280🔗](https://www.bosch-sensortec.com/products/environmental-sensors/humidity-sensors-bme280/) (湿度、温度、気圧センサ)
- 📍[DS3231🔗](https://www.bosch-sensortec.com/products/environmental-sensors/humidity-sensors-bme280/) (RTC⏰️)
## 📍開発環境
- 📍IDE
- 📍[Arduino IDE v2.33🔗](https://github.com/arduino/arduino-ide/releases/tag/2.3.3)
- 📍[Raspberry Pi Pico/RP2040/RP2350 by Earle F. Philhower, III🔗](https://github.com/earlephilhower/arduino-pico)- 📍基板
- 📍RP2040
- 📍[Raspberry Pi Pico🔗](https://www.raspberrypi.com/products/raspberry-pi-pico/)
- 📍[Raspberry Pi Pico W🔗](https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html#raspberry-pi-pico-w)
- 📍[VCC-GND YD-RP2040🔗](https://www.aliexpress.us/item/1005004004120604.html?gatewayAdapt=4itemAdapt)
- 📍[XIAO RP2040🔗](https://wiki.seeedstudio.com/XIAO-RP2040/)
- 📍RP2350
- 📍[Raspberry Pi Pico 2🔗](https://www.raspberrypi.com/products/raspberry-pi-pico-2/)- 📍拡張基板
- 📍[Pimoroni Pico VGA Demo Base🔗](https://shop.pimoroni.com/products/pimoroni-pico-vga-demo-base)
- 📍[XIAO Expansion Board🔗](https://wiki.seeedstudio.com/Seeeduino-XIAO-Expansion-Board/)## 📍実装機能
**凡例(✅実装&テスト完了、🆗実装済み、🚩TODO、❌TBD)**
### OS(FreeRTOS)
- 📍CPU
- 📍Core0 ... ドライバCPU
- 📍OS ... FreeRTOS
- ✅Core0メインタスク
- 🚩TODO
- ✅センサータスク
- ✅BME280から湿度、温度、気圧を取得
- ✅Bluetoothタスク📶
- ✅Bluetoothシリアル
- ✅ボタンタスク
- 🚩ボタン処理
- 🚩ボタン単押し ... TODO
- 🚩ボタン複数押し判定 ... TODO
- 🚩ボタン長押し判定 ... TODO
- 🚩ボタン超長押し判定 ... TODO
- 📍Core1 ... アプリCPU
- 📍OS ... FreeRTOS
- ✅Core1メインタスク
- 🚩TODO
- ✅センサータスク
- ✅BME280 湿度、温度、気圧センサ (@I2C)
- ✅OLEDタスク
- 英語、日本語、科学計算の結果をOLEDに表示(@I2C)
- ✅モニタプログラムタスク(@USBシリアル)
- ✅RTCのR/W
- ✅S/Wリセット
- ✅計算アプリ
- マンデルブロ集合、円周率π、自然数の底e、黄金比、フィボナッチ数列、高速逆平方根
- ✅システムレジスタ表示
- SYSINFO/M0PLUS or M33/SIOのCPUIDレジスタRead
- ✅SDカードのR/W(@SPI)
- ✅ベンチマークテスト
- ✅四則演算(整数、浮動小数 float & double)
- ✅sin, cos, tan, atan2, sqrt
- ✅メモリ, GPIOトグル
### ペリフェラル- 📍I2C
- ✅(センサー)BME280から湿度、温度、気圧を取得
- ✅(RTC)DS3231からRTCの時刻をR/W- 📍SPI
- ✅SDカードのR/W、ディレクトリ表示- 📍RGB LED (NeoPixel)
- ✅赤🔴 : 初期化中、オフライン状態(WiFi,Bluetooth未接続)
- ✅青🔵 : オンライン状態(WiFi,Bluetooth接続中)
- ✅緑🟢 : F/W正常(FreeRTOSで処理中)
- ✅白⚪ : F/W正常(FreeRTOSはアイドル状態)
- ✅紫🟣 : F/Wエラー- 📍割込み(IRQ)
- ✅タイマーIRQ⏰
- ✅アラーム 0 ⏰(TIMER_IRQ_0) ... 1ms周期
- ✅アラーム 1 ⏰(TIMER_IRQ_1) ... 8ms周期
- ✅LEDのPWM(フェード)
- ✅アラーム 2 ⏰(TIMER_IRQ_2) ... 20ms周期
- ✅アラーム 3 ⏰(TIMER_IRQ_3) ... 1000ms周期
- ✅ボタンIRQ (@GPIO24)
- ✅ `ボタン単押し判定` ... ボタン一回押しを検知
- ✅ `ボタン複数押し判定` ... 短時間に複数回ボタン押しを検知
- ✅ `ボタン長押し判定` ... `ボタン長押し`= 1000ms = 1s
- ✅ `ボタン超長押し判定` ... `ボタン長押し` = 3000ms = 3s### PIO
- 📍PIO0
- ✅SM0
- GPIOを独立してトグル
- 🚩SM1
- 🚩SM2
- 🚩SM3
- 📍PIO1
- 🚩SM0
- 🚩SM1
- 🚩SM2
- 🚩SM3
- 📍PIO2(※RP2350)
- 🚩SM0
- 🚩SM1
- 🚩SM2
- 🚩SM3