打印
[MM32硬件]

MM32F003TW使用SPI口时,必须要屏蔽SWD吗?

[复制链接]
1227|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Lindson|  楼主 | 2020-5-23 16:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我在用MM32F003TW的SPI时,看来必须要屏蔽SWD,但,屏蔽后,我如何仿真调试,和下载程序?
请原厂支持!

Pin功能复用表.png (287.37 KB )

IO复用表

IO复用表

使用特权

评论回复
沙发
Lindson|  楼主 | 2020-5-23 17:20 | 只看该作者
如果需要屏蔽SWD,来使用SPI功能,我宁可用软件SPI功能了。

使用特权

评论回复
板凳
huangzushuimd| | 2020-5-24 07:20 | 只看该作者
如果需要使用芯片自带SPI, 必须非常注意把SWD 的 SWDIO 配置为SPI的SPI2_MISO;
配置为SPI2_MISO后, 不能支持SWD 调试;
因此还需注意, 保证芯片可以重复烧录;
可以在工程调试阶段, 程序进入main后, 等待2s后, 再配置把SWD 的 SWDIO 配置为SPI的SPI2_MISO的切换动作;
以保证再次需要烧录下载新的调试程序时, 可以通过重新上电, 在这2s内, 通过LINK把目标MCUErase掉, 重新烧录; 再上电看运行效果;
量产后, 可以把这人为添加的2s去除;
其他功能的调试, 可以在不使能SPI功能的情况下, 使用SWD调好;
最后合并SPI的功能, 通过下载, 上电运行(不能通过SWD调试) 看最后的效果;

使用特权

评论回复
地板
zhu^zhu| | 2020-5-24 08:15 | 只看该作者
Lindson 发表于 2020-5-23 17:20
如果需要屏蔽SWD,来使用SPI功能,我宁可用软件SPI功能了。

支持,我也坚决不会屏蔽SWD!代码调试是工程师的魂,没有调试哪有代码,哪有产品!

使用特权

评论回复
5
zhu^zhu| | 2020-5-24 08:20 | 只看该作者
huangzushuimd 发表于 2020-5-24 07:20
如果需要使用芯片自带SPI, 必须非常注意把SWD 的 SWDIO 配置为SPI的SPI2_MISO;
配置为SPI2_MISO后, 不能支 ...

“两秒”论,不太合适吧!

使用特权

评论回复
6
Lindson|  楼主 | 2020-5-24 09:04 | 只看该作者
huangzushuimd 发表于 2020-5-24 07:20
如果需要使用芯片自带SPI, 必须非常注意把SWD 的 SWDIO 配置为SPI的SPI2_MISO;
配置为SPI2_MISO后, 不能支 ...

谢谢!指点。
这是一个办法,但等待2秒后,才启动SPI。这样应用场景就会很受限制。
因此,我后面试试,通过外部复位,把芯片进入复位状态,然后再进行SWD的烧写操作。
你认为如何?

使用特权

评论回复
7
Lindson|  楼主 | 2020-5-24 09:11 | 只看该作者
zhu^zhu 发表于 2020-5-24 08:20
“两秒”论,不太合适吧!

“两秒”论,是一个办法。
有一定应用场景,当然,不能适用所有应用场合。
我们要有一定包容性,MM32F003TW,售价1.1元RMB。功能已经是非常强大。比我们用开的新唐的78E003,性价比已经很高。我们不能强求他能做太多,因为考虑到芯片工艺设计时,需要考虑很多成本因素,我们必须作出让步。我 估计芯片设计者已经把性能、工艺、成本,考虑到极致,才作出这架003战斗机!!!

使用特权

评论回复
8
zhu^zhu| | 2020-5-24 09:33 | 只看该作者
被说到生老茧的一句话:”没有最好,只有更好!“
方案1:在使用目前芯片的条件下,当应用设计存在一种不需要或不可能发生的状态,利用这个状态,人为地将PA13/PA14切为调试口SWD,以达到SPI/SWD的交替使用。而不要机械地使用”两秒论“,有点创造、有点想法不是更好吗?!
方案2:在规划芯片、架构芯片、设计芯片时,利用集成电路的资源(可以认为是无限的),去做SWD与PA13/PA13的全复用,不是更方便用户、方便工程师吗?!不是更有竞争力了吗?!

使用特权

评论回复
9
Lindson|  楼主 | 2020-5-24 13:42 | 只看该作者
zhu^zhu 发表于 2020-5-24 09:33
被说到生老茧的一句话:”没有最好,只有更好!“
方案1:在使用目前芯片的条件下,当应用设计存在一种不需 ...

很好!

使用特权

评论回复
10
huarana| | 2020-5-26 09:21 | 只看该作者
对于这级别的单片机来说,多数时候不需要仿真,用串口输出来调试好了。

非要调试的话,我的建议是  用软件SPI  ,还简单点

使用特权

评论回复
11
zhu^zhu| | 2020-5-26 13:13 | 只看该作者
我是仿真器族,没有仿真器我会寸步难行。
我也知道,使用仿真器可以做出有技巧的代码。
我还知道,什么是时间,什么是效率。
随便说说。

使用特权

评论回复
12
callhgd| | 2020-6-22 17:23 | 只看该作者
呵呵 ,我今天也来揍个热闹,弱弱的问一句,调试可以用STLINK吗?想准备玩一玩。

使用特权

评论回复
13
zhu^zhu| | 2020-6-22 18:28 | 只看该作者
MM32-LINK

使用特权

评论回复
14
falcon-yin| | 2020-7-7 14:24 | 只看该作者
huangzushuimd 发表于 2020-5-24 07:20
如果需要使用芯片自带SPI, 必须非常注意把SWD 的 SWDIO 配置为SPI的SPI2_MISO;
配置为SPI2_MISO后, 不能支 ...

这算是一个“独特”还是一个“奇葩”的设计。如果是成本考虑,那直接做一个IC的简易封装,直接用黑胶固定上,那还更简单,更便宜。这种设计,给人的感觉是越设计,越回到从前。看看目前市场主流产品怎么做的?

使用特权

评论回复
15
deathgod8884| | 2021-1-29 00:04 | 只看该作者
我也碰到这个问题,为了找到问题我废了3片芯片,我目前的解决办法是,上电的时候先不初始化SPI,当需要用SPI发送或者接受数据的时候,初始化SPI,然后正常SPI操作,等操作完成,可以deint   SPI,然后把PA13引脚的复用功能设置为AF0,这样,就不会影响下载,但是调试肯定不能调试SPI了,所以必须要保证SPI的用法正确。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

34

帖子

1

粉丝