2021-08-10 08:10 AM
STM32F103 have only trumb mode but linker generate veneers procedure in arm mode
and program go to HardFault.
How correct this problem.
example:
20004420 <__display_screen_set_display_function__veneer>:
20004420: e51ff004 ldr pc, [pc, #-4] ; 20004424 <__display_data_get_temp_veneer>
20004424: 080002f8 .word 0x080002f8
in debuger show as folow:
20004420: 0x04f01fe5 ; <UNDEFINED> instruction: 0xf004e51f
20004424: 0x0000f802 lsls r0, r7, #11
20004426: 0x00000008 lsrs r0, r0, #32 => jmp 0x080002F8
2021-08-10 09:12 AM
What compiler toolchain did you use and what compiler (command line) options?
2021-08-10 02:03 PM
Arm-none-eabi-gcc (GNU Tools for STM32 7-2018-q2-update.20190328-1800) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]
options
-mcpu=cortex-m3 --specs=nosys.specs -Wl,-Map="${ProjName}.map" -Wl,--cref -Wl,--gc-sections -nostartfiles -nodefaultlibs -nostdlib -static -L"..\ldscripts" -T mem_overlay.ld -T sections_overlay.ld -T libs.ld --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
STM32CubeIDE Version: 1.4.0