栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

取自开源,分享于开源 —— HHKB Pro2 换主控改造

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

取自开源,分享于开源 —— HHKB Pro2 换主控改造

做开发最麻烦的就是做linux开发,但一些工具只能在windows上使用,一段时间感觉需要Ubuntu下做事就装Linux mint,再过段时间,又得在windows下阅读代码、使用工具,HHKB键盘又得不停按拨码开关切换。

真是烦,就想着改造,去淘宝上搜,发现一个做好stm32主控板要300多(带蓝牙)。

还不如自己动手,于是找带USB device功能的,找到了一个stm32f401ccu6小板,19块,首单优惠10元,也就是9块钱就够了。果断出手。

        当然,还有最最最关键的,GitHub - tmk/tmk_keyboard: Keyboard firmwares for Atmel AVR and Cortex-M

有国外大神已经测出来需要的信号了,他也是卖改造后的主板的。而淘宝那个多半也是基于这个改的。

1. 让stm32f401ccu6 能正确识别为USB HID keyboard

        单片机很久很久没碰了,幸好有STM32 CUBEIDE,可以图形化配置。

        首先利用STM32 CUBEIDE生成一个HID例子,烧录板子,再插入到PC可以正常识别。

        习惯了Linux gadget 思想,看CUBEIDE生成的例子,头疼,还是自己动手改造。

 

        HID Keyboard 描述符网上一堆,然后写入不断尝试。

2. 开始对接 HHKB Pro2

        看tmk_keyboard里的说明文档

        最后整理如下


=======================================================================

STM32F401CCU6

ARM32 Cortex-M4 84MHz
64KB SRAM
256KB flash

BOOT0 set 0: STM32F401 bootloader dfu

At startup, boot pins are used to select one out of three boot options:
  Boot from user Flash
  Boot from system memory
  Boot from embedded SRAM
 The bootloader is located in system memory. 
 It is used to reprogram the Flash memory by using either USART1(PA9/10),
USART2(PD5/6), USB OTG FS in device mode (PA11/12) through DFU (device firmware upgrade), 
I2C1(PB6/7), I2C2(PB10/3), I2C3(PA8/PB4), SPI1(PA4/5/6/7), 
SPI2(PB12/13/14/15) or SPI3(PA15, PC10/11/12).


          

 
VID: 0x4643 'FC' 
PID: 0x4B42 'KB'
manufacturer string: "FineClass"
product string     : "KeyBoard"
config string      : "Fineclass Keyboard"
interface string   : "HHKB pro2"

使用STM32F401出厂DFU(system memory)烧录:
1. 使用STM32CubeIDE生成项目,修改PIN脚,使能USRT1,USB OTG DEVICE,
  GPIO IN/OUT,编译得到hhkb.bin
2. BOOT0 置1,USB接入PC,出现 STM Device in DFU Mode
3. 启动 DFUSE DEMO V3.0.6,查看
  VID  PID  VERSION
 0483  DF11  2200
4. 启动DfuFileMgr,选择GENERATE a DFU file,
  填写 VID PID VERSION,
  点击Multi BIN,选择 hhkb.bin,Address填SRAM地址0x08000000,点击add to list,OK
  target name 可填 HHKB,点击generate生成 hhkb.dfu
5. DFUSE DEMO下upload action可进行备份,upgrade or verify action 
  选择 hhkb.dfu,upgrade

        不断调试,测试按键扫描间隔,测试keyboard按键。

        如今用了很久了,和普通的usb keyboard一样,插入ubuntu 或 windows 可以直接用,不用再去调拨码了。

         最后上实物图

不过不改硬件,只是修改按键值,加了按键,可以免拆机升级。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/845415.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号