ARM Cortex M3 серьезная ошибка из-за 64-битного адреса - PullRequest
0 голосов
/ 04 июня 2019

Мой ARM Cortex M3 micro генерирует серьезную ошибку при запуске функции библиотеки C "localtime ()". Пошаговое выполнение функции localtime показывает, что 64-битные адреса используются везде. Это не вызывало никаких проблем, пока эта строка кода «str r1, [r3, r2]» не использует относительный 64-битный адрес. Компилятор GCC настроен для режима Thumb. Должен ли компилятор / компоновщик распознавать режим Thumb и код компиляции / компоновки для этого режима? Что я могу сделать, чтобы решить эту проблему?

пошаговая функция localtime () для поиска источника ошибки адреса.

str r1, [r3, r2]

=========================================== Сделать файл

################################################################################
# Automatically-generated file. Do not edit!
################################################################################

-include ../makefile.init

RM := rm -rf

# All of the sources participating in the build are defined here
-include sources.mk
-include Source/subdir.mk
-include subdir.mk
-include objects.mk

ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif

-include ../makefile.defs

# Add inputs and outputs from these tool invocations to the build variables 

# All Target
all: GPS_Clock3.axf

dependents:
    -cd C:/Users/Greg/SimplicityStudio/v4_workspace/GPS_Clock3/GNU\ ARM\ v4.9.3\ -\ Release && $(MAKE) all

# Tool invocations
GPS_Clock3.axf: $(OBJS) $(USER_OBJS) C:/Users/Greg/SimplicityStudio/v4_workspace/GPS_Clock3/GNU\ ARM\ v4.9.3\ -\ Release/GPS_Clock3.axf
    @echo 'Building target: $@'
    @echo 'Invoking: GNU ARM C Linker'
    arm-none-eabi-gcc -g3 -gdwarf-2 -mcpu=cortex-m3 -mthumb -T "C:/Users/Greg/SimplicityStudio/v4_workspace/GPS_Clock3/GNU ARM v4.9.3 - Debug/GPS_Clock3.ld" -nostartfiles --specs=nosys.specs -Xlinker --gc-sections -Xlinker -Map="GPS_Clock3.map" --specs=nano.specs -o GPS_Clock3.axf "./Source/aeabi_memset-thumb.o" "./Source/crt0.o" "./Source/em_emu.o" "./Source/functions.o" "./Source/interrupts.o" "./Source/main.o" "./Source/startup_efm32jg1b.o" "./Source/test.o" -lm -Wl,--start-group -lgcc -lc -lnosys -Wl,--end-group
    @echo 'Finished building target: $@'
    @echo ' '

    @echo 'Building hex file: GPS_Clock3.hex'
    arm-none-eabi-objcopy -O ihex "GPS_Clock3.axf" "GPS_Clock3.hex"
    @echo ' '

    @echo 'Building bin file: GPS_Clock3.bin'
    arm-none-eabi-objcopy -O binary "GPS_Clock3.axf" "GPS_Clock3.bin"
    @echo ' '

    @echo 'Building s37 file: GPS_Clock3.s37'
    arm-none-eabi-objcopy -O srec "GPS_Clock3.axf" "GPS_Clock3.s37"
    @echo ' '

    @echo 'Running size tool'
    arm-none-eabi-size "GPS_Clock3.axf"
    @echo ' '

# Other Targets
clean:
    -$(RM) $(EXECUTABLES)$(OBJS)$(C_DEPS) GPS_Clock3.axf
    -@echo ' '

.PHONY: all clean dependents
.SECONDARY:
C:/Users/Greg/SimplicityStudio/v4_workspace/GPS_Clock3/GNU\ ARM\ v4.9.3\ -\ Release/GPS_Clock3.axf:

-include ../makefile.targets
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...