一、序言
近期整理了这些 ST的开拓板。每块电路板上包含有一个板载调试器,STLINK。将这板载开拓器去下,可以用于之后其他实验板的调试。这些调试器都包含有一个 F103单片机,下面单独测试一下这些开拓板的利用。
二、干系资料
在ST网站给出了这种开拓板的详细资料。用户手册给出了先容了开拓板利用方法。电路板上包括有一个六芯的插座,可以通过它对电路板进行程序下载更新。下面利用个中四条线,连接到昨天制作的测试电路板上。

三、下载缺点
电路板上的芯片为 STM32F373,通过探针夹子与 ST Link连接。这个电路板可以通过 JLINK 中的 SWD 模式进行程序下载。现在测试 STLink的下载功能。
首先测试 ST Utility 软件,它可以通过 STLINK 与 电路板建立联系,并精确识别单片机旗子暗记,读取内部程序中的数据。实行芯片擦除功能,芯片被精确擦除了。下面测试下载程序功能。可以看到此时,下载程序报错。详细缘故原由不详。
直接手工编辑内存FLASH数据,可以看到在起始位置 0 的情形下,无法修正内存FLASH。将地址修正到 0x0800 0000,这次修正FLASH内容,可以精确修正存储了。
因此,预测刚才下载程序出错的缘故原由,是由于编译天生 单片机程序的格式为 HEX 文件,它的起始地址是从 0x0开始的,以是无法下载到单片机中 。
下面再测试 STM32 Cube Programmer 程序,它同样可以精确通过 STLINK 连接到测试电路板上的单片机。但是仍旧无法将单片机的HEX程序下载到开拓板中。是否也是由于读取的 HEX 文件的起始位置是0,而不是 0x0800 0000 的缘故原由呢?
※总 结 ※
本文记录了利用 NUCLEO板载STLINK 对 单片机进行程序下载过程中碰着的问题。能够精确连接到单片机以及对芯片进行擦除。但无法下载 单片机的 HEX 文件。不知道谁知道真正的缘故原由是什么?
参考资料
[1]
Development boards: https://os.mbed.com/platforms/?q=&Mbed+OS+support=Mbed+OS+2
[2]
STM32 Nucleo Boards: https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html