STM32F769I-DISCO出厂预置的demo例程可谓是十分华丽,不仅搭载了官方的6个gui子例程,还挂上了两个第三方的gui demo,分别是Embedded Wizard和TouchGFX。
该Demo例程工程文件可以在STM32Cube_FW_F7_V1.5.0\Projects\STM32F769I-Discovery\Demonstration中找到,另外在改路径下的Binary文件夹下可以找到烧写文件以及两个第三方例程的hex文件。 借助最新版本的烧写工具STM32 ST-LINK Utility将例程固件STM32CubeDemo_STM32769I-DISCO_V1.1.0.hex烧写入demo板。 首先打开STM32 ST-LINK Utility,点击上方菜单栏的“External loader”->“add external loader”,可以选择相应的外部flash烧写算法。
可以看到最新版本的STM32 ST-LINK Utility(V4.0.0)已经支持STM32F769I-DISCO板载nor flash芯片台湾旺宏MX25L51245G,勾选然后点击“Validate”。
接着将例程固件STM32CubeDemo_STM32769I-DISCO_V1.1.0.hex拖入软件,点击“Target”->“progame”,然后点击“Start”开始下载。
烧写完成后可以发现,运行的DEMO与出厂的DEMO还是有一点点差别的,最重要的是,出厂demo的两个第三方gui都被替换掉了!
但查看第三方demo的hex文件,可以发现烧写地址并不是指向flash的起始地址0x0800000,而是0x08180000和0x08100000.
果然打开官方DEMO的工程文件,发现工程中使用了一个宏定义来设置是否使用第三方的gui
而且可以找到两个第三方gui的程序指向的地址,就是第三方demo的hex文件的烧写地址!
于是在预定义中添加第三方gui的宏定义“INCLUDE_THIRD_PARTY_MODULE”,然后重新编译工程。
由于工程比较大,编译时间较久,这时候可以玩一玩出厂demo没有的黑白棋游戏。但无论怎么玩,感觉都玩不过F769,呵呵,这是不是一个bug。
因为找不到旺宏MX25L51245G的烧写算法,所以只能利用STM32 ST-LINK Utility来烧写,如利用keil强制烧写,则只能烧写STM32F769内部的flash,外部的nor flash无法烧写,导致存放在外部nor flash的图标显示异常。
分别把编译生成的hex文件以及两个第三方gui例程烧写,这样便可以把STM32F769I-DISCO恢复到出厂demo状态!
|