PSoC4离线烧录工具


PSoC离线烧录工具

Infineon提供了PSoC4完整的离线烧录的源码,参考文档 Infineon-AN84858-ApplicationNotes,可以很容易的实现,于是就做了一个PSoC4的离线烧录工具,并做了稍许优化:

PSoC4 offlineTool

目前支持如下功能:

  1. 主控MCU使用CY8C4148AZI-S453,256KB Flash,32KB SRAM,所以支持的目标芯片的flash不会大于256KB。
  2. TypeC USB,支持cc线,通过usb转串口,最高支持2000000波特率,通过USB完成离线固件的下载。
  3. 支持蜂鸣器,当触摸按键按下及烧录成功后会beep提示,如果烧录失败也会通过beep的不同响声提示。
  4. 支持两个WS2812的全彩LED,用于指示烧录状态。
  5. 支持两个LED,其中一个做呼吸灯效果,另一个通过闪烁指示烧录过程中。
  6. 支持两个TouchPad,一个接近感应。
  7. 支持对外供电的输出控制,支持Power Cycle模式。
  8. 支持接口buffer…

Infineon提供的上位机软件C#开发的,针对每种芯片生成相应的HexImage.c及HexImage.h文件,然后参与编译后方可使用,而且如果实际目标程序很小,但是hex文件中却包含了大量的无效的0数据,于是就用QT做了个小工具来解决这问题:(基于之前开源的P4UartBtl的小工具上修改过来的)

PCApp offlineTool

  1. 根据USB转串口芯片的VID和PID,自动识别USB的插入及断开,连接后自动打开串口。
  2. 串口波特率默认配置为2000000,支持常见的几种波特率配置。
  3. 支持目标芯片的选取,目前支持CY4104、CY4025、CY4126、CY4127、CY4148等芯片,其他芯片未测试。
  4. 支持程序版本号的配置,支持读取。
  5. 支持Power Cycle模式的配置,不勾选默认为Pin Reset。
  6. 打开Hex文件,处理Hex数据,移除无效的0数据,减小烧录的代码,所以使用4148也可以烧录4148。
  7. 支持另存为Bin文件,bin文件可同时存储为纯bin文件及添加了配置头的bin文件,方便后期导入miniprog4 plu中离线下载。
  8. 支持查询命令,可查询目前存储于芯片中的固件信息。
  9. 支持ping、reset等命令,后期可增加bootloader,支持更新App功能。

离线烧录操作:

  1. 上电后,呼吸灯会呼吸,说明板卡正常工作。

  2. 左边小鲨鱼图标的touch pad,单击会打开对外供电,再次单击会关闭对外输出的供电。

  3. 需要离线烧录目标芯片时,先关闭对外供电,连接好接线,然后双击右边的触摸按键。1秒钟内需要连点两下才会对外烧录。避免误触误烧。

  4. 离线烧录时需要经过如下完整的步骤:

    Device Acquire

    Verify Silicon ID

    Erase all Flash

    Checksum Privileged Calculation

    Program Flash

    Verify Flash

    Program Protection Settings

    Verify Protection Settings

    Verify Checksum

    Exit HSSP Programming mode

    每一步操作都会由左边的WS2812显示一种颜色指示当前的烧录状态,操作完成后会变为绿色,如果烧录失败后,右边的那颗2812会显示红色。如果待烧录的目标芯片教大时,DispLed会闪烁指示当前仍在正常烧录。

    注:Program Flash和Verify Flash时间有时会较长,其中需增加喂狗操作,否则很容易重启。

  5. 支持Power Cycle模式,尤其是对于无Reset脚引出的CY8C4014等芯片,同时SWD又被复用为GPIO或IIC功能时,Power Cycle模式特别有用。

  6. TFT功能,为尽可能的缩小app的flash占用,暂时先不上tft了。

  7. 上位机软件下载地址: https://gitee.com/xarm/iTuner ,OffLineTools.exe即是。

也欢迎留言提出其他功能,只有电工才更懂电工的需求,感谢~


文章作者: xArm
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 xArm !
评论