搜索
bottom↓
回复: 21

有人研究怎么调用stlink dll,控制stlink 烧写?

[复制链接]

出0入0汤圆

发表于 2018-3-12 11:35:50 | 显示全部楼层 |阅读模式
本帖最后由 Vmao 于 2018-3-13 14:19 编辑

像jlink那样,提供第三方接口吗? 市面上的脱机烧录功能不符合要求,只能用电脑配合stlink 做

烧写stm8L


....后记:已找到解决方案 使用st提供的 工具  STVP_CmdLine.exe



增加python 脚本自动化编辑地址 对于写C的人来说修改这个脚本实现按照自己的逻辑修改地址不成问题,不说了,直接上源码
(注意 需要安装IntelHex 库 )
from intelhex import IntelHex
from io import StringIO
import os
while 1:
    ih = IntelHex("App.hex")
    add=ih[0xAF05]+(ih[0xAF04]<<8)+(ih[0xAF03]<<16)+(ih[0xAF02]<<24)+(ih[0xAF01]<<32)+(ih[0xAF00]<<40)
    num=0x00
    num=input("Enter your number input, if 0 exit flashing: ")
    num=(int(num))&0xff
    if num==0:
        break
    part=0
    add=add+1#地址曾1
    ih[0xAF05]=(add)&0xff#修改固定地址数据
    ih[0xAF04]=(add>>8)&0xff
    ih[0xAF03]=(add>>16)&0xff
    ih[0xAF02]=(add>>24)&0xff
    ih[0xAF01]=(add>>32)&0xff
    ih[0xAF00]=(add>>40)&0xff
    print("add=%012X\n" %(add))
    for i in range(0,num):
        ih[0xAF06]=num
        ih[0xAF07]=part
        ih.tofile("App.hex", format='hex')
        input("Enter any contiunue...: %d of %d " %((part+1),num))
        print("flasering=%d of %d" %(part,num))
        #烧写部分
        command ='STVP_CmdLine.exe -Device=STM8L15xK4 -no_loop -no_warn_protect -FileOption=nolock.hex'
        os.system(command)
        command ='STVP_CmdLine.exe -Device=STM8L15xK4 -no_loop -no_warn_protect -FileProg=App.hex -FileOption=lock.hex'
        os.system(command)
        part=part+1   
   



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-3-12 12:15:23 | 显示全部楼层
有一个ST-LINK CLI可以用,安装目录有接口文档

出0入0汤圆

发表于 2018-3-12 13:29:33 | 显示全部楼层
搜索STSW-MCU002,里面有个VC工程可以参考。

出0入0汤圆

 楼主| 发表于 2018-3-12 20:45:43 | 显示全部楼层
找到解决方案了 st有一个命令行工具STVP_CmdLine.exe 可以通过命令行调用 非常方便,这下可以自己写脚本生成固件 并烧写了,我的固件不适合滚码,一套程序分多个地址并且还有子地址.

出0入0汤圆

发表于 2018-3-12 23:06:27 | 显示全部楼层
有啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-3-12 23:08:04 | 显示全部楼层
虽然离J-link差一点,还是比较方便的,可以先烧写测试程序并读取测试结果,然后烧写Bootloader和APP

出0入0汤圆

 楼主| 发表于 2018-3-12 23:54:10 来自手机 | 显示全部楼层
MasterPhi 发表于 2018-3-12 23:08
虽然离J-link差一点,还是比较方便的,可以先烧写测试程序并读取测试结果,然后烧写Bootloader和APP ...

你通过什么方式调用的stlink?不过我有这个命令行的就能做很多了

出0入0汤圆

 楼主| 发表于 2018-3-12 23:58:38 来自手机 | 显示全部楼层
MasterPhi 发表于 2018-3-12 23:08
虽然离J-link差一点,还是比较方便的,可以先烧写测试程序并读取测试结果,然后烧写Bootloader和APP ...

还要像个办法能够解析hex文件,按照相关流程修改固定地址,这样就全自动了,我准备搞一个,没想好用Python还是golang做

出0入0汤圆

发表于 2018-3-13 06:18:34 来自手机 | 显示全部楼层
官方有sdk啊

出0入0汤圆

发表于 2018-3-13 06:18:54 来自手机 | 显示全部楼层
直接调用api

出0入0汤圆

 楼主| 发表于 2018-3-13 09:19:03 来自手机 | 显示全部楼层
MasterPhi 发表于 2018-3-13 06:18
直接调用api

官方的vc工程我编译了,编译后缺少文件

出0入0汤圆

 楼主| 发表于 2018-3-13 14:23:55 | 显示全部楼层
增加python脚本后除了慢点 完胜各种脱机编程器  最重要的是可以随意修改固件,什么滚码,都不在话下.

出0入0汤圆

发表于 2018-3-13 14:35:30 | 显示全部楼层
我把sdk翻译成c#用的,里面自带读hex函数

出0入0汤圆

发表于 2018-3-13 17:33:43 | 显示全部楼层
来造福下大家,我把C#的ST-Link类共享出来,如图初始化:

具体怎么调用API就按官方SDK依葫芦画瓢吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2018-3-13 20:13:41 | 显示全部楼层
MasterPhi 发表于 2018-3-13 17:33
来造福下大家,我把C#的ST-Link类共享出来,如图初始化:

具体怎么调用API就按官方SDK依葫芦画瓢吧

哈哈,不过我还是觉python顺手

出0入0汤圆

发表于 2018-8-25 16:47:41 | 显示全部楼层
MasterPhi 发表于 2018-3-13 17:33
来造福下大家,我把C#的ST-Link类共享出来,如图初始化:

具体怎么调用API就按官方SDK依葫芦画瓢吧

官方的SDK哪里能下载?

出0入4汤圆

发表于 2018-8-25 22:31:50 | 显示全部楼层
我的, 请指教:

"F:\Program Files\IAR Systems\Embedded Workbench 6.5_stm8-v1.411\common\bin\CSpyBat.exe"\
"F:\Program Files\IAR Systems\Embedded Workbench 6.5_stm8-v1.411\stm8\bin\stm8proc.dll"\
"F:\Program Files\IAR Systems\Embedded Workbench 6.5_stm8-v1.411\stm8\bin\stm8stlink.dll"\
$(PROJECT).elf --plugin\
"F:\Program Files\IAR Systems\Embedded Workbench 6.5_stm8-v1.411\stm8\bin\stm8bat.dll"\
--backend -B "-p"\
"F:\Program Files\IAR Systems\Embedded Workbench 6.5_stm8-v1.411\stm8\config\ddf\iostm8s003f3.ddf"\
"-d" "stlink" "--mcuname" "STM8S003F3" "--verify_download"\
--download_only

出0入0汤圆

发表于 2018-8-28 19:52:17 | 显示全部楼层
xtrig 发表于 2018-8-25 16:47
官方的SDK哪里能下载?

https://www.st.com/content/st_co ... stvp-lib-stm32.html

出0入0汤圆

发表于 2018-8-28 23:31:22 | 显示全部楼层
MasterPhi 发表于 2018-8-28 19:52
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-s ...

谢谢!

出0入0汤圆

发表于 2018-8-29 08:51:25 | 显示全部楼层
STVP-LIB-STM32  

STVP programming toolkit: C++ source files for creating PC programming interface



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2020-12-7 17:40:46 | 显示全部楼层
简直救命稻草啊,不错的帖子,解燃眉之急

出0入0汤圆

发表于 2021-2-1 19:12:25 | 显示全部楼层

stm flasher
能不能分享一下?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 15:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表