我正在尝试在 Windows 7上使用JTAG ST-Link/V2从STM32L476芯片读取 MCU_ID(设备电子签名)。芯片内无需上传代码,程序只需在我的电脑上启动并读取此信息从闪存。
我设法从ST 网站上给出的参考手册中找到并提取了以下屏幕截图:
所以我必须使用 C 程序读取存储在 adess 0x1FFF7590 闪存中的值。我正在使用 ST 本身推荐的 Atollic TrueStudio IDE,但在我看来,它包含的"stm32l476xx.h"
库甚至不包含任何可以帮助我的功能。
到目前为止我做了什么
在花了几天时间寻找一些功能或示例来做一些像读取闪存这样简单的事情之后,我在这个网站上询问了How to interact with a STM32 chip memory,这帮助我了解了一些关于我必须做什么的事情做; 尽管如此,即使在阅读了评论中建议的所有链接和文档数天后,我仍然无法找到我想要的东西。
我问了几个专业人士,他们告诉我我应该搜索一个JTAG 驱动程序来与闪存交互,但它似乎有点复杂,我还没有找到任何东西。这个网站上有人告诉我,简单地使用指针就足够了;缺乏 C 示例和互联网教程无法帮助我弄清楚如何做到这一点。
最后,我最近开始研究 STM32Cube 和 HAL,即使我想避免使用它们,因为我认为无需包含这些层就可以完成简单的读取。在尝试使用它们之前,提出这个问题是我的最后希望。
结论:
我无法显示任何代码,因为到目前为止我唯一的东西是#include "stm32l476xx.h"
一个空的 main。
关于如何用 C 语言读取 STM32L476 的闪存的提示或解决方案将是完美的。每个与 STM32 芯片内存交互的 C(或任何低级或更高级别的编程语言)程序或指令的示例都可以帮助我很多,因为在互联网上很难找到。