Hi, just found this thread about
APM32F103 chip.
Recently I got STLinkV2 clone with genuine Geehy APM32F103CBT6 chip and it looks like the FPU is working for me
The chip looks like this

datasheets are available here
https://www.geehy.com/apm32?id=14
FPU is documented in the APM32F103x4x6x8xB User Manual pdf
I just enabled it via bit 2 of 0x40021014 and then followed manual - started fpu with operation division to register 0 (base for FPU is 0x40024000), wrote 2 arguments to 0xc and 0x10 and the result was in 0x8 register after register 0x4 showed operation is done via 1
I got this stlinkv2 clone from this aliexpress item
https://www.aliexpress.com/item/1005001621626894.html but no guarantee you'll get it too (order was placed Apr 9, 2022 and I got it today).
So to sum it up this is not E variant of the chip and the FPU is working.
And BTW I flashed the dongle with Espruino JavaScript interpreter
https://github.com/fanoush/EspruinoBoar ... r/STLINKV2 so testing FPU was just a few poke32/peek32 calls
Code: Select all
>var f=new Float32Array(3)
=new Float32Array(3)
>var i=new Int32Array(f.buffer)
=new Int32Array(3)
>peek32(0x40021014).toString(16)
="14"
>peek32(0x40024000).toString(16)
="3130342a"
>poke32(0x40021014,0x14+8)
=undefined
>peek32(0x40024000).toString(16)
="0"
>poke32(0x40024000,1+22*2)
=undefined
>f[0]=0.5
=0.5
>f[1]=2
=2
>poke32(0x40024000+0xc,i[0])
=undefined
>poke32(0x40024000+0x10,i[1])
=undefined
>peek32(0x40024000+0x04)
=1
>i[2]=peek32(0x40024000+0x08);f[2]
=0.25
>