社区导航

 

搜索
查看: 2192|回复: 47

[原创] 【STM32WB55 测评】+USBDongle变砖记

  [复制链接]

1796

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2019-5-9 00:48 | 显示全部楼层 |阅读模式
本帖最后由 freebsder 于 2019-5-9 00:50 编辑

    想把USBDongle刷成sniffer用来监听蓝牙无线的情况。
    于是,安装最新的STM32Cube_FW_WB_V1.1.0,安装烧写工具STMCubeprogrammer。

    在STM32Cube_FW_WB_V1.1.0中找到固件的烧写说明 STM32Cube_FW_WB_V1.1.0/Projects/STM32WB_Copro_Wireless_Binaries/Release_Notes.html

    大概意思第一步安装 STM32CubeProgrammer,第二步把USBDongle的boot模式选择到Boot0,第三步删除当前协议栈,第四步读取内存中的版本信息,用于后面的Firmware Upgrade Services升级,第五步,烧写FUS,第六步烧写协议栈。

    3.png


读取的版本信息。根据提示,我需要升级FUS,所以,执行第五步命令
   
4.png


到这里,出现问题了,升级失败,重试三次后抹掉写入信息推出:
2.png


我以为是版本问题,要么就恢复到以前的版本应该可以,所以,专门又下载了STM32Cube_FW_WB_V1.0.0,结果里面没有FUS固件。那我就根据1.0.0的说明刷写1.0.0的协议栈吧,同样的,失败。。。


好了,至此,USBDongle新固件的写不了,老的固件不能恢复,变砖了。@okhxyyo  只能问问ST,还有没有救。。。


此内容由EEWORLD论坛网友freebsder原创,如需转载或用于商业用途需征得作者同意并注明出处



此帖出自RF/无线论坛
1.png
人已离开,无事别找,找也找不到。


回复

使用道具 举报

9631

TA的帖子

133

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2019-5-9 06:06 来自手机 | 显示全部楼层
好的我给问问去。


回复

使用道具 举报

2924

TA的帖子

1

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-5-9 08:50 | 显示全部楼层
我昨天看了一下USBDongle的原理图,调试接口是引出到边上的接口了的。应该是可以用STLINK烧写的。

点评

只有 CPU2 才能访问那部分 FLASH, SWD也不能访问,读都不能读。  详情 回复 发表于 2019-5-9 09:45
如果只是需要flash写这么简单,何必弄个命令行又是升级又是刷代码? 没用的,烧进去紧接着还有二次动作。  详情 回复 发表于 2019-5-9 09:11


回复

使用道具 举报

1796

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

 楼主| 发表于 2019-5-9 09:11 来自手机 | 显示全部楼层
damiaa 发表于 2019-5-9 08:50
我昨天看了一下USBDongle的原理图,调试接口是引出到边上的接口了的。应该是可以用STLINK烧写的。

如果只是需要flash写这么简单,何必弄个命令行又是升级又是刷代码? 没用的,烧进去紧接着还有二次动作。


回复

使用道具 举报

1228

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2019-5-9 09:45 | 显示全部楼层
damiaa 发表于 2019-5-9 08:50
我昨天看了一下USBDongle的原理图,调试接口是引出到边上的接口了的。应该是可以用STLINK烧写的。

只有 CPU2 才能访问那部分 FLASH, SWD也不能访问,读都不能读。

点评

是的,估计cube programer里面和bootloader里面有特定的协议才能写这块区域。  详情 回复 发表于 2019-5-9 10:57
哦 这样。  详情 回复 发表于 2019-5-9 09:50


回复

使用道具 举报

2924

TA的帖子

1

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-5-9 09:50 | 显示全部楼层
本帖最后由 damiaa 于 2019-5-9 10:26 编辑
cruelfox 发表于 2019-5-9 09:45
只有 CPU2 才能访问那部分 FLASH, SWD也不能访问,读都不能读。

哦 这样。我刚才看了NUCLEO板子的例子,README文件里提到了一句:
This application requests having the stm32wb5x_BLE_Stack_fw.bin binary flashed on the Wireless Coprocessor.
If it is not the case, you need to use STM32CubeProgrammer to load the appropriate binary.

Refer to /Projects/STM32_Copro_Wireless_Binaries/ReleaseNote.html for the detailed procedure to change the
Wireless Coprocessor binary.

意思无线协处理器的更改方法是用STM32CubeProgrammer。好像是只提到了Projects\STM32WB_Copro_Wireless_Binaries\Release_Notes这个更改方法。


回复

使用道具 举报

251

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-9 09:57 | 显示全部楼层
wb的库提供了doggle的源码,可以自己定制和编译,应该可以写入的,不用急。我正在研究,也试一下写入自定义的bin,看是成功还是变砖。

点评

有代码的那部分应该是应用代码,固件代码好像真没看到  详情 回复 发表于 2019-5-9 10:55
哈哈。  详情 回复 发表于 2019-5-9 10:28


回复

使用道具 举报

2924

TA的帖子

1

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-5-9 10:28 | 显示全部楼层
本帖最后由 damiaa 于 2019-5-9 10:30 编辑
北方 发表于 2019-5-9 09:57
wb的库提供了doggle的源码,可以自己定制和编译,应该可以写入的,不用急。我正在研究,也试一下写入自定义 ...

哈哈。 还是留几个好的吧。都变砖了就不好玩了。

点评

革命的火种要保留!  详情 回复 发表于 2019-5-9 10:54
ST看到大家这么有探究精神也不知道是什么感受  详情 回复 发表于 2019-5-9 10:38


回复

使用道具 举报

9631

TA的帖子

133

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2019-5-9 10:38 来自手机 | 显示全部楼层
damiaa 发表于 2019-5-9 10:28
哈哈。 还是留几个好的吧。都变砖了就不好玩了。

ST看到大家这么有探究精神也不知道是什么感受


回复

使用道具 举报

1796

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

 楼主| 发表于 2019-5-9 10:54 来自手机 | 显示全部楼层
damiaa 发表于 2019-5-9 10:28
哈哈。 还是留几个好的吧。都变砖了就不好玩了。

革命的火种要保留!

点评

楼主还好,还有一块NUCLEO吧。直接用1.0版本玩。  详情 回复 发表于 2019-5-9 11:14


回复

使用道具 举报

1796

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

 楼主| 发表于 2019-5-9 10:55 来自手机 | 显示全部楼层
北方 发表于 2019-5-9 09:57
wb的库提供了doggle的源码,可以自己定制和编译,应该可以写入的,不用急。我正在研究,也试一下写入自定义 ...

有代码的那部分应该是应用代码,固件代码好像真没看到


回复

使用道具 举报

1796

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

 楼主| 发表于 2019-5-9 10:57 来自手机 | 显示全部楼层
cruelfox 发表于 2019-5-9 09:45
只有 CPU2 才能访问那部分 FLASH, SWD也不能访问,读都不能读。

是的,估计cube programer里面和bootloader里面有特定的协议才能写这块区域。


回复

使用道具 举报

2924

TA的帖子

1

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-5-9 11:11 | 显示全部楼层
仔细的看了楼主的操作,是没发现什么问题。第五步升级FUS挂了,如果到1.0版本也不能烧写无线固件 Wireless Coprocessor Binary,目前没看到有其他提供的方法。直接用1.0版本估计规避这个FUS升级问题。


回复

使用道具 举报

2924

TA的帖子

1

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-5-9 11:14 | 显示全部楼层
freebsder 发表于 2019-5-9 10:54
革命的火种要保留!

楼主还好,还有一块NUCLEO吧。直接用1.0版本玩。


回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-9 15:21 | 显示全部楼层
楼主提醒的好!我做了WB的板子,等芯片焊上去后多试试,不担心变砖。开发板是不敢动了,只能下载应用程序看看。


回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-9 15:52 | 显示全部楼层
问一下楼主,sniffer固件对应的是哪一个bin文件?
ble.png


回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-9 16:51 | 显示全部楼层
通过这两个工具,难道不能烧写到指定区域吗?
BLE1.png

点评

最后一个bin。你可以试试那些工具行不行。  详情 回复 发表于 2019-5-9 17:08


回复

使用道具 举报

1796

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

 楼主| 发表于 2019-5-9 17:08 来自手机 | 显示全部楼层
卡森 发表于 2019-5-9 16:51
通过这两个工具,难道不能烧写到指定区域吗?

最后一个bin。你可以试试那些工具行不行。


回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-9 17:27 | 显示全部楼层
freebsder 发表于 2019-5-9 17:08
最后一个bin。你可以试试那些工具行不行。

我等过几天DIY的板子上试试看,我想都是通过内置BootLoader写进去的吧,只是方式不同罢了,如果再增加一种烧写方式,那有些多此一举了吧,希望能成功。

另外,我还没完全看懂是怎么访问M0处理器的,看代码有些累,应该是通过命令与之通信,望多交流。

点评

目前只知道他们通过IPCC和HSEM进行两个核的通讯。 至于具体如何操作,有一份AN5270文档,描述了BLE固件的命令和格式,但是并没有具体说明IPCC和HSEM是如何传递命令接收反馈等等。 代码中有体现如操作IPCC通道一,  详情 回复 发表于 2019-5-9 22:50


回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-9 20:52 | 显示全部楼层
freebsder 发表于 2019-5-9 17:08
最后一个bin。你可以试试那些工具行不行。

我看了下你更新的flash地址是0x080EC000,而最后一个固件bin需要更新在0x080EA000,会不会这里出错了?


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-11-20 04:18 , Processed in 0.531096 second(s), 17 queries , Gzip On, MemCache On.

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