• so that float could be passed like ints in R0-R4 so that InlineC code could receive float arguments

    Ahh - yes, this makes sense - although since sending floats as function arguments isn't something that's really supported (it has to be done by a bit of a hack) it probably explains why nobody hit this before. I wasn't aware that changing from soft/hard actually changed the argument passing behaviour. nRF52 builds have been like this since at least 2017!!

    Changing from hard -> softfp actually seems to shave a few bytes off the firmware size, so I've committed a change - however it's a tricky one - it doesn't really help anyone on nRF52 who is using the firmware that's out there now. They'll still have the issue using any floating point numbers in code.

    I guess maybe I'll wait until 2v15 gets released and then switch the compiler back to using softfp

  • Changing from hard -> softfp actually seems to shave a few bytes off the firmware size

    yes, thanks for testing, I also made a build and saw that (292300 bytes softfp vs 293468 bytes hardfp on MDBT42Q build) but did not actually test in the device. btw noticed there is also -DFLOAT_ABI_HARD few lines below in the makefile possibly for nordic SDK but keeping it there or removing it did not change the size of build at all so not sure it is doing anything

About

Avatar for fanoush @fanoush started