【问题标题】:Migrating NUCLEO152RE to STM32L073将 NUCLEO152RE 移植到 STM32L073
【发布时间】:2023-12-07 19:23:01
【问题描述】:

我在 NUCLEOL152RE 上有一个代码,我想将此代码迁移到 STM32L073RZ

将此代码从 NUCLEO152RE 迁移到 STM32L073 需要执行哪些步骤。

【问题讨论】:

  • 你必须告诉我们更多。让我们看看:用于配置的库(外设、hal、cmis)、使用的外设等。
  • 如果您的代码是使用 STM32 HAL 编写的,那并不难,但我们对您的代码一无所知,因此很难移植。
  • 我从 ARMmbed developer.mbed.org/users/spcores/code/TC_Bootcamp_1V1/docs/… 得到代码我将上面的代码从 ARMmbed 转换为 KEIL
  • 我已经为 STM32L073 尝试了相同的代码,然后出现这些错误。\build\uvision5\1_kernelTC_Bootcamp_1V1.axf: Error: L6366E: chainableled.o attributes is not compatible with the provided attributes。对象 chainableled.o 包含与提供的属性不兼容的构建属性。 Tag_CPU_arch = ARM v7 (=10) Tag_CPU_arch_profile = 微控制器配置文件“M”(例如,对于 Cortex M3)(=77)

标签: stm32 stm32ldiscovery stm32l152


【解决方案1】:

您正在切换的内核之间存在显着差异。

Cortex M0+ 不支持非对齐访问:

“在 Cortex-M0+ 处理器上不支持非对齐访问。任何尝试 执行未对齐的内存访问操作会导致 HardFault 异常。”

这意味着e。 G。 4B 变量地址必须是 4 可除的。解析协议帧等时是否不舒服?

它也不支持位带(位访问内存)。

【讨论】: