您的位置 首页 嵌入式

STM32发动文件的挑选及宏界说

startup_stm32f10x_cls互联型的器件,STM32F105xx,STM32F107xxstartup_stm32f10x_hds大容量的STM32F101xx,STM32F102xx,

startup_stm32f10x_cl.s 互联型的器材,STM32F105xx,STM32F107xx

startup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_hd_vl.s 大容量的STM32F100xx
startup_stm32f10x_ld.s 小容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_ld_vl.s 小容量的STM32F100xx
startup_stm32f10x_md.s 中容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_md_vl.s 中容量的STM32F100xx
startup_stm32f10x_xl.s FLASH在512K到1024K字节的STM32F101xx,STM32F102xx,STM32F103xx
cl:互联型产品,stm32f105/107系列
vl:超值型产品,stm32f100系列
xl:超高密度产品,stm32f101/103系列
ld:低密度产品,FLASH小于64K
md:中等密度产品,FLASH=64 or 128
hd:高密度产品,FLASH大于128
在KEIL下能够在项目的选项C/C++/PREPROMCESSOR symbols的Define栏里界说,比方STM32F10X_CL
也能够在STM32F10X.H里用宏界说
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)




#define STM32F10X_HD


#endif
假如芯片替换,除了做如上所述的更改外,还需以下几步
第一步 system_stm32f10x.c的体系主频率,依实践情况修正
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL)

#define SYSCLK_FREQ_24MHz 24000000
#else

#define SYSCLK_FREQ_72MHz 72000000
#endif

别的外部时钟在文件:stm32f10x.h 依实践修正
第二步 定时器的参数依体系主时钟做恰当修正
第三步 flash地址misc.h中的NVIC_VectTab_Flash 0x08000000 要与KEIL选项target的IROM1的地址共同,假如是IAP程序,依ISP程序占用巨细,APP的FLASH地址向后延,比方0X8002000,那么KEIL选项target的IROM1的地址也要就0x8002000,SIZE由于ISP占用了2000,所以就为0x40000-0x2000,即只能填写0X3E000
第四步 ISP程序与APP程序衔接—-(这一步我还不理解意思,需求验证)
翻开 User 选项卡 在 Run User Programs Before Build/Rebuild 中,勾选 Run#1,并在
其间填入
D:KeilARMBIN40fromelf.exe –bin -o ./obj/Project.bin ./obj/Project.axf
其间,Project.bin 和 Project.axf 要和 Output 选项卡中的 Name of Executable 的姓名
IAP我的总结
1 先FLASH_Unlock();
2 小于或等于128K的STM每页为1k bytes,大于128K的每页为2K BYTES,减去从地址0x8002000占用的0x2000后,算出页数,比方IAP占用8K,则64K的MD的STM32F系列用for(i=0;i<(64-8);i++) FLASH_ErasePage(0x8002000+0x400*i);循环按页擦除FLASH
3 按从外部串口获取到的数据,FLASH_ProgramWord(address,dat);//留意是按4字节方法写入的
if (*(uint32_t*)address!= dat)//字编程后校验

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/260492.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部