This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LC4357-EP:除以0不会报告 uint64的错误

Guru**** 2477065 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1052845/tms570lc4357-ep-dividing-by-0-does-not-report-an-error-for-uint64

器件型号:TMS570LC4357-EP

您好!

根据以下讨论、我在代码中覆盖__aeabi_idiv0和__aeabi_ldiv0函数定义。

e2e.ti.com/.../compiler-tms570ls0432-division-and-abi-helper-functions-from-runtime-library

因此、我具有以下用于除法运算的输出:

uint8 /0操作调用覆盖了__aeabi_idiv0
INT8 /0操作调用覆盖了__aeabi_idiv0
uint8 %0操作调用覆盖了__aeabi_idiv0
INT8 %0操作调用已覆盖__aeabi_idiv0
uint16 /0操作调用覆盖了__aeabi_idiv0
int16 /0操作调用覆盖了__aeabi_idiv0
uint16 %0操作调用覆盖了__aeabi_idiv0
int16 %0操作调用被覆盖__aeabi_idiv0
uint32 /0操作调用覆盖了__aeabi_idiv0
int32 /0操作调用覆盖了__aeabi_idiv0
uint32_t %0操作调用覆盖了__aeabi_idiv0
int32_t %0操作调用覆盖了__aeabi_idiv0
int64 /0操作调用被覆盖__aeabi_ldiv0
int64_t %0操作调用已覆盖__aeabi_ldiv0
uint64 /调用 empty __aeabi_ldiv0 格式 ull_div32.asm
uint64_t %调用 empty __aeabi_ldiv0 格式 ull_div32.asm

看起来、出于某种原因、UL_DIV32.asm 已经包含__aeabi_ldiv0的空定义、因此无法覆盖它。

您是否看到此问题的一些快速修复或解决方法?  我使用的是 ti-cgt-arm_20.2.1.LTS 编译器版本。

感谢你的帮助、
此致、
Sebastian Sokolowski

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您将此问题通知我们。  我同意这种说法是错误的。  我能够重现问题。  我提交了 EXT_EP-10625条目  以进行调查。  欢迎您通过该链接访问该链接。

    谢谢、此致、

    乔治