日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]startup_stm32f10x_cl.s 互聯(lián)型的器件,STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_hd_vl.s 大容量的STM32F100xxstartup_stm32f10x_ld.s 小容

startup_stm32f10x_cl.s 互聯(lián)型的器件,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字節(jié)的STM32F101xx,STM32F102xx,STM32F103xx
cl:互聯(lián)型產(chǎn)品,stm32f105/107系列
vl:超值型產(chǎn)品,stm32f100系列
xl:超高密度產(chǎn)品,stm32f101/103系列
ld:低密度產(chǎn)品,F(xiàn)LASH小于64K
md:中等密度產(chǎn)品,F(xiàn)LASH=64 or 128
hd:高密度產(chǎn)品,F(xiàn)LASH大于128

在KEIL下可以在項(xiàng)目的選項(xiàng)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的系統(tǒng)主頻率,依實(shí)際情況修改

#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL)

#define SYSCLK_FREQ_24MHz24000000
#else





#define SYSCLK_FREQ_72MHz72000000
#endif

另外外部時(shí)鐘在文件:stm32f10x.h 依實(shí)際修改

第二步 定時(shí)器的參數(shù)依系統(tǒng)主時(shí)鐘做適當(dāng)修改

第三步 flash地址misc.h中的NVIC_VectTab_Flash 0x08000000 要與KEIL選項(xiàng)target的IROM1的地址一致,如果是IAP程序,依ISP程序占用大小,APP的FLASH地址向后延,比如0X8002000,那么KEIL選項(xiàng)target的IROM1的地址也要就0x8002000,SIZE因?yàn)镮SP占用了2000,所以就為0x40000-0x2000,即只能填寫(xiě)0X3E000

第四步 ISP程序與APP程序連接----(這一步我還不明白意思,需要驗(yàn)證)

打開(kāi) User 選項(xiàng)卡在 Run User Programs Before Build/Rebuild 中,勾選 Run#1,并在
其中填入
D:KeilARMBIN40fromelf.exe --bin -o ./obj/Project.bin ./obj/Project.axf
其中,Project.bin 和 Project.axf 要和 Output 選項(xiàng)卡中的 NameofExecutable的名字

IAP我的總結(jié)

1 先FLASH_Unlock();

2 小于或等于128K的STM每頁(yè)為1k bytes,大于128K的每頁(yè)為2K BYTES,減去從地址0x8002000占用的0x2000后,算出頁(yè)數(shù),比如IAP占用8K,則64K的MD的STM32F系列用for(i=0;i<(64-8);i++) FLASH_ErasePage(0x8002000+0x400*i);循環(huán)按頁(yè)擦除FLASH

3 按從外部串口獲取到的數(shù)據(jù),F(xiàn)LASH_ProgramWord(address,dat);//注意是按4字節(jié)方式寫(xiě)入的
if (*(uint32_t*)address!= dat)//字編程后校驗(yàn)


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉