如何检查stm32是否正常工作?

How to check if stm32 is working?

我有一个 STM32F03 并焊接了它。如何检查所有焊料是否正确以及设备是否正常工作? (我没有刻录引导加载程序,也没有 stlink)。

另一个问题是我可以使用 Arduino UNO(CG340G` 克隆)对 STM32F1 进行编程吗?

  1. 检查焊接是使用特殊测试程序的最佳做法,该程序必须从 MCU 启动(闪存或使用 JTAG/SWD 从 RAM 启动)但如果您不能闪存或使用 ST- link,那就不知道了,因为所有的GPIO都是高阻抗的,那你就没办法检测GPIO是否正确焊接了。

  2. 是的,您可以使用Arduino或任何其他MCU对STM32F1进行编程,您有两种可能性:

STM32 在片上 ROM 中有一个引导加载程序,如果您已声明引导配置引脚来执行此操作,它会在启动时运行。它能够通过STM32F1xxx上的USART1将代码加载到Flash存储器。

毫无疑问,可以使用 Arduino UNO 实现 JTAG 或 SWI debug/programmer 适配器。 JTAG 本身实现起来非常简单,并且在 PC 上使用 OpenOCD 可以驱动适配器。如果您要模拟或克隆 OpenOCD 已经支持的现有适配器,那么这样做是最简单的。例如 JTAGduino.

我同意其他人的看法。我认为该芯片上没有外部生命迹象(运行 读取闪存等,您可能会在依赖片外 rom/ram 的芯片上找到这些)。

所以...阅读手册...

它讲述了引导引脚及其作用,还有其他文档和示例(我有很多 "out there")向您展示了如何使用 uart 连接到引导加载程序如果你绑对了。

我也同意,如果您没有阅读引出线和启动模式,那么将零件焊接下来真的没有意义。您甚至检查过是否需要外部振荡器或 crystal 或其他组件吗?您首先需要做的许多事情之一。现在我可以理解,如果你在某个团队中并且 "hardware folks" 做了他们的事情并将这个板扔到墙上让你做你的事情,我明白了,不幸的是,这种情况经常发生。你应该知道董事会即将到来,在董事会最终确定之前,你应该已经在决策树中使用哪个部分,并且你应该驱动硬件人员了解你需要他们实施哪些选项(重置按钮,或 boot0 或 boot1 按钮或跳线,你想要的 boot0 按钮的默认捆扎,等等)。所有这些事情都应该发生在 PCB 制造之前,当然也应该发生在焊料开始流动之前。

花费 10 美元并获得其中一个带有 stlink 的发现板或其他板。再花 10-15 美元买一个 ftdi 分线板,你可以用它来连接 uart。在那些之间你应该能够与芯片交谈并查看它是否还活着,你也可以使用 st 发现或其他板来尝试串行引导加载程序并编写几行代码以启动与引导加载程序的联系并查看它的响应,然后在你的板上尝试同样的事情。