Skip to content

离线烧录mcu

PicoXtools的DapLink继承于DAP-Link 其支持的MCU PicoXtools也是支持的。借助于openocd(pyOCD等)PicoXtools可以支持市面上绝大部分的MCU(仅支持SWD).

PicoXtools可以离线烧录存储于内部文件系统上的固件

MCU固件可以通过

  • web控制台
  • ymode

上传到PicoXtools文件系统默认存放于/upload之下

离线烧录支持的 MCU

因手边只有rp2040,stm32f103,stm32f411,nRF52832,nRF52833,nRF52840,rt1052的开发板 因此目前只有这几种MCU是经过完整测试的;其它厂家、型号的MCU需要验证。

离线烧录mcu

  • shell命令
  • web 控制台
  • c 语言API
  • JS 语言API

固件类型

目前仅支持.bin类型

shell命令

sh
/: flash [rp2040|stm32f103|stm32f411|nRF52832|nRF52833|nRF52840] firmware.bin
/: flash [rp2040|stm32f103|stm32f411|nRF52832|nRF52833|nRF52840] firmware.bin

c语言

  • 通过vi 创建文件 flash.c

    c
    int main(){
        active_port(0);
        flash("stm32f103","/upload/stm32f103_blink.bin");
        active_port(1);
        flash("stm32f103","/upload/stm32f103_blink.bin");
        return 0;
    }
    int main(){
        active_port(0);
        flash("stm32f103","/upload/stm32f103_blink.bin");
        active_port(1);
        flash("stm32f103","/upload/stm32f103_blink.bin");
        return 0;
    }
  • cc 编译执行flash.c

    sh
    cc flash.c
    cc flash.c

Javascritp 语言

  • 通过vi 创建文件flash.js脚本

    js
      
      active_port(0);
      flash_mcu("stm32f103","/upload/stm32f103_blink.bin");
      active_port(1);
      flash_mcu("stm32f103","/upload/stm32f103_blink.bin");
      
      active_port(0);
      flash_mcu("stm32f103","/upload/stm32f103_blink.bin");
      active_port(1);
      flash_mcu("stm32f103","/upload/stm32f103_blink.bin");
    • 执行 JS 脚本
    sh
    JS flash.js
    JS flash.js

openOCD烧录mcu

PicoXtools 是标准的 cmsis-dap(V2).通过openocd可以烧录各种MCU 如rp2040

sh
openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -s tcl -c "adapter speed 10000" -c "program firmware.elf verify  reset exit"
openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -s tcl -c "adapter speed 10000" -c "program firmware.elf verify  reset exit"
- Linux下需要使用`sudo`来执行 否则会提示 Error: unable to find a matching CMSIS-DAP devic

Released under the MIT License.