2021-11-26 03:20:28 [显示全部楼层]
1374浏览
查看: 1374|回复: 0

[教程] 跟着思兼学习Klipper(03-2)番外1-自定义stm32f103 bootloader|2

[复制链接]

番外一:为其他最小系统定制 Bootloader

整完这块最小系统板后,我不想焊接引脚,又掏出一块F103,形状不一样,看了下原理图,发现两个问题:

MonNovember-202111296766..png

MonNovember-202111292157..png

  1. PB2(BOOT1)接地了
  2. LED指示灯接在PB8

MonNovember-202111291547..png

我们看看 stm32duino-bl 有没有预编译好的,结果发现没有。那么自己动手,丰衣足食,我们以pb9为模板,看看如何修改定制针对此板的引导器,尝试修改如下内容:

// config.h
// for STM32F103C8T6 大板
// config.h
#elif defined TARGET_GENERIC_F103_PB8

    #define LED_BANK            GPIOB
    #define LED_PIN             8
    #define LED_ON_STATE        1

    // Button (if you have one)
    #define BUTTON_BANK GPIOA
    #define BUTTON_PIN 3
    #define BUTTON_PRESSED_STATE 1

以及 Makefile 文件:

# Makeflie
generic-pb8: begin clean gccversion build_generic-pb8 sizeafter finished  copy_generic-pb8 end

build_generic-pb8: TARGETFLAGS= -DTARGET_GENERIC_F103_PB8 $(DEFINES)
# Set the linker script
build_generic-pb8: LDFLAGS +=-T$(ST_LIB)/c_only_md_high_density.ld
build_generic-pb8: elf bin lss sym
copy_generic-pb8:
        @echo
        home.php?mod=space&uid=68693 "Copying to binaries folder"
        @echo
        cp $(TARGET).bin bootloader_only_binaries/generic_boot20_pb8.bin
        @echo

使用如下命令编译:make generic-pb8 ,生成的文件在 bootloader_only_binaries/generic_boot20_pb8.bin。通过 Serial 方式烧录,测试成功。关于配置文件,我们发现它定义了两个引脚:

  1. LED_PIN ,即板载LED指示灯,根据情况设置,这里是 PB8

  2. BUTTON_PIN,根据情况选择。置高即进入并停留在 stm32duino-bootloader。我们这里选择 PA3

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail