打印

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

[复制链接]
477|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
无幻|  楼主 | 2018-7-11 07:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
让代码在内存里运行,有几个好处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:\xxxx\keil\arm/armcc/bin/fromelf.exe   --bin -o xxxx\object\xxx.bin    xxx\object\xxx.axf)
        (具体方法见原子哥的教程)。
7、为了减少资源占用,我没有使用printf,自己实现了字符串和数字的输出。

8、我在程序放了一个usart.bin,可用来测试下载,运行效果是定时器中断实现流水灯和串口输出字符串。波特率都是921600哦。
9、如有问题,欢迎加入群聊:117886451,或是电子邮件:kmmyk@qq.com
原代码分享

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

431

主题

436

帖子

0

粉丝