使用国产芯片构建QMK固件(一)
剳_牵
编辑于 2023年04月29日 21:06
收录于文集
共1篇

前排提示:此教程适用前提为能自行搭建环境和编译固件,具体请参考其他QMK教程。

相关仓库地址:https://github.com/zhaqian12/qmk_firmware/tree/zhaqian

合宙AIR32F103

合宙air32f103 pin2pin Sxx32f103,其具有216MHz主频,96KbSram,有较高的性价比。

合宙air32f103硬件上相较于Sxx32f103可以省略一个USB DP的上拉电阻。

但其需要通过下载器下载固件,且不支持仅关闭JTAG。所以在构建键盘固件时有两个选择,使用我提供的UF2的bootloader,关闭SWD。或者避开JTAG所用的GPIO口。

相关bootloader地址:https://github.com/zhaqian12/qmk_firmware/tree/zhaqian/keyboards/zhaqian/zqlib/uf2_bootloader

在QMK中使用该芯片,首先需要clone我所提供的仓库,在该仓库上进行编译。

使用该芯片,仅需在info.json中修改(以使用UF2 bootloader为例):

然后根据自己所使用的芯片指定ld文件:

相关键盘示例代码地址:https://github.com/zhaqian12/qmk_firmware/tree/zhaqian/keyboards/zhaqian/zq50

在构建QMK固件时,需要注意xBt6和xCt6在FLASH上的差异,默认是xB,因此如果使用xC需要在board.h需要定义所使用的相关型号。

仓库中默认主频为144MHz,如需设置216MHz主频,需要在mcuconf.h文件中修改时钟树的配置,以8MHz外部高速晶振为例:


雅特力AT32F415

雅特力AT32F415作为一颗超值型MCU,也具有较高的性价比,能够PIN2PIN Sxx32f103,不过如果直接替换需要注意F6,F7 为Sxx32F103的电源引脚。相对于AIR32F103,其支持系统USB DFU下载固件,无需下载器。同时支持DMA MUX灵活映射通道。

雅特力AT32F415硬件上相较于Sxx32f103可以省略一个USB DP的上拉电阻,并且多出两个可用IO。

在QMK中使用该芯片,首先需要clone我所提供的仓库,在该仓库上进行编译。

使用该芯片,仅需在info.json中修改:

"processor&#​34;: "AT32F415&#​34; ,

"bootloader&#​34;: “at32-dfu”

相关键盘示例代码地址:https://github.com/zhaqian12/qmk_firmware/tree/zhaqian/keyboards/zhaqian/zq50


雅特力AT32F413

雅特力AT32F413作为一颗主流型MCU,也具有较高的性价比,能够PIN2PIN Sxx32f103,不过如果直接替换需要注意F6,F7 为Sxx32F103的电源引脚。相对于AIR32F103,其支持系统USB DFU下载固件,无需下载器,其具有1280B的USB缓存区,可同时使用CAN和USB。

AT32F413主频最高200MHz,支持HICK直接提供USB时钟,无需外接晶振。同时支持DMA MUX灵活映射通道。

雅特力AT32F413硬件上相较于Sxx32f103可以省略一个USB DP的上拉电阻和Boot0的下拉电阻,并且多出两个可用IO。

在QMK中使用该芯片,首先需要clone我所提供的仓库,在该仓库上进行编译。

使用该芯片,仅需在info.json中修改:

"processor&#​34;: "AT32F413&#​34; ,

"bootloader&#​34;: “at32-dfu”

   相关键盘示例代码地址:https://github.com/zhaqian12/qmk_firmware/tree/zhaqian/keyboards/zhaqian/zq50


雅特力AT32F403A/AT32F407

雅特力AT32F403A和AT32F407作为一颗主流型MCU,也具有较高的性价比,能够PIN2PIN Sxx32f103/f107。相对于AIR32F103,其支持系统USB DFU下载固件,无需下载器,且其具有1280B的USB缓存区和可重映射的USB IRQ,可同时使用CAN和USB。

AT32F403A/407主频最高240MHz,支持HICK直接提供USB时钟,无需外接晶振。同时支持DMA MUX灵活映射通道。

雅特力AT32F403A硬件上相较于Sxx32f103可以省略一个USB DP的上拉电阻和Boot0的下拉电阻,可直接PIN2PIN替代。

在QMK中使用该芯片,首先需要clone我所提供的仓库,在该仓库上进行编译。

使用该芯片,仅需在info.json中修改:

"processor&#​34;: "AT32F403A&#​34; , // "AT32F407"

"bootloader&#​34;: “at32-dfu”

   相关键盘示例代码地址:https://github.com/zhaqian12/qmk_firmware/tree/zhaqian/keyboards/zhaqian/zq50

本文为五个国产芯片的简要应用和编译介绍,如有问题请留言或私信。后续可能会编写详细的流程教程。