cancel
Showing results for 
Search instead for 
Did you mean: 

Dear ST Developers, I think, that my problem is your bug

EEuge
Senior

Hello!

Problem is described here https://community.st.com/s/question/0D53W00000YU9O3SAL/loading-object-code-error

I try to find reason of problem by creating new clear project.

I created project in cubeMX 6.1.1, configured SDRAM, LTDC, QSPI, DMA2D

Than I added to H743.SCT this section

LR_EROM1 0x90000000 0x2000000  {    ; load region size_region
 ER_EROM1 0x90000000 0x2000000  {  ; load address = execution address
*.o (ExtFlashSection)
 ;*.o (TextFlashSection)
*.o (FontFlashSection)
  }
}

Keil project downloading and startin without any problems

This project is here https://cloud.mail.ru/public/uUgS/jxTK5fmg1

NEXT STAGE

0693W000008G1yaQAC.png 

Than I edit project in TouchGFX editor, add one button, generate code, and build it in KEIL.

Than I download it to flash.

Then starting debug I get error, on this stage

0693W000008G1zEQAS.jpg 

this error

0693W000008G1zTQAS.jpg 

this error is not occured when I delete from H743.sct this code

LR_EROM1 0x90000000 0x2000000  {    ; load region size_region
 ER_EROM1 0x90000000 0x2000000  {  ; load address = execution address
*.o (ExtFlashSection)
 ;*.o (TextFlashSection)
*.o (FontFlashSection)
  }
}

But I need this code for keep pictures in QSPI.

HERE IS MODIFIED PROJECT

https://cloud.mail.ru/public/sw7P/yqm4vR2Wd

Please, anybody, who have H743 board, please, try to download both projects an answer me - what reason of problem?

25 REPLIES 25

Doesn't seem to come into Cube 6.0.1 cleanly, and I'm not installing all this stuff.

Decide what end the problem is on, and focus on that. Your complaint seems to be it fails at the Download/Run end of the Keil tool chain. Perhaps focus on what's materially causing that failure. Who has a board this will load on to with QSPI? Not going to work on a stock Nucleo-H743ZI board.

Look at the .MAP, or the .AXF, this is where the smoking gun will be.

Turn off "Run to main()", and walk the code in.

Check if it tries to copy or access QSPI memory space during startup.

Check what TouchGFX is doing with it's assorted structures.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

You write I created project in cubeMX 6.1.1,

but your file is 5.5.0 and TouchGFX 4.13 , but you still dont explain , what is problem.

I dont have H743 or full Keil license , but when create as you write 1.2.3. build project in my Keil without problem with your ioc file.

Debug isnt possible without hw, but after 1.2.3. no extflash sections exist , then debug no try any write method to QSPI on 0x900000...

0693W000008GKN9QAO.pngI accidentally saw it - after generating an error, the "command" window appears for a very short moment, indicating the error. Then this window disappears, caught only through the screenshot.

0693W000008GKPyQAO.png

From where is here 0x90000000 ?

I ask somebodyx who have CubeMX+Keil+TouchGFX Designer to do next:

  1. Generate project for Keil from CubeMX project
  2. Open TouchGFX project in TOuchGFX Designer and add one button
  3. Build project in Keil
  4. Run project with debugger

This steps not generate it. Write your steps, for reproduce.

"From where is here 0x90000000 ?"

From here

LR_IROM1 0x08000000 0x00100000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00100000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x00050000  {  ; RW data
   .ANY (+RW +ZI)
  }
}
 
 LR_EROM1 0x90000000 0x2000000  {    ; load region size_region
 ER_EROM1 0x90000000 0x2000000  {  ; load address = execution address
*.o (ExtFlashSection)
 ;*.o (TextFlashSection)
*.o (FontFlashSection)
  }
}

"This steps not generate it. Write your steps, for reproduce."

I can't understand your question. Stepsm which I described - is standart steps of creating TouchGFX Project. Have you ever created a TouchGFX project?

>>From where is here 0x90000000 ?

Notionally in the command window it would be from a) Memory Views previously selected, b) Accesses in the Debug Script (.ini) associated with the project.

The failure would occur at the point where the STM32H7 is initially brought up, but the external memory interfaces haven't been instantiated by the code, or debug scripting walking the RCC, GPIO, QSPI, etc through the initialization sequences manually.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

" b) Accesses in the Debug Script (.ini) associated with the project."

Where it?

"a) Memory Views previously selected, " - you mean "Memory window?"

I say only i generate project from your ioc and your steps, and your lines isnt generated. You add it manualy.