O-H-M2 / qmk_port_ch582

GNU General Public License v2.0
131 stars 68 forks source link

Other languages: English, 简体中文

Table of Contents

Overview

This is a porting of QMK keyboard firmware for CH58x series, with the main focus on bridging the application layer (QMK) and the underlying hardware.

Directory Structure

Code Branches

Highlights

Supported hardware

Currently only CH582M is tested, but it should also work for CH582F.

Building

Keyboard manufacturers/QMK firmware users

Fork this repository then manually upload you keyboard configuration file to keyboards. You'll be able to use the GitHub Actions to build your firmware online.

Note that currently the configuration file is slightly different from the original QMK ones, you may take this keyboard as a start point.

Developers

Visual Studio Code is recommended.

You can follow this guide to set up a development environment locally. Or you can also use Codespace instead.

Or follow these steps below to build it on your system:

  1. Install compiler and nrf command line tools:

    Download and configure the compiler provided by WCH, and the nrf command line tools.

    • For deb-based Linux distributions users (Debian GNU/Linux, Ubuntu, or Ubuntu on WSL2):

      The following commands will download them from their official websites and extract the files to the $HOME/.local/opt directory.

      $ wget http://file.mounriver.com/tools/MRS_Toolchain_Linux_X64_V170.tar.xz
      $ wget https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-command-line-tools/sw/versions-10-x-x/10-21-0/nrf-command-line-tools-10.21.0_linux-amd64.tar.gz
      $ mkdir -p $HOME/.local/opt
      $ tar xvf MRS_Toolchain_Linux_X64_V170.tar.xz -C $HOME/.local/opt
      $ tar xvf nrf-command-line-tools-10.21.0_linux-amd64.tar.gz -C $HOME/.local/opt

      Next, add these programs to your $PATH. For bash users, this can typically be accomplished by:

      $ echo 'export PATH=$HOME/.local/opt/MRS_Toolchain_Linux_x64_V1.70/RISC-V\ Embedded\ GCC/bin/:$HOME/.local/opt/nrf-command-line-tools/bin/:$PATH' >> $HOME/.bashrc
      $ source $HOME/.bashrc
    • For macOS users:

      Download and install the nrf command line tools from here. And use the following commands to download and configure the compiler:

      $ curl -O http://file.mounriver.com/tools/MRS_Toolchain_MAC_V180.zip
      $ unzip MRS_Toolchain_MAC_V180.zip -d $HOME/.local/opt
      $ unzip $HOME/.local/opt/MRS_Toolchain_MAC_V180/xpack-riscv-none-embed-gcc-8.2.0.zip -d $HOME/.local/opt

      Next, add these programs to your $PATH. For bash users, this can typically be accomplished by:

      $ echo 'export PATH=$HOME/.local/opt/xpack-riscv-none-embed-gcc-8.2.0/bin/:$PATH' >> $HOME/.bashrc
      $ source $HOME/.bashrc
  2. Install some other dependencies:

    • For deb-based Linux distributions users:

      $ sudo apt update
      $ sudo apt install git cmake ccache python3 python3-click python3-cbor2 python3-intelhex
    • For macOS users, assuming XCode is installed here:

      $ pip3 install --user cryptography click cbor2 intelhex
  3. Clone this repository by:

$ git clone https://github.com/O-H-M2/qmk_port_ch582.git
$ cd qmk_port_ch582
$ git -c submodule."qmk_porting/keyboards_private".update=none submodule update --recursive --init
  1. Create a directory for the building:
$ mkdir build
$ cd build
  1. Running cmake for dependencies checking and generating Makefile:
$ cmake -Dkeyboard=m2wired -Dkeymap=default ..

You may replace m2wired and default in the above command with the names of your own keyboard and keymap.

  1. Build:
$ make -j$(nproc)

.uf2 and .hex will be generated in the top directory of the project if the build succeeds.

Flashing

For end users: Use Bootmagic Lite with .uf2 only, or take your own risk of bricking your keyboard.

For developers: You may use the flashing utility which is provided by WCH.

Community