让代码在内存里运行,有几个好处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
原代码分享 |