Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


Programming Application in Specified address and Debug

Hello,

is it possible with ac6 to download a program on a specified address, such as “0x8004000”? My program consists of two parts. One boot loader and one User Application and I want to debug the User Application program in the address “0x8004000” while i have the bpptloader program in address “0x8000000”.
I downloaded this example from the site st.com and downloaded by STM32 ST-LINK Utility at the address “0x8004000” but i can not to debug it.

France

For this you should edit the link editor script (the file with extension ‘ld’) to have the FLASH start at 0x8004000 (changing the start address and length in the MEMORY section) then load and debug your code normally.

Bernard (Ac6)


Thanke you for answer.
I did it, but the problem is that boot loader content changes and gets affected when the program is downloaded. Also, when debugging, this error is seen:

No source available for “0x10100”

and in Console i see:

Error: Whole bank access must start at beginning of bank.
Info : STM32L4xx flash size is 1024kb, base address is 0x8000000

I think that base address must change to 0x8004000. But i don’t know how to do.

My Memory Section in .ld file is:

MEMORY
{
FLASH (rx)  : ORIGIN = 0x8004000, LENGTH = 496K
RAM (xrw)  : ORIGIN = 0x20000000, LENGTH = 96K
RAM2 (xrw)  : ORIGIN = 0x10000000, LENGTH = 32K
}

France

Hi,

Your problem was described, and solved, in several forum topics; for example look at http://www.openstm32.org/forumthread2364Question, the previous to last post explain how to avoid the bootloader to be erased when programming the application and may help you.

Also do not forget to change the vector table offset as explained in the same post.

For more information on this just do a search for “bootloader” in the forum.

Bernard (Ac6)


I’ve read this link before and in another project I was able to read the Application Program from SD card with a boot loader and program it in desired address in flash. But in this project, i have a binary file as Bootloader, and Source code as Application and my goal is to “Debug” the Application in address 0x8004000 when the bootloader has been downloaded at 0x8000000 with ST-Link utility.
I attached the Project files hiere: https://ufile.io/ijzl7Question