cyber211 / mcush

MCUSH application platform (personal toolkit: firmware platform, debugger, hardware, test and application framework)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DESCRIPTION

  • MCUSH is the short name for MCU-SHell.
  • A practical project that enhance microcontroller serial port console with shell features like in many linux systems.
  • The goal of the project is to provide a firmware template that will expand commands for new applications, so it should be designed with simple API and easy to use.
  • MCUSH is heavily based on FreeRTOS, the core shell runs as a stand-alone task with middle level priority.
  • Test suites and templates written in python are privided to ease the test work and create CLI/GUI applications.
  • Hosted on github: https://github.com/pengshulin/mcush
  • Python core module released on PYPI and installed by 'pip install mcush'

FEATURES

  • SUPPORT:
    • command functions are called with arguments in form of argc and argv
    • arguments parser with short option '-' and long option '--'
    • low memory requirement, suitable for some tiny chips
    • prompt hook function for customize
    • compact history command list
    • multi-line input
    • may port to different architectures, but currently it runs on CORTEX-M only
  • NOT SUPPORT:
    • lineedit features that require multi-bytes (such as array keys, shell colors...) are not supported, only simple features that require single-byte (such as BACKSPACE, Ctrl-A/B/C/D/E/F/K/N/P) are supported

ROADMAP

(done)

  • run the basic shell on STM32 chips
  • add commands to control more peripherals
  • use USB virtual com port driver provided by ST
  • add file system support (spiffs...)
  • add file utils (ls,cp,rm,cat,...) for file system
  • add ST/HAL Driver support

(todo/in progress)

  • test embedded dynamic languages (eg. lua/picolisp/tinyscheme/micropython...)
  • add bootloader and upgrade support
  • add practical utilities for lwip network, such as traceroute, ntp update...
  • add remote debug support

ENVIRONMENT

RESOURCES

HARDWARE

LICENSE

  • source codes:
    • As this is my personal software toolkit, you can use it freely only for non-commercial purpose.
    • Contact the author for commercial authorization, or it's NOT AUTHORIZED.
  • binary executables:
    • images provided in build directory are free as BSD
  • hardware design files:
    • similar to the source codes: need commercial authorization

COMMERCIAL

Contact Shanghai Linkong Software Technologies Co., Ltd for commerical support. http://www.linkongsoft.com/

AUTHOR

Peng Shulin trees_peng@163.com Shanghai, China 2020

About

MCUSH application platform (personal toolkit: firmware platform, debugger, hardware, test and application framework)


Languages

Language:C 92.6%Language:Assembly 3.9%Language:C++ 1.3%Language:HTML 1.2%Language:LSL 0.4%Language:Python 0.3%Language:C# 0.2%Language:Ruby 0.1%Language:Makefile 0.1%Language:Perl 0.1%Language:TeX 0.0%Language:D 0.0%Language:CSS 0.0%Language:Objective-C 0.0%Language:Shell 0.0%Language:GDB 0.0%Language:CMake 0.0%Language:Awk 0.0%Language:PHP 0.0%Language:NASL 0.0%Language:Inno Setup 0.0%Language:Batchfile 0.0%