0

我已经使用 Keolabs Ride7 为 STM32F205RG 生成了一个英特尔十六进制以及一些基本代码的二进制文件。dfu-utils 也可以(我可以使用原始固件对智能手表进行编程)。但是,鉴于二进制/十六进制文件,我知道我该从哪里开始。我从您的固件 dfu 文件中注意到,您将代码放置在闪存中的多个位置。是 0x0800C000 我应该把我的放在哪里,是否有任何东西(除了初始化我想使用的外围设备)应该在该代码中。

问候,古斯塔夫

4

2 回答 2

1

首先,您需要使用重新映射中断表来从起始地址偏移(默认情况下它指向 0x08000000)并将偏移量添加到链接描述文件以进行更正。我没有 SmartWatch,也不知道入口点。它可能是偏移量 0xC000 或其他位置上的默认复位中断向量。只需使用 JTAG 并查看原始固件的反汇编代码。

于 2013-06-18T16:50:50.583 回答
0

有一个开源工具链(GCC) 适配旨在Arduino使用GNU Tools for ARM Embedded Processors和外设库STM32F2xx_StdPeriph_Driver

它创建了一个固件,在屏幕上显示一些不错的信息作为概念证明。SmartWatch如果您执行make program并已dfu-util安装,它甚至会刷新固件。

您应该能够分叉该 makefile 并轻松构建自己的应用程序。

于 2013-06-24T12:55:29.850 回答