硬汉嵌入式论坛

 找回密码
 立即注册
搜索
查看: 6043|回复: 0
收起左侧

[客户分享] FAQ0089 AT32工程在M3内核芯片上运行 使用注意事项

[复制链接]

23

主题

16

回帖

85

积分

初级会员

积分
85
发表于 2021-2-27 17:03:03 | 显示全部楼层 |阅读模式
本帖最后由 tutu 于 2022-5-11 19:48 编辑

FAQ0089 AT32工程在M3内核芯片上运行 使用注意事项

Questions: AT32 工程在 M3 内核芯片上运行进入硬件错误处理函数( HardFault_Handler)
Answer:当使用 AT32 工程在其余 M3 内核芯片上运行, 需要注意由于 AT32 为 M4 内核芯片, 编译软件在 M4 内核基础上进行汇编, 诸如 16 位乘 32 位和 32 位乘 32 位编译器汇编出来的汇编指令不一致( 在 M4 内 16 乘位 32 位是SMULBB, 在 M3 内是 MUL, M3 内核不能执行 SMULBB), 部分 DSP 指令介绍见表 1。解决该问题, 在编译时将 M4 内核 DFP 卸载即可。

OPERATION INSTRUCTIONS CM3 CM4
16X16=32 SUBLBB, MULBT, SMULTB, SMULTT n/a 1
16X16+32=32 SMLABB, SMLABT, SMLATB, SMLATT n/a 1
16X16+64=64 SMLALBB, SMLALBT, SMLALTB, SMLALTT n/a 1
16X32=32 SMULWB, SMULWT n/a 1
16X32+32=32 SMLAWB, SMLAWT n/a 1
(16X16)±(16X16)=32 SMUAD, SMUADX, SMUSD, SMUSDX n/a 1
(16X16)±(16X16)+32=32 SMLAD, SMLADX, SMLSD, SMLSDX n/a 1
(16X16)±(16X16)+64=64 SMLALD, SMLALDX, SMLSLD, SMLSLDX n/a 1
32X32=32 MUL 1 1
32±32X32=32 MLA, MLS 2 1
32X32=64 SMULL, UMULL 5-7 1
32X32+64=64 SMLAL, UMLAL 5-7 1
32X32+32+32=64 UMAAL n/a 1
32±32X32=32(upper) SMMLA, SMMLAR, SMMLS, SMMLSR n/a 1
32X32=32(upper) SMMUL, SMMULR n/a 1

类型: MCU 应用
适用型号: AT32 全系列: AT32F403, AT32F403A, AT32F413,AT32F415, AT32F407, AT32F421, AT32F435
主功能: 不针对具体功能
次功能: 不针对具体功能




FAQ0089_AT32工程在M3内核芯片上运行使用注意事项_V2.0.0.pdf

110.54 KB, 下载次数: 0

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-9-30 21:58 , Processed in 0.142098 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表