1 下载到开发板
touchgfx具有下载到开发板的功能,但是刚上手却发现不大行,始终没有办法。 
仔细调试一下,发现两个问题,首先,开发的供电跳线需要调整到stlink的位置,其次,touchgfx没有外部工具的设定位置,这个setting实在是简单。 
所以cubeprogrammer需安装在指定位置,所以先卸载后重新安装。 
  
那么显示是安装下载成功了。 
2 那么看一下开发板的效果, 
  
运行成功,这个是一个按键交互的工程。按键user可以控制这个标签的旋转角度。 
3 分析
这个是下载的过程分析一下, 
Program and Run Target
    Generate
        Done
    Generate Assets
        make -f simulator/gcc/Makefile assets -j8
        Reading ./application.config
        Reading ./target.config
        Done
    Post Generate
        touchgfx update_project --project-file=simulator/msvs/Application.vcxproj
        Done
    Post Generate Target
        touchgfx update_project
        .cproject file: ../STM32CubeIDE/.cproject
        Writing STM32CubeIDE project file: ../STM32CubeIDE/.project
        Writing STM32CubeIDE project file: ../STM32CubeIDE/.cproject
        Done
    Compile
        make -f ../gcc/Makefile -j8
        Reading TouchGFX/application.config
        Reading TouchGFX/target.config
        Linking TouchGFX/build/bin/target.elf
        Memory region         Used Size  Region Size  %age Used
                 DTCMRAM:           0 B       128 KB      0.00%
                 ITCMRAM:           0 B        64 KB      0.00%
                  RAM_D1:       41240 B       320 KB     12.59%
                  RAM_D2:           0 B        32 KB      0.00%
                  RAM_D3:           0 B        16 KB      0.00%
                   FLASH:      199868 B         1 MB     19.06%
                    OSPI:      457216 B        64 MB      0.68%
        Producing additional output formats...
          target.hex   - Combined internal+external hex
          intflash.elf - Internal flash, elf debug
          intflash.hex - Internal flash, hex
        Done
    Flash
        make -f ../gcc/Makefile flash
        Reading TouchGFX/application.config
        Reading TouchGFX/target.config
        Linking TouchGFX/build/bin/target.elf
        Memory region         Used Size  Region Size  %age Used
                 DTCMRAM:           0 B       128 KB      0.00%
                 ITCMRAM:           0 B        64 KB      0.00%
                  RAM_D1:       41240 B       320 KB     12.59%
                  RAM_D2:           0 B        32 KB      0.00%
                  RAM_D3:           0 B        16 KB      0.00%
                   FLASH:      199868 B         1 MB     19.06%
                    OSPI:      457216 B        64 MB      0.68%
        Producing additional output formats...
          target.hex   - Combined internal+external hex
          intflash.elf - Internal flash, elf debug
          intflash.hex - Internal flash, hex
              -------------------------------------------------------------------
                               STM32CubeProgrammer v2.20.0        
              -------------------------------------------------------------------
        ST-LINK SN  : 001A002C3438510C34313939
        ST-LINK FW  : V3J16M9
        Board       : STM32H735G-DK
        Voltage     : 3.26V
        SWD freq    : 8000 KHz
        Connect mode: Normal
        Reset mode  : Software reset
        Device ID   : 0x483
        Revision ID : Rev Z
        Device name : STM32H72x/STM32H73x
        Flash size  : 1 MBytes
        Device type : MCU
        Device CPU  : Cortex-M7
        BL Version  : 0x92
        Opening and parsing file: target.hex
        Memory Programming ...
          File          : target.hex
          Size          : 641.63 KB 
          Address       : 0x08000000
        Erasing memory corresponding to segment 0:
        Erasing internal memory sector 0
        Erasing memory corresponding to segment 1:
        Erasing internal memory sectors [0 1]
        Erasing memory corresponding to segment 2:
        Erasing external memory sectors [0 6]
        Download in Progress:
        ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± 0%
        ÛÛÛÛÛÛÛÛÛ 19%ÛÛÛÛÛÛÛÛÛÛ 38%ÛÛÛÛ 47%ÛÛÛÛÛÛÛÛÛ 64%ÛÛÛÛÛÛÛÛ 80%ÛÛÛÛÛÛÛÛ 97%ÛÛ 100%
        File download complete
        Time elapsed during download operation: 00:00:07.657
        Hard reset is performed
        Done
    Done 
主要步骤说明如下: 
- 生成阶段(Generate) :完成基础生成操作
 
- 生成资源(Generate Assets) :通过 Makefile 编译资源,读取配置文件后完成
 
- 生成后处理(Post Generate) :更新 Visual Studio 仿真器项目文件
 
- 目标生成后处理(Post Generate Target) :更新 STM32CubeIDE 的项目文件(.project 和.cproject)
 
- 编译(Compile) :
- 编译生成目标文件(target.elf)
 
- 显示内存使用情况(各区域 RAM/FLASH/OSPI 的占用率,如 FLASH 使用 19.06%,OSPI 使用 0.68%)
 
- 生成多种输出格式(hex 文件、调试用 elf 等)
 
 
 
- 烧录(Flash) :
- 再次确认内存使用情况
 
- 通过 STM32CubeProgrammer 连接硬件(STM32H735G-DK 开发板)
 
- 擦除对应内存区域,下载 target.hex 文件(大小 641.63KB)到 0x08000000 地址
 
- 烧录完成(耗时 7.657 秒),执行硬件复位
 
 
 
 
最终整个流程成功完成(Done),程序已成功烧录到目标设备。 
这个代码是下载到了MCU的Flash内存,如果需要到外存,需要调用对应硬件接口并在运行时调用。 
这里  |