FAQ0089 AT32工程在M3内核芯片上运行 使用注意事项
本帖最后由 ArterySW 于 2022-5-11 19:52 编辑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 卸载即可。
OPERATIONINSTRUCTIONSCM3CM4
16X16=32SUBLBB, MULBT, SMULTB, SMULTTn/a1
16X16+32=32SMLABB, SMLABT, SMLATB, SMLATTn/a1
16X16+64=64SMLALBB, SMLALBT, SMLALTB, SMLALTTn/a1
16X32=32SMULWB, SMULWTn/a1
16X32+32=32SMLAWB, SMLAWTn/a1
(16X16)±(16X16)=32SMUAD, SMUADX, SMUSD, SMUSDXn/a1
(16X16)±(16X16)+32=32SMLAD, SMLADX, SMLSD, SMLSDXn/a1
(16X16)±(16X16)+64=64SMLALD, SMLALDX, SMLSLD, SMLSLDXn/a1
32X32=32MUL11
32±32X32=32MLA, MLS21
32X32=64SMULL, UMULL5-71
32X32+64=64SMLAL, UMLAL5-71
32X32+32+32=64UMAALn/a1
32±32X32=32(upper)SMMLA, SMMLAR, SMMLS, SMMLSRn/a1
32X32=32(upper)SMMUL, SMMULRn/a1
类型: MCU 应用
适用型号: AT32 全系列: AT32F403, AT32F403A, AT32F413,AT32F415, AT32F407, AT32F421, AT32F435
主功能: 不针对具体功能
次功能: 不针对具体功能
页:
[1]