2022-12-29 12:49 PM
My Debug Log =
Thu Dec 29, 2022 14:43:39: IAR Embedded Workbench 9.32.1 (C:\Program Files\IAR Systems\Embedded Workbench 9.1\arm\bin\armPROC.dll)
Thu Dec 29, 2022 14:43:39: Loaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 9.1\arm/config/debugger/ST/STM32G0xx.dmac
Thu Dec 29, 2022 14:43:39: Flash download warning: 806400 out of 806400 bytes from data record CODE:[0x9000'0000,0x900c'4dff] will not be flashed
Thu Dec 29, 2022 14:43:39: There were warnings while generating flash loader input.
Thu Dec 29, 2022 14:43:39: See the Debug Log window for details.
Thu Dec 29, 2022 14:43:41: Loaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 9.1\arm/config/flashloader/ST/FlashSTM32G0xxx.mac
Thu Dec 29, 2022 14:43:41: Connected to ST-LINK/V2-1 [SWD mode 1800 kHz] [Access port: 0] Firmware V2.J40.S27 (Probe no: 066AFF505250827867063937)
Thu Dec 29, 2022 14:43:41: Hardware reset with strategy 0 was performed
Thu Dec 29, 2022 14:43:41: Initial reset was performed
Thu Dec 29, 2022 14:43:41: DMAC: Watchdog timers will freeze while the core is halted.
Thu Dec 29, 2022 14:43:41: DMAC: Debugging will be allowed during power saving modes.
Thu Dec 29, 2022 14:43:41: Loaded debugee: C:\Program Files\IAR Systems\Embedded Workbench 9.1\arm/config/flashloader/ST/FlashSTM32G0xxx_RAM32KB.out
Thu Dec 29, 2022 14:43:41: Target reset
Thu Dec 29, 2022 14:43:42: Unloaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 9.1\arm/config/flashloader/ST/FlashSTM32G0xxx.mac
Thu Dec 29, 2022 14:43:42: Downloaded C:\Users\pfabian\OneDrive - Banner Engineering\Banner\ST LCD\en.X-CUBE-DISPLAY-V2_2\Projects\NUCLEO-G071RB\Applications\GFX01M2_HelloWorld\EWARM\GFX01M2_HelloWorld\Exe\
GFX01M2_HelloWorld.out to flash memory.
Thu Dec 29, 2022 14:43:42: 17024 bytes downloaded into FLASH (6.14 Kbytes/sec)
Thu Dec 29, 2022 14:43:42: ELF/DWARF Error: Unknown
Thu Dec 29, 2022 14:43:42: Failed to load debugee: C:\Users\pfabian\OneDrive - Banner Engineering\Banner\ST LCD\en.X-CUBE-DISPLAY-V2_2\Projects\NUCLEO-G071RB\Applications\GFX01M2_HelloWorld\EWARM\GFX01M2_HelloWorld\Exe\
GFX01M2_HelloWorld.out
Thu Dec 29, 2022 14:43:42: Unloaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 9.1\arm/config/debugger/ST/STM32G0xx.dmac
Thu Dec 29, 2022 14:43:42: IAR Embedded Workbench 9.32.1 (C:\Program Files\IAR Systems\Embedded Workbench 9.1\arm\bin\armPROC.dll)
Thu Dec 29, 2022 14:43:43: Loading the ST-LINK Driver driver
2022-12-29 01:05 PM
Well it's going to need a loader configured for it to push the QSPI content.
Really not sure how well that's supported on NUCLEO-64 platform, at least in a memory-mapped, execute-in-place sense.
The QPSI is better / appropriately wired on the NUCLEO-144 board
2022-12-29 01:10 PM
It was my understanding that the GFX01M2 came preloaded with some images. A .hex file is generated and there is a batch file that I 'think' can use the STM32CubeProgrammer to upload those.
BUT - If I squint it appears the culprit is related to these two lines (see below) in the debug log related to the unknown ELF/DWARF Error Thoughts on that?
Thu Dec 29, 2022 14:43:42: ELF/DWARF Error: Unknown
Thu Dec 29, 2022 14:43:42: Failed to load debugee: C:\Users\pfabian\OneDrive - Banner Engineering\Banner\ST LCD\en.X-CUBE-DISPLAY-V2_2\Projects\NUCLEO-G071RB\Applications\GFX01M2_HelloWorld\EWARM\GFX01M2_HelloWorld\Exe\
GFX01M2_HelloWorld.out
2022-12-29 01:47 PM
I'm #TeamKEIL so can't really help you with idiosyncrasies with IAR tools
These are presumably objects that IAR itself generated?
The memory might have existing content, but your build is generating other content, I'm not sure how similar / identical they are.
The X-NUCLEO-GFX01M2 uses SPI, and a mishmash of routing options, if I'm not mistaken.
Can STM32 Cube Programmer deal with this .ELF or .HEX ?
The X-NUCLEO-GFX02Z1 uses QSPI and maps to 0x90000000, not sure if the G071 facilitates that or not, or if the 0x90000000 on the linker side is just a convenient method of constructing content, and not actually addressable in that space, but rather fetched at a byte stream / blob level.
2022-12-29 03:29 PM
Everything I am trying is "supposed" to work out of the box. At least this is how it is advertised by ST. I have downloaded the cube package for the GFX01M2 and the IAR workspace. It does include an extra process where they create the .hex file too. I will see if I can get things working using the cube programmer.
The G071 Nucleo board is one of about 5 demo application included with the cube package, so it certainly appears they are saying it works with the GFX01M2. It is also listed on the website as compatible.
Thanks for the help. I'll respond back if I figure something out.
BTW - I also tried the Keil workspace, and that one too had it's out-of-box issues. If I continue to fail using IAR I will try the Keil again and let you know the failure points on that one!
Arg.
2022-12-30 06:49 AM
Keil is just as unfriendly as IAR -
Rebuild started: Project: GFX01M2_HelloWorld
*** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Rebuild target 'GFX01M2_HelloWorld'
compiling stm32g0xx_it.c...
compiling stm32g0xx_hal_msp.c...
assembling startup_stm32g071xx.s...
compiling lcd_os.c...
compiling stm32g0xx_nucleo_bus.c...
compiling mem_os.c...
compiling main.c...
compiling mem_io.c...
compiling lcd_io.c...
compiling key_io.c...
compiling st7789v_reg.c...
compiling mx25l6433f.c...
compiling st7789v.c...
compiling stm32g0xx_ll_rcc.c...
compiling stm32g0xx_hal_spi_ex.c...
compiling stm32g0xx_hal_rcc.c...
compiling stm32g0xx_hal_rcc_ex.c...
compiling stm32g0xx_hal_flash.c...
compiling stm32g0xx_hal_gpio.c...
compiling stm32g0xx_hal_flash_ex.c...
compiling stm32g0xx_hal_spi.c...
compiling stm32g0xx_hal_dma_ex.c...
compiling stm32g0xx_ll_dma.c...
compiling stm32g0xx_hal_dma.c...
compiling stm32g0xx_hal_pwr.c...
compiling stm32g0xx_hal_pwr_ex.c...
compiling stm32g0xx_hal_cortex.c...
compiling stm32g0xx_hal.c...
compiling stm32g0xx_hal_exti.c...
compiling stm32g0xx_hal_crc.c...
compiling stm32g0xx_hal_crc_ex.c...
compiling stm32g0xx_hal_tim.c...
compiling app_display.c...
compiling stm32g0xx_hal_tim_ex.c...
compiling system_stm32g0xx.c...
linking...
Program Size: Code=18292 RO-data=806880 RW-data=112 ZI-data=18472
FromELF: creating hex file...
"GFX01M2_HelloWorld\GFX01M2_HelloWorld.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:06
Load "GFX01M2_HelloWorld\\GFX01M2_HelloWorld.axf"
No Algorithm found for: 90000000H - 9000FFFFH
No Algorithm found for: 90010000H - 9001FFFFH
No Algorithm found for: 90020000H - 9002FFFFH
No Algorithm found for: 90030000H - 9003FFFFH
No Algorithm found for: 90040000H - 9004FFFFH
No Algorithm found for: 90050000H - 9005FFFFH
No Algorithm found for: 90060000H - 9006FFFFH
No Algorithm found for: 90070000H - 9007FFFFH
No Algorithm found for: 90080000H - 9008FFFFH
No Algorithm found for: 90090000H - 9009FFFFH
No Algorithm found for: 900A0000H - 900AFFFFH
No Algorithm found for: 900B0000H - 900BFFFFH
No Algorithm found for: 900C0000H - 900C4DFFH
Partial Erase Done (areas with no algorithms skipped!)
No Algorithm found for: 90000000H - 9000FFFFH
No Algorithm found for: 90010000H - 9001FFFFH
No Algorithm found for: 90020000H - 9002FFFFH
No Algorithm found for: 90030000H - 9003FFFFH
No Algorithm found for: 90040000H - 9004FFFFH
No Algorithm found for: 90050000H - 9005FFFFH
No Algorithm found for: 90060000H - 9006FFFFH
No Algorithm found for: 90070000H - 9007FFFFH
No Algorithm found for: 90080000H - 9008FFFFH
No Algorithm found for: 90090000H - 9009FFFFH
No Algorithm found for: 900A0000H - 900AFFFFH
No Algorithm found for: 900B0000H - 900BFFFFH
No Algorithm found for: 900C0000H - 900C4DFFH
Partial Programming Done (areas with no algorithms skipped!)
Partial Verify OK (areas with no algorithms skipped!)
Flash Load finished at 08:48:07
Error: Could not load file 'GFX01M2_HelloWorld\GFX01M2_HelloWorld.axf'. Debugger aborted !
2023-01-02 03:55 AM
Hi All,
The X-CUBE-DISPLAY software expansion pack is providing external loaders only for the STM32CubePpogrammer tool. And only for the listed Projects of NUCLEO + X-NUCLEO-GFX combinations inside the pack.
Sorry, but we're not providing external loaders for IAR and Keil.
However, it is still possible to debug also with these IDEs if you follow below steps:
Next release X-CUBE-DISPLAY.3.0.0 will contain source code and Projects for the used external loaders. So you will be able to recompile them for your toolchain also.
Best Regards,
Karim
2023-01-03 05:37 AM
Hi Karim,
Thanks for the response.
I have the STM32CubePpogrammer tool loaded and have tried using the 'GFX01M2_HelloWorld.bat' batch file. I placed 'MX25L6433F_GFX01M2_STM32G0.stldr' into the Binary directory. I still get an error. See log below
-----
Using C:\Users\pfabian\OneDrive - Banner Engineering\Banner\ST LCD\en.X-CUBE-DISPLAY-V2_2\Projects\NUCLEO-G071RB\Applications\GFX01M2_HelloWorld\Binary\MX25L6433F_GFX01M2_STM32G0.stldr
-------------------------------------------------------------------
STM32CubeProgrammer v2.12.0
-------------------------------------------------------------------
ST-LINK SN : 066AFF505250827867063937
ST-LINK FW : V2J40M27
Board : NUCLEO-G071RB
Voltage : 3.22V
SWD freq : 4000 KHz
Connect mode: Under Reset
Reset mode : Hardware reset
Device ID : 0x460
Revision ID : Rev B
Device name : STM32G07x/STM32G08x
Flash size : 128 KBytes
Device type : MCU
Device CPU : Cortex-M0+
BL Version : 0xB2
Debug in Low Power mode enabled
Error: Wrong command - "banner engineering\banner\st LCD\en.X-CUBE-DISPLAY-V2_2\Projects\NUCLEO-G071RB\Applications\GFX01M2_HelloWorld\Binary\MX25L6433F_GFX01M2_STM32G0.stldr": Unknown command or command missed some parameters, please refer to the help to see the supported commands.
Press any key to continue . . .