搜索
bottom↓
回复: 63

为 STM8 USB 添一把火 —— 编译工具

  [复制链接]

出0入90汤圆

发表于 2014-6-18 18:17:22 | 显示全部楼层 |阅读模式
最近看了一下 Denis Zheleznyakov aka ZiB 做的 STM8 的 USB ,原作者可能是用 GCC + Cosmic 编译的,而且还自己写了个分配地址的工具。
他的源码下载下来用 IAR 编译不了,于是就装了个 Cosmic , 但不会用
然后改了一下他的 Makefile, 提取了 Cosmic 的几个工具, 做了个工具链出来。集成了 Gcc make, Cosmic 编译器和 ST-link 下载工具, 编译下载一步完成。

用法: 解压后进入文件夹,运行 make 即可。首次使用会提示需要 license,使用 toolchain 里面的 License.lic 即可,以后就不会再提醒了。
在Win7 下面使用没问题, XP 的命令行有些语法不支持,需要自己改一下 Makefile。

看到下面的信息就说明成功了。

F:\2014-02-STM8S-USB>make
-----------------------------------------------------------
mcu/std_lib/src/stm8s_tim1.c:
mcu/stm8_interrupt_vector.c:
mcu/std_lib/src/stm8s_tim4.c:
mcu/std_lib/src/stm8s_uart1.c:
utility/macros.c:
device/usb/usb_rx.S:
mcu/std_lib/src/stm8s_clk.c:
device/usb/usb_tx.S:
main.c:
mcu/std_lib/src/stm8s_tim2.c:
device/usb/usb.c:
mcu/stm8s_it.c:
-----------------------------------------------------------
linking: target.elf
-----------------------------------------------------------
FLASH:  [26.8%]     2164 bytes
RAM:    [13.1%]       67 bytes
EEPROM: [ 0.0%]        0 bytes
STVP_CmdLine version 1.6

Verbose ON
Log activity OFF
Display Progress OFF
Message box warning if protect option byte ON
Loop mode OFF
Erase device OFF
Blank check device OFF
Verify device ON

Configuration:
BoardName=ST-LINK ST-LINK_ID=0 Device=STM8S003F3 Port=USB ProgMode=SWIM

>>> Filling PROGRAM MEMORY image in computer with Blank Value
<<< Filling PROGRAM MEMORY image in computer succeeds

>>> Loading file target/target.s19 in PROGRAM MEMORY image in computer
<<< Loading file succeeds

Hit 'Esc' key to abort during communication.

>>> Programming PROGRAM MEMORY
Cut Version and Revision of device: 1.2
<<< Programming PROGRAM MEMORY succeeds

>>> Verifying PROGRAM MEMORY
Cut Version and Revision of device: 1.2
<<< Verifying PROGRAM MEMORY succeeds

工具+源码打包:

俄罗斯人的网站

本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2014-6-18 18:19:55 | 显示全部楼层
这个东西是做什么的?

出0入90汤圆

 楼主| 发表于 2014-6-18 18:24:54 | 显示全部楼层
xingkong911 发表于 2014-6-18 18:19
这个东西是做什么的?

STM8 模拟的软 USB

出0入0汤圆

发表于 2014-6-18 19:06:01 | 显示全部楼层
nice啊,这样的话岂不是USB免驱射频读卡器的方案可以做到10元?

出0入0汤圆

发表于 2014-6-18 19:22:40 | 显示全部楼层
用什么压缩软件压缩的?识别不了压缩方式,无法解压   

出0入0汤圆

发表于 2014-6-18 19:37:39 来自手机 | 显示全部楼层
果然是神器

出0入0汤圆

发表于 2014-6-18 19:45:08 | 显示全部楼层
楼上,确认解压完全没有问题。

出0入0汤圆

发表于 2014-6-18 19:46:44 | 显示全部楼层
Код собран компилятором Cosmic версии 4.3.7, к сожалению IAR-ом не пользуюсь.
————————————————————————————————————————————
哪位懂俄语的翻译一下?
猜测意思是:可以用Cosmic 4.3.7或IAR进行编译。

出0入0汤圆

发表于 2014-6-18 19:55:42 | 显示全部楼层
  不明觉厉
头像被屏蔽

出0入0汤圆

发表于 2014-6-18 20:50:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

出0入0汤圆

发表于 2014-6-18 21:00:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2014-6-18 21:33:50 | 显示全部楼层
板子倒好解决,但是程序没有啊,                                                                                                                                 

出0入0汤圆

发表于 2014-6-18 21:36:09 | 显示全部楼层
12M是天方夜谈,不可能的.那俄国作者都明确说了.没搞定.

出0入0汤圆

发表于 2014-6-18 21:40:01 | 显示全部楼层
GunGun 发表于 2014-6-18 19:46
Код собран компилятором Cosmic версии 4.3.7, к сожалению IAR-о ...

很遗憾,我不用IAR编译器,代码是用Cosmic 4.3.7 编译的。

出0入0汤圆

发表于 2014-6-18 22:00:49 | 显示全部楼层
STM8有GCC编译器

出0入90汤圆

 楼主| 发表于 2014-6-18 23:13:21 | 显示全部楼层
not_at_all 发表于 2014-6-18 19:22
用什么压缩软件压缩的?识别不了压缩方式,无法解压

7z 压的, LZMA算法

出0入90汤圆

 楼主| 发表于 2014-6-18 23:14:08 | 显示全部楼层
bbs2009 发表于 2014-6-18 20:50
重要的是 真的可用吗?
LZ  给出的 俄罗斯人的网站 上 控制面板中 设备有黄色的标签 , 通常这是 设备识别 ...

那是因为没有安装驱动

出20入118汤圆

发表于 2014-6-19 23:09:54 | 显示全部楼层
软usb真的验证通过了吗

出0入90汤圆

 楼主| 发表于 2014-6-19 23:17:50 | 显示全部楼层
ztg328 发表于 2014-6-19 23:09
软usb真的验证通过了吗

还没有, 原作者确实是可以识别到的, 但用他给的资料作的还有些问题.
近几天, 我应该会再发一个帖子, 跟大家一起讨论以下他的固件, 希望有大神一起来搞定它.

出0入0汤圆

发表于 2014-6-20 08:32:52 | 显示全部楼层
GunGun 发表于 2014-6-18 19:46
Код собран компилятором Cosmic версии 4.3.7, к сожалению IAR-о ...

代码编译版本收集Cosmic 4.3.7不幸IAR -欧没有好处。
网页自动翻译

出0入0汤圆

发表于 2014-6-20 08:42:49 | 显示全部楼层
确实高明

出0入0汤圆

发表于 2014-6-20 16:01:08 | 显示全部楼层
skyxjh 发表于 2014-6-18 21:40
很遗憾,我不用IAR编译器,代码是用Cosmic 4.3.7 编译的。

谢谢了!

出0入0汤圆

发表于 2014-6-20 16:07:16 | 显示全部楼层
关注!一直没有试验成功

出0入0汤圆

发表于 2014-6-20 19:31:20 | 显示全部楼层

甭客气,用ST TOOLSET加COSMIC编译很方便的,没必要转换到其它编译环境下。

出0入0汤圆

发表于 2014-6-20 21:09:45 | 显示全部楼层
虽不明,但觉吊

出0入0汤圆

发表于 2014-6-21 17:16:26 | 显示全部楼层
我曾用16M内部RC做过STM8的USB SWIM编程器,稳定工作。这个真的可以有
头像被屏蔽

出0入0汤圆

发表于 2014-6-23 11:56:41 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2014-6-24 12:24:56 | 显示全部楼层
谢谢, mark

出0入0汤圆

发表于 2014-6-28 23:00:55 | 显示全部楼层
very good

出0入0汤圆

发表于 2014-7-3 07:03:17 | 显示全部楼层
7zip提示不支持的压缩算法,有没有兄弟能解压出来的重新打包一下?

出0入90汤圆

 楼主| 发表于 2014-7-3 08:44:08 | 显示全部楼层
dragonbbc 发表于 2014-7-3 07:03
7zip提示不支持的压缩算法,有没有兄弟能解压出来的重新打包一下?

就是用7z压的, 你也可以直接到 github上下载 https://github.com/wlianmin/stm8_usb

出0入0汤圆

发表于 2014-7-3 09:22:36 | 显示全部楼层
aammoo 发表于 2014-7-3 08:44
就是用7z压的, 你也可以直接到 github上下载 https://github.com/wlianmin/stm8_usb

已经搞定了,先前用的7zip 9.20稳定版,换了9.34 alpha后可以了

出0入25汤圆

发表于 2014-7-3 13:51:49 | 显示全部楼层
本帖最后由 hecat 于 2014-7-3 13:59 编辑

我尝试执行make之后,给出的提示有错。是不是还要安装别的什么工具呢?我没有用过gcc。我是win7 32位系统。

F:\TMP\STM8S_USB\stm8_usb-master_20140702\stm8_usb-master\FW>make
'-----------------------------------------------------------'
device/usb/usb.c:
main.c:
main.c:98:6: warning: truncating assignment
main.c:99:6: warning: truncating assignment
mcu/std_lib/src/stm8s_tim1.c:
mcu/stm8_interrupt_vector.c:
device/usb/usb_tx.S:
mcu/std_lib/src/stm8s_clk.c:
utility/macros.c:
mcu/std_lib/src/stm8s_uart1.c:
mcu/stm8s_it.c:
device/usb/usb_rx.S:
mcu/std_lib/src/stm8s_tim4.c:
mcu/std_lib/src/stm8s_tim2.c:
'-----------------------------------------------------------'
linking: target.elf
'-----------------------------------------------------------'
'.' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
make: *** [all] Error 255

F:\TMP\STM8S_USB\stm8_usb-master_20140702\stm8_usb-master\FW>

出0入90汤圆

 楼主| 发表于 2014-7-3 14:15:59 | 显示全部楼层
hecat 发表于 2014-7-3 13:51
我尝试执行make之后,给出的提示有错。是不是还要安装别的什么工具呢?我没有用过gcc。我是win7 32位系统。 ...

我只在xp的命令行下发现过这个问题,因为相对路径的问题。
在WIN7下没有出现过这个问题。
你可以把Makefile里面的CROSS_PATH根据你的文件的位置改成绝对路径,比如 F:/TMP/STM8S_USB/stm8_usb-master_20140702/stm8_usb-master/FW/toolchain

出0入25汤圆

发表于 2014-7-3 15:35:26 | 显示全部楼层
最初是这样的情况:
解压后,make,报 target 已经存在,并创建一个名称为"-p"的文件夹,错误信息如下:

F:\TMP\STM8S_USB\stm8_usb-master_20140702\stm8_usb-master\FW>make
'-----------------------------------------------------------'
子目录或文件 target 已经存在。
处理: target 时出错。
make: *** [clean] Error 1


于是我手动删除了target文件夹,再次尝试:

F:\TMP\STM8S_USB\stm8_usb-master_20140702\stm8_usb-master\FW>make
'-----------------------------------------------------------'
子目录或文件 -p 已经存在。
处理: -p 时出错。
make: *** [clean] Error 1


我同时删除 target 和 -p 文件夹,再make:

F:\TMP\STM8S_USB\stm8_usb-master_20140702\stm8_usb-master\FW>make
'-----------------------------------------------------------'
device/usb/usb.c:
mcu/stm8s_it.c:
mcu/std_lib/src/stm8s_uart1.c:
main.c:
mcu/stm8_interrupt_vector.c:
utility/macros.c:
device/usb/usb_rx.S:
mcu/std_lib/src/stm8s_tim2.c:
mcu/std_lib/src/stm8s_tim4.c:
device/usb/usb_tx.S:
mcu/std_lib/src/stm8s_clk.c:
mcu/std_lib/src/stm8s_tim1.c:
main.c:98:6: warning: truncating assignment
main.c:99:6: warning: truncating assignment
'-----------------------------------------------------------'
linking: target.elf
'-----------------------------------------------------------'
'.' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
make: *** [all] Error 255


后来换了路径CROSS_PATH = F:/TMP/STM8S_USB/stm8_usb-master_20140702/stm8_usb-master/FW/toolchain
再试make:

F:\TMP\STM8S_USB\stm8_usb-master_20140702\stm8_usb-master\FW>make
'-----------------------------------------------------------'
main.c:
device/usb/usb.c:
main.c:98:6: warning: truncating assignment
main.c:99:6: warning: truncating assignment
mcu/stm8_interrupt_vector.c:
mcu/std_lib/src/stm8s_tim1.c:
mcu/std_lib/src/stm8s_clk.c:
mcu/stm8s_it.c:
mcu/std_lib/src/stm8s_tim2.c:
utility/macros.c:
mcu/std_lib/src/stm8s_uart1.c:
device/usb/usb_rx.S:
mcu/std_lib/src/stm8s_tim4.c:
device/usb/usb_tx.S:
'-----------------------------------------------------------'
linking: target.elf
'-----------------------------------------------------------'
'F:' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
make: *** [all] Error 255


也许一开始就不正常。

出0入90汤圆

 楼主| 发表于 2014-7-3 15:41:52 | 显示全部楼层
hecat 发表于 2014-7-3 15:35
最初是这样的情况:
解压后,make,报 target 已经存在,并创建一个名称为"-p"的文件夹,错误信息如下:

跟我在xp下试验的结果一样  你真的是Win7吗
直接从github上下载试试

出0入25汤圆

发表于 2014-7-3 15:50:23 | 显示全部楼层
代码是直接从github下载的zip压缩包,系统的确是win7 32位,不过使用的是经典界面。

本帖子中包含更多资源

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

x

出0入90汤圆

 楼主| 发表于 2014-7-3 16:03:27 | 显示全部楼层
hecat 发表于 2014-7-3 15:50
代码是直接从github下载的zip压缩包,系统的确是win7 32位,不过使用的是经典界面。
...

给你个CMD试试

本帖子中包含更多资源

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

x

出0入25汤圆

发表于 2014-7-3 16:28:33 | 显示全部楼层
cmd报"系统无法在消息文件中为 Application 找到消息号为 0x2350 的消息文本",可能是版本不一致引起的兼容性问题。
make依旧不能通过。

F:\TMP\STM8S_USB\stm8_usb-master_20140702\stm8_usb-master\FW>ver

系统无法在消息文件中为 Application 找到消息号为 0x2350 的消息文本。


F:\TMP\STM8S_USB\stm8_usb-master_20140702\stm8_usb-master\FW>make
'-----------------------------------------------------------'
device/usb/usb.c:
utility/macros.c:
main.c:
mcu/std_lib/src/stm8s_clk.c:
mcu/stm8_interrupt_vector.c:
main.c:98:6: warning: truncating assignment
main.c:99:6: warning: truncating assignment
device/usb/usb_tx.S:
mcu/std_lib/src/stm8s_tim2.c:
mcu/std_lib/src/stm8s_tim4.c:
mcu/std_lib/src/stm8s_tim1.c:
device/usb/usb_rx.S:
mcu/stm8s_it.c:
mcu/std_lib/src/stm8s_uart1.c:
'-----------------------------------------------------------'
linking: target.elf
'-----------------------------------------------------------'
'F:' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
make: *** [all] Error 255

F:\TMP\STM8S_USB\stm8_usb-master_20140702\stm8_usb-master\FW>

出0入90汤圆

 楼主| 发表于 2014-7-3 16:31:47 | 显示全部楼层
我的版本是 Microsoft Windows [版本 6.1.7600] 专业版

出0入90汤圆

 楼主| 发表于 2014-7-3 16:32:27 | 显示全部楼层
hecat 发表于 2014-7-3 16:28
cmd报"系统无法在消息文件中为 Application 找到消息号为 0x2350 的消息文本",可能是版本不一致引起的兼容 ...

我的版本是 Microsoft Windows [版本 6.1.7600] 专业版

出0入25汤圆

发表于 2014-7-3 16:42:47 | 显示全部楼层
我的版本是

Microsoft Windows [版本 6.1.7601]

多了0.0001而已。

出0入0汤圆

发表于 2014-7-4 00:16:40 | 显示全部楼层
hecat 发表于 2014-7-3 16:42
我的版本是

Microsoft Windows [版本 6.1.7601]

我的win7也这样
直接
make mcu_program 下载楼主编译好的固件好了

出0入0汤圆

发表于 2014-7-11 14:54:48 | 显示全部楼层
D-接了个上拉是为了检测有无USB的吗?

出0入90汤圆

 楼主| 发表于 2014-7-11 15:25:25 | 显示全部楼层
gujiamao_love 发表于 2014-7-11 14:54
D-接了个上拉是为了检测有无USB的吗?


是的

出0入0汤圆

发表于 2014-7-11 15:31:33 | 显示全部楼层

下拉呢?保护?

出0入0汤圆

发表于 2014-7-11 16:42:15 | 显示全部楼层
和39楼遇到一样的情况

出0入90汤圆

 楼主| 发表于 2014-7-11 17:15:21 | 显示全部楼层

15k的下拉应该是为了在空闲时给它一个确定的状态

出0入0汤圆

发表于 2014-7-11 17:21:47 | 显示全部楼层
aammoo 发表于 2014-7-11 17:15
15k的下拉应该是为了在空闲时给它一个确定的状态

谢谢!(补丁)

出0入0汤圆

发表于 2014-9-10 01:39:43 | 显示全部楼层
楼主大侠  请问下 那些命令行编译工具都是你编译生成的么?
还有那个怎么会出现那个 flexlicense的东西   这个有版权问题不?

出0入4汤圆

发表于 2014-9-10 11:07:07 | 显示全部楼层
在链接时出错: bad file format

本帖子中包含更多资源

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

x

出0入4汤圆

发表于 2014-9-10 12:17:39 来自手机 | 显示全部楼层
很好很强大

出0入0汤圆

发表于 2014-9-10 12:20:12 | 显示全部楼层
还需积分 132 shengji 中间会员~

出50入8汤圆

发表于 2014-9-10 12:39:36 | 显示全部楼层
关注一下

出0入90汤圆

 楼主| 发表于 2014-9-10 19:37:52 | 显示全部楼层
3050311118 发表于 2014-9-10 01:39
楼主大侠  请问下 那些命令行编译工具都是你编译生成的么?
还有那个怎么会出现那个 flexlicense的东西    ...

大部分是 Cosmic 里的,版权问题,呵呵

出0入0汤圆

发表于 2014-10-30 12:31:16 | 显示全部楼层
收藏了,有运行起来的朋友吗

出0入0汤圆

发表于 2015-7-14 19:30:43 | 显示全部楼层
编译可以过。没硬件,怎么试?

出0入0汤圆

发表于 2015-8-6 15:49:44 | 显示全部楼层
hecat 发表于 2014-7-3 16:28
cmd报"系统无法在消息文件中为 Application 找到消息号为 0x2350 的消息文本",可能是版本不一致引起的兼容 ...

请教下你这个编译出错的问题解决了没?我的跟你的一样。

出0入0汤圆

发表于 2015-8-6 16:18:13 | 显示全部楼层
以前也看见过,用20脚的小片做的,这个东西稳定么?楼主有测试么?

出0入0汤圆

发表于 2015-8-6 16:26:12 | 显示全部楼层
mark               

出0入0汤圆

发表于 2015-8-7 09:36:31 | 显示全部楼层
GunGun 发表于 2014-6-18 19:46
Код собран компилятором Cosmic версии 4.3.7, к сожалению IAR-о ...

Code compiled with version 4.3.7 Cosmic unfortunately IAR-ohm do not use.

出0入0汤圆

发表于 2015-9-6 10:26:07 | 显示全部楼层
一样的错误没法编译通过关键在这句
        @$(CROSS)cobj -n target/target.sm8 | $(CROSS)cosmic_format 'mcu/stm8s003f3.lsf'
换了三个win7都不行 不知道楼主的win7是哪里比较特别.
看来是烂尾了

出0入0汤圆

发表于 2015-9-7 10:01:00 来自手机 | 显示全部楼层
跟踪一下进展~

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-26 14:28

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

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