https://github.com/Chimipupu/rp2xxx_dev
RP2040 & RP2350 x2CPU & FreeRTOS C++ F/W Development by Chimi(ちみ)
https://github.com/Chimipupu/rp2xxx_dev
cpp embedded mcu rp2040
Last synced: over 1 year ago
JSON representation
RP2040 & RP2350 x2CPU & 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 (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-07T11:52:01.000Z (over 1 year ago)
- Last Synced: 2025-03-23T09:35:13.828Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 82.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評価プログラム by ちみ
RP2040評価プログラムのF/W 個人開発リポジトリ🥳
- 📍CPU ... RP2040
- 📍CPU0 ... ARM Cortex-M0+
- 📍CPU1 ... ARM Cortex-M0+
- 📍OS ... FreeRTOS
- 📍CPU0 ... ✅FreeRTOSを搭載済み
- 📍CPU1 ... ✅FreeRTOSを搭載済み
## 開発環境構築
- [RP2040 開発環境構築(Windows)](doc/rp2040_dev_env.md)
## ✅実装機能
- 📍CPU (ARM Cortex-M0+)(clk_sys = 133MHz)
- 📍Core0 ... ドライバCPU
- 📍OS ... FreeRTOS
- ✅ボタンタスク
- ボタン処理
- ボタン単押し ... TODO
- ボタン複数押し判定 ... TODO
- ボタン長押し判定 ... TODO
- ボタン超長押し判定 ... TODO
- ✅LEDタスク
- LEDのアプリ処理
- ✅Neopixcelタスク
- Neopixcelのアプリ処理
- 📍Core1 ... アプリCPU
- 📍OS ... FreeRTOS
- ✅モニタプログラムタスク
- ✅レジスタ
- M0PLUS CPUIDレジスタ、SIOレジスタのRead
- ✅計算
- マンデルブロ集合、円周率π、自然数の底e、黄金比、フィボナッチ数列、高速逆平方根
- 📍割込み(IRQ)
- ✅ボタンIRQ (@GPIO24)
- ✅`ボタン単押し判定` ... ボタン一回押しを検知
- ✅`ボタン複数押し判定` ... 短時間に複数回ボタン押しを検知
- ✅`ボタン長押し判定` ... ボタン長押しを検知(1000ms = 1s)
- ✅`ボタン超長押し判定` ... ボタン長押しを検知(3000ms = 2s)
- ✅タイマーIRQ⏰(clk_ref = 12MHz)
- ✅アラーム 0 ⏰(TIMER_IRQ_0) ... TODO
- ✅アラーム 1 ⏰(TIMER_IRQ_1) ... TODO
- ✅アラーム 2 ⏰(TIMER_IRQ_2) ... TODO
- ✅アラーム 3 ⏰(TIMER_IRQ_3) ... TODO
## TBD
- ARM Cortex-M0+
- ADC & DMA ... ADCをDMAでとりたい
- アプリ追加 ... I2C、SPI、PIO、スリープ機能
- PIO
- GPIO ... PIOにGPIO任せる
- VGA ... モニターに描画したい
- SDIO ... SDカード
## 開発基板
## VCC GND YD-RP2040
CPUに ARM Cortex-M0+を2つ搭載のRP2040の開発基板🥳

- YD-RP2040
- 📍NeoPixel ... GPIO23
- 📍ボタン ... GPIO24
- 📍LED ... GPIO25
- 📍MCU(マイコン) ... RP2040
- 📍CPU ... ARM Cortex-M0+ x2コア
- 📍プロセス ... 40nm
- 📍クロック ... 133MHz
- 📍ROM ... 2MB、4MB、8MB、16MB
- 📍SRAM ... 264KB
- 📍FPU ... 単精度
- 📍UART ... x2ch
- 📍SPI ... x2ch
- 📍I2C ... x2ch
- 📍ADC ... 12bit SAR x4ch
- 📍GPIO ... 30本
- 📍PWM ... 16本
- 📍タイマー(64bit) ... アラーム x4 (IRQ生成)
- 📍RTC
- 📍WDT
- 📍PIO ... x8基
## 参考文献
[RP2040のメーカーHP](https://www.raspberrypi.com/products/rp2040/)
[RP2040のメーカー公式ドキュメントHP](https://www.raspberrypi.com/documentation/microcontrollers/silicon.html)
[データシート(RP2040)](https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf)