0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用户代码移植到STM32芯片时发生非对齐错误怎么办

麦辣鸡腿堡 来源:茶话MCU 作者:茶话MCU 2023-09-09 15:48 次阅读

为什么基于Cortex-M3/M4的STM32芯片组织的用户代码移植到基于Cortex-M0/M0+的STM32芯片时为何可能会发生非对齐错误?

这是因为基于Cortex-M3/M4的STM32芯片对数据访问的对齐要求不那么严格,即使非对齐访问也可以支持,当然可能会牺牲访问效率。而对于Cortex-M0/M0+的芯片则明确不支持对数据的非对齐访问。显然,我们设计代码时尽量遵循对齐访问便于移植。

图片

因为内核的差异导致我们在应用上的误解或误用,这也是常有的事情。我这里刚好就最近某STM32用户咨询的问题稍作整理,顺便做个简单分享。

下面是部分Cortex-M内核的NVIC特性差异对照表,有兴趣的话可以看看。

图片

该表格是我从The Definitive guide to ARM Cortex-M0 and ARM Cortex-M0+
Processors文档里提取而来,分享给大家算是借花献佛。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    455

    文章

    50732

    浏览量

    423241
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17135

    浏览量

    351017
  • STM32
    +关注

    关注

    2270

    文章

    10896

    浏览量

    355767
  • Cortex
    +关注

    关注

    2

    文章

    202

    浏览量

    46485
收藏 人收藏

    评论

    相关推荐

    STM32移植而引发的两个小疑问

    STM32用户将基于STM32F0芯片代码移植
    的头像 发表于 11-18 14:12 1149次阅读
    因<b class='flag-5'>STM32</b><b class='flag-5'>移植</b>而引发的两个小疑问

    STM32F407 ADC结果无法右对齐怎么办

    从例程里面复制的main自己建立的模板里面就出现了这样的问题,这个“ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;”已经设为右对齐,可是串口出来的数据还是0xXXX0,四个四位数(最右始终为0),明显是左
    发表于 09-10 09:34

    STM32F103的程序移植STM32F107VC上,用不了该怎么办

    做毕业设计,小白一枚,把DW1000测距的代码STM32F103上移植STM32F107VC上,改了启动文件和宏定义,也改了时钟,程序可
    发表于 01-08 09:37

    uboot移植遇到坏块该怎么办

    nand flash 应该也没什么问题才对, 而且视频教程上也是烧写到 nand flash上的。 猜想:是因为 nand flash 坏块的原因吗?2、如果 uboot.bin 大于4K ,还能继续烧写到 nor flash上吗?如果不能,应该怎么办? 期待你们的解答,谢谢!输出的
    发表于 09-29 10:10

    代码移植nucleoSTM32F072RBT6上出现错误

    之前在使用nucleo STM32F091RCT6进行项目实验时,代码编译链接无报错。最近需要将代码移植nucleo
    发表于 12-23 06:18

    sx1278驱动移植时报错怎么办?如何解决

    sx1278驱动移植时报错怎么办?如何解决?为什么会同时调用stm32f10x.h和stm32f103xe.h这两个头文件呢?
    发表于 02-21 07:23

    求助,请问RISC-V系列MCU不支持对齐访问吗?

    的hardfault,即对齐load address错误。网上搜了一下,好像说RISC-V还是像CORTEX-M系列那样,能访问,只是速度一样会很慢。但是现在直接hardfault了。不允许
    发表于 06-20 06:37

    电池换新无法可依怎么办

    电池坏了怎么办?修。修不好怎么办?换。
    发表于 03-19 11:23 1403次阅读

    STM32F4芯片移植_LVGL7.11_UCOS移植代码工程

    STM32F4芯片移植_LVGL7.11_UCOS移植代码工程
    发表于 12-09 17:45 24次下载

    STM32 进入Stop模式后电流还是很大怎么办

    STM32 进入Stop模式后电流还是很大怎么办STM32 进入停止模式后电流还是很大,可能椒几百个uA,怎么办?通常做法有如下几点:MCU外围管脚配置检查外围有无闭合回路SWDIO
    发表于 12-08 20:51 16次下载
    <b class='flag-5'>STM32</b> 进入Stop模式后电流还是很大<b class='flag-5'>怎么办</b>?

    stm32h743外部RAM字节对齐访问,引起的hard fault

    stm32h743外部RAM字节对齐访问,引起的hard fault
    发表于 12-09 09:21 5次下载
    <b class='flag-5'>stm32</b>h743外部RAM<b class='flag-5'>非</b>字节<b class='flag-5'>对齐</b>访问,引起的hard fault

    STM32-不同芯片移植

    在实际项目中,我们根据项目需求选用最合适的芯片型号,有时会涉及一个工程代码在不同芯片上的使用,不同型号的芯片如何
    发表于 12-29 18:49 5次下载
    <b class='flag-5'>STM32</b>-不同<b class='flag-5'>芯片</b>的<b class='flag-5'>移植</b>

    STM32移植的mx wifi源代码

    STM32移植的mx_wifi源代码,可方便移植其他的STM32单片机上。
    发表于 09-26 16:35 2次下载

    STM32的Flash写了保护怎么办STM32如何设置读保护和解除读保护?

    STM32的Flash写了保护怎么办STM32如何设置读保护和解除读保护? 一、STM32的Flash写了保护怎么办? 当
    的头像 发表于 10-29 17:24 1.2w次阅读

    工控主板发生故障该怎么办

    工控主板发生故障该怎么办?前几天有个客户问了我这个问题,大部分情况下出现的故障并不可怕,主要是用户粗心大意造成的。那今天小编就来讲解一下工控主板一般会出现故障的主要原因及判断方法:
    的头像 发表于 04-11 18:19 875次阅读