{"id":18683284,"url":"https://github.com/Chimipupu/rp2xxx_dev","last_synced_at":"2025-04-12T04:31:33.234Z","repository":{"id":258019018,"uuid":"872279608","full_name":"Chimipupu/rp2xxx_dev","owner":"Chimipupu","description":"RP2040 \u0026 RP2350 x2CPU \u0026 FreeRTOS C++ F/W  Development by Chimi（ちみ）","archived":false,"fork":false,"pushed_at":"2024-12-07T11:52:01.000Z","size":86343,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T09:35:13.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Chimipupu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-14T06:56:54.000Z","updated_at":"2024-12-12T14:41:47.000Z","dependencies_parsed_at":"2025-03-23T09:44:31.360Z","dependency_job_id":null,"html_url":"https://github.com/Chimipupu/rp2xxx_dev","commit_stats":null,"previous_names":["chimipupu/rp2040_dev","chimipupu/rp2xxx_dev"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chimipupu%2Frp2xxx_dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chimipupu%2Frp2xxx_dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chimipupu%2Frp2xxx_dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chimipupu%2Frp2xxx_dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chimipupu","download_url":"https://codeload.github.com/Chimipupu/rp2xxx_dev/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248517157,"owners_count":21117399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","embedded","mcu","rp2040"],"created_at":"2024-11-07T10:14:13.697Z","updated_at":"2025-04-12T04:31:28.218Z","avatar_url":"https://github.com/Chimipupu.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RP2040評価プログラム by ちみ\r\nRP2040評価プログラムのF/W 個人開発リポジトリ🥳\r\n\r\n- 📍CPU ... RP2040\r\n  - 📍CPU0 ... ARM Cortex-M0+\r\n  - 📍CPU1 ... ARM Cortex-M0+\r\n- 📍OS ... FreeRTOS\r\n  - 📍CPU0 ... ✅FreeRTOSを搭載済み\r\n  - 📍CPU1 ... ✅FreeRTOSを搭載済み\r\n\r\n## 開発環境構築\r\n- [RP2040 開発環境構築(Windows)](doc/rp2040_dev_env.md)\r\n\r\n## ✅実装機能\r\n- 📍CPU (ARM Cortex-M0+)(clk_sys = 133MHz)\r\n  - 📍Core0 ... ドライバCPU\r\n    - 📍OS ... FreeRTOS\r\n      - ✅ボタンタスク\r\n        - ボタン処理\r\n          - ボタン単押し ... TODO\r\n          - ボタン複数押し判定 ... TODO\r\n          - ボタン長押し判定 ... TODO\r\n          - ボタン超長押し判定 ... TODO\r\n      - ✅LEDタスク\r\n        - LEDのアプリ処理\r\n      - ✅Neopixcelタスク\r\n        - Neopixcelのアプリ処理\r\n  - 📍Core1 ... アプリCPU\r\n    - 📍OS ... FreeRTOS\r\n      - ✅モニタプログラムタスク\r\n        - ✅レジスタ\r\n          - M0PLUS CPUIDレジスタ、SIOレジスタのRead\r\n        - ✅計算\r\n          - マンデルブロ集合、円周率π、自然数の底e、黄金比、フィボナッチ数列、高速逆平方根\r\n\r\n- 📍割込み(IRQ)\r\n    - ✅ボタンIRQ (@GPIO24)\r\n      - ✅`ボタン単押し判定` ... ボタン一回押しを検知\r\n      - ✅`ボタン複数押し判定` ... 短時間に複数回ボタン押しを検知\r\n      - ✅`ボタン長押し判定` ... ボタン長押しを検知（1000ms = 1s）\r\n      - ✅`ボタン超長押し判定` ... ボタン長押しを検知（3000ms = 2s）\r\n  - ✅タイマーIRQ⏰(clk_ref = 12MHz)\r\n    - ✅アラーム 0 ⏰(TIMER_IRQ_0) ... TODO\r\n    - ✅アラーム 1 ⏰(TIMER_IRQ_1) ... TODO\r\n    - ✅アラーム 2 ⏰(TIMER_IRQ_2) ... TODO\r\n    - ✅アラーム 3 ⏰(TIMER_IRQ_3) ... TODO\r\n\r\n## TBD\r\n- ARM Cortex-M0+\r\n  - ADC \u0026 DMA ... ADCをDMAでとりたい\r\n  - アプリ追加 ... I2C、SPI、PIO、スリープ機能\r\n\r\n- PIO\r\n  - GPIO ... PIOにGPIO任せる\r\n  - VGA ... モニターに描画したい\r\n  - SDIO ... SDカード\r\n\r\n## 開発基板\r\n## VCC GND YD-RP2040\r\nCPUに ARM Cortex-M0+を2つ搭載のRP2040の開発基板🥳\r\n\r\n![yd_rp2040_pin_out](doc/YD-RP2040/YD-2040-PIN.png)\r\n\r\n- YD-RP2040\r\n  - 📍NeoPixel ... GPIO23\r\n  - 📍ボタン ... GPIO24\r\n  - 📍LED ... GPIO25\r\n  - 📍MCU(マイコン) ... RP2040\r\n    - 📍CPU ... ARM Cortex-M0+ x2コア\r\n    - 📍プロセス ... 40nm\r\n    - 📍クロック ... 133MHz\r\n    - 📍ROM ... 2MB、4MB、8MB、16MB\r\n    - 📍SRAM ... 264KB\r\n    - 📍FPU ... 単精度\r\n    - 📍UART ... x2ch\r\n    - 📍SPI ... x2ch\r\n    - 📍I2C ... x2ch\r\n    - 📍ADC ... 12bit SAR x4ch\r\n    - 📍GPIO ... 30本\r\n    - 📍PWM ... 16本\r\n    - 📍タイマー(64bit) ... アラーム x4 (IRQ生成)\r\n    - 📍RTC\r\n    - 📍WDT\r\n    - 📍PIO ... x8基\r\n\r\n## 参考文献\r\n[RP2040のメーカーHP](https://www.raspberrypi.com/products/rp2040/)\r\n[RP2040のメーカー公式ドキュメントHP](https://www.raspberrypi.com/documentation/microcontrollers/silicon.html)\r\n[データシート(RP2040)](https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChimipupu%2Frp2xxx_dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FChimipupu%2Frp2xxx_dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChimipupu%2Frp2xxx_dev/lists"}