Hi all,
Recently I got an 32F769IDISCOVERY evaluation board for STM32F769NIH6, the device claims to support ARM® double-precision and single-precision data-processing instructions.
But when I use my Keil 5.20 version MDK and installed latest STM32F7series DFP packs (2.6) and CMSIS library, I can only see "Use Single Precision" opiton in Floating Point Hardware option in Project Options (Target tab).
Does this mean Keil 5.2 cannot support "Using Double Precision" option for STM32F769NIH6 project yet? And how to solve this issue?
Looks forward to your reply soon.
BRs, Leon
you are right. STM32F769NIH6 supports double FPU. However, currently there are some issues in the *.pdsc file of the DFPs so that µVision cannot recognize that some devices actually support double FPU. Thus, you cannot see the "Use double precision" option in uVision.
as alternative, you can refer to this doc http://www.keil.com/support/docs/3716.htm to manually enable the double FPU support for now.
>>the device claims to support ARM® double-precision and single-precision data-processing instructions
And it does, the code to enable the hardware typically resides in SystemInit(), and they can be used without the assistance of the C run-time library.
they can be used without the assistance of the C run-time library.
To some extent they can. Actually, a large part of the point of using HW FPU is to reduce the amount of run-time library code needed to do FP computations.
But it's quite pointless to enable the HW FPU if the compiled code doesn't use it. The --cpu (and possibly --fpu) options switched by that selector box really have to be passed to the compiler and linker for the HW FPU to be actually useful to the program. So set them manually as long as uVision can't/won't do it.