cancel
Showing results for 
Search instead for 
Did you mean: 

When I change the MCU from M4 to M7, the IDE isn´t updating the linker memory allocation .ld file, if I do it manually, it ignores the memory setting. M4 has 1024Kb, the M7 has 2048KB, do I need to manually adjust or will IDE do it, or why is it failing?

Robmar
Senior III
 
4 REPLIES 4
Robmar
Senior III

Error is on line 109:

# Tool invocations

mchf-uhsdr.elf: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

@echo 'Building target: $@'

@echo 'Invoking: MCU GCC Linker'

arm-none-eabi-gcc -o "mchf-uhsdr.elf" $(OBJS) $(USER_OBJS) $(LIBS) -mcpu=cortex-m7 -T"C:\DevEx\AmateurRadio\uHSDR_McHF\UHSDR_M0nka\mchf-eclipse\linker\arm-gcc-link_f7.ld" --specs=nosys.specs -Wl,-Map="mchf-uhsdr.map" -Wl,--gc-sections -static -L../../../mchf-eclipse/linker --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group

@echo 'Finished building target: $@'

@echo ' '

mchf-uhsdr.map: mchf-uhsdr.elf $(OBJS) $(USER_OBJS)

default.size.stdout: $(EXECUTABLES) makefile objects.mk $(OPTIONAL_TOOL_DEPS)

@echo 'Invoking: MCU Size'

109: arm-none-eabi-size $(EXECUTABLES)

@echo 'Finished building: $@'

@echo ' 

Robmar
Senior III

Fixed by deleting Debug and creating a new one from Release which did compile.

I could find no differences between debug and release apart from optimization, so no clue what was wrong.

The problem now is that launching Project1 in debug causes it to execute the main.c of Project2!

I repeated this several times to make sure I´d launched the intended project.

Console:

Note: automatically using hardware breakpoints for read-only addresses.

No source file named D:\\ST\\STM32CubeIDE\\workspace_1.10.1\\Project2\\Core\\Src\\main.c.

set *(int *)0xE000EDFC=*(int *)0xE000EDFC|0x7F0

Program received signal SIGTRAP, Trace/breakpoint trap.

0x0800076e in ?? ()

Semer CHERNI
ST Employee

Hello @Robmar​ 

>>The problem now is that launching Project1 in debug causes it to execute the main.c of Project2!

I repeated this several times to make sure I´d launched the intended project.

Try to check the debug configuration, maybe it is set with the wrong *.elf file.

Also, it would be helpful if you provide the debugger log for analysis.

Thanks,

Semer.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Thanks, I managed to get it working by deleting the configuration and creating a new one from the release version. I think it somehow got corrupted after I updated the toolchain, which updated 4 items successfully, but now post a "network error" every time I check it again.

I like STM32CubeIDE, its an improvement on Eclipse, but it still has a way to go to match the ability of Visual Studio C++, especially the debugger.

There is too much need for very specific information on how to achieve things. Even basic things like installing the CMSIS DSP are impossible to do unless you find the article explaining how. Since CMSIS 5.9.0 STM32CubeIDE fails to install the DSP subfolder, yet there is no official STM solution for new users. Another issue is the project I loaded doesn't run because the reset address is failing to be set correctly by the linker, but there is no obvious way to set the reset address from the vector table created during compile, there is also no easy to find information on how to do this, do we edit the script, is there a dialog setting...? Someone needs to take these issues in hand IMHO.