elecboy 发表于 2009-3-20 15:03:01

Linux下的stm32下载工具(Python源码)

前几个月给大家提供过linux下的gcc开发环境构建,当然基本是网络资料汇总。当时未能发现很好的命令行的下载工具,用的是wine跑win下的stm32boot完成首次IAP程序本身的下载,然后是cutecom这个GUI程序用于和IAP程序共用完成应用程序下载,不很方便。后来一段没有开发stm32,也就没继续研究了。
最近要开始开发stm32程序,不能忍受上边方案的麻烦,于是重新google一番,加上自己随便写了点代码,终于可以实现一条make upload完成编译下载了,与广大使用linux下gcc开发的兄弟们共享。
首先是stm32boot这个瘟逗死下的命令行程序替代,这个是搜到的一个python程序,貌似是俄国人写的?
官方网站:http://tuxotronic.org/wiki/projects/stm32loader
源码下载: http://mercurial.intuxication.org/hg/stm32loader
这个完全可以取代stm32boot,在我的万利199元开发板测试通过,终于可以不要wine了
使用示例:./stm32loader.py -w -p /dev/ttyUSB0 -b 115200 iap.bin

然后是取代cutecom这个gui程序,其实cutecom也是调用sz来进行ymodem协议传送下载文件,但是由于波特率和应答交互设置问题,我直接使用sz失败。网上搜索也没找到合适的工具软件。没法偷懒了,只好自己动手,原想找支持ymodem协议的python模块,未果,只好继承*nix思想,让专业软件干专业活,调用sz来完成ymodem工作。目前只能与st官方示例iap共用,自己改过iap的话就仅供参考了。
使用示例: ./send_file.py /dev/ttyUSB0 "adc1_lcd_test.bin"
(注意,由于需要调用sz,因此linux需要安装lrzsc软件包,两个程序都需要python-serial包,各发行版应该都有的。)
现在,只要写好makefile,就可以一条命令完成编译下载了。
stm32loader.py send_file.pyourdev_426697.zip(文件大小:4K) (原文件名:tools.zip)

fandipeng412 发表于 2009-3-21 15:12:10

楼主强大的很啊

elecboy 发表于 2009-3-21 18:05:10

强大就谈不上了,毕竟99.999%的资源是网络上的自由软件的真正高手贡献的(例如gcc的stm32移植等,很惭愧,俺可没任何贡献),这里只是汇总一下罢了,能让大家少花点时间就好。
另外,一个小问题,上边的./stm32loader.py -w -p /dev/ttyUSB0 -b 115200 iap.bin 似乎不会自动擦除flash,害的我花了很多时间检查不存在的程序问题。

ffxz 发表于 2009-3-22 21:47:34

python就是强大的!!

elecboy 发表于 2009-3-22 23:06:06

Python是强大的很哦,我们自己用的芯片ISP下载管理器,生产测试用上位机软件等等都是python+gtk写的,而且虽然我们多用linux,但是你啥都不用改,丢到瘟逗死上它也照跑无误,当然瘟逗死下要装python,gtk,pygtk等,这点还是linux方便,这些玩意是个常见linux都带了。

ffxz 发表于 2009-3-22 23:13:06

用python + wxWidgets吧,windows上跑得也顺眼些

elecboy 发表于 2009-3-23 10:07:29

对于瘟逗死开发熟悉的人更愿意用wxWidgets,据说这个和MFC很像?但是俺对瘟逗死下开发极其不熟悉,倒是对gtk熟悉些,而我们的程序大多也都是在linux下跑。对我来说,再去学wxwidgets多麻烦啊,所以这个也算是萝卜白菜各有所爱吧。

PaulDE 发表于 2009-4-9 20:39:50

这个记下

beny 发表于 2009-4-9 22:23:49

mark

kangar0065 发表于 2010-7-9 13:29:29

Python会流行啊

librae8226 发表于 2010-8-7 11:15:59

试一试!谢谢楼主
页: [1]
查看完整版本: Linux下的stm32下载工具(Python源码)