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.

[参考译文] RM48L540:如何使能零位除法来产生一个未定义的指令异常?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/839879/rm48l540-how-to-enable-the-division-by-zero-bit-to-generate-an-undefined-instruction-exception

器件型号:RM48L540

您好!

在我的软件中、除0不会生成未定义的指令异常。

在 cortex R4参考手册中、系统控制寄存器中有一个 DZ (被零除)位来生成一个未定义的指令异常。 默认情况下、该位为0 (不会产生未定义的指令异常)。

在 RM48参考手册中、我找不到 DZ 位。

当我将一个值除以零时,如何生成一个异常?

谢谢

Eric

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

    您好!

    我找到了一个与您类似的线程。 请检查它是否有用。

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

    软件已经用 C 语言编写、 我使用符号/进行除法。 有时、库中会出现我  无法更改的分部。

    此致

    Eric

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

    你好

    通过这些行启用 Dz 位(来自 udiv.asm)

     MRC P15、#0、R3、C1、c0、#0
     ORR R3、R3、#0x80000
     MCR P15、#0、R3、C1、c0、#0

    我已在软件中包含这些行、它适用于整数值。 如果我将整数除以零、则有一个例外。

    但是、对于浮点值、它不起作用、我没有例外。

    如何通过将浮点值除以零来实现异常?

    谢谢

    Eric

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

    Eric、

    有一个次级辅助控制寄存器、此寄存器有一个名为 DZC 的位。 该位默认为0、屏蔽浮点除零异常的输出。 该位必须置位为"1"才能使能该异常的输出。 更多详细信息、请参阅 Cortex-R4F TRM。

    此致、Sunil