Giter VIP home page Giter VIP logo

pico24's Introduction

PICo24

Ultimate software platform for Microchip PIC24/dsPIC33 MCUs.

Features

CMake support

  • You can use your favorite IDE or editor, as long as it supports CMake
  • Tested on CLion and Sublime Text (VSCode users please see this issue)

The PICoBoot USB bootloader

  • Updates firmware directly via USB
  • No driver installation needed on modern host OS (Linux/macOS/Windows)
  • fastboot like command line tool
  • Non-volatile environment variable (like U-Boot)
  • Preinstalled on every PotatoPi PICo24

Easy to use peripheral libraries

  • Work like STM32 HAL APIs
  • Macro based pin configuration
  • Supports transferring data in EDS memory regions directly to peripherals

USB Device features

  • Supported functions: CDC ACM/ECM/NCM, Mass Storage, Audio, HID and MIDI
  • Multiple functions and multiple function instances at the same time (e.g. 4xACM+1xStorage)

USB Host features

  • HUB support
  • Supported functions: CDC ACM, Mass Storage, Audio, HID and UVC

libc extensions

  • malloc can track memory usages, and also allocate in EDS memory regions

Unix API emulation

  • Emulation of Unix APIs such as read/write/sleep/usleep/dprintf
  • They can be used to control data flows on UART and USB CDC, and switch RTOS task automatically when I/O is blocked

Integrated 3rdparty software libraries

  • FreeRTOS 9.0.0
  • LwIP 2.1.1
  • Lua 5.1.5

Current status

Due to shortage of raw materials of PotatoPi Lite, PotatoPi PICo24 had to be released prematurely to fill the gap. So, not all software features mentioned above are implemented at this moment.

Feature Status
PinMux OK
Timer OK
UART OK, CTS/RTS untested
I2C Master OK, API not finalized
I2C Slave Untested
SPI Master OK
SPI Slave Untested
External interrupts Untested
malloc stats OK
EDS malloc OK
EDS string.h ops OK
Unix APIs OK, currently requires FreeRTOS
USB role switch OK
USB Device: HID OK
USB Device: MSD OK
USB Device: MIDI OK
USB Device: Audio Mostly, currently TX only
USB Device: CDC ACM OK
USB Device: CDC ECM Mostly
USB Device: CDC NCM Mostly, only works with Linux
USB Host: HUB WIP: unstable change notification
USB Host: HID WIP: 1 device only
USB Host: CDC ACM WIP: 1 device only
USB Host: MSD TODO
USB Host: Audio TODO
USB Host: UVC TODO
FreeRTOS OK, well tested
LwIP OK, tested PPPoS, ping and HTTP srv
Lua OK, tested luaL_dostring()

Licensing

AGPLv3. Also read this FAQ.

pico24's People

Contributors

reimunotmoe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.