一个简单高效的BootLoad,让代码在内存里运行(F407)

2019-07-20 02:49发布

本帖最后由 kmmyk 于 2019-4-8 08:59 编辑

让代码在内存里运行,有几个好处1、学习期间,每改一个变量都想烧写,会频繁烧写flash,而通过串口,把代码放到内存里运行,可以避免这样的事。
2、速度非常快,比ST-link还快几倍。
3、可以不用随时再带上ST-Link 或是别的下载器。
4、程序在F407ZGT6上编译通过
5、通过串口921600的波特率加载APP,加载完成自动运行。
6、APP的要求:
        ROM:0x20008000,size:0x18000,在keil的Target页面设定
        RAM:0x20000000,Size:0x8000,在keil的Target页面设定
        编译的文件不超过96K,占用内存不超过32K,编译好看信息:程序大小=Code+RO-data;  内存约等于:ZI-data
        APP需要转换为bin文件:        工作在keil安装目录下的arm/armcc/bin/fromelf.exe
        命令:(x:xxxxkeilarm/armcc/bin/fromelf.exe   --bin -o xxxxobjectxxx.bin    xxxobjectxxx.axf)
        (具体方法见原子哥的教程)。
7、为了减少资源占用,我没有使用printf,自己实现了字符串和数字的输出。

8、我在程序放了一个usart.bin,可用来测试下载,运行效果是定时器中断实现流水灯和串口输出字符串。波特率都是921600哦。
9、如有问题,欢迎加入群聊:117886451,或是电子邮件:kmmyk@qq.com
原代码分享
F4_BootLoad.rar (436.17 KB, 下载次数: 13) 2019-4-2 22:18 上传 点击文件名下载附件
下面是usart.bin的压缩文件
usart.rar (1.52 KB, 下载次数: 2) 2019-4-2 22:20 上传 点击文件名下载附件





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。