久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5606|回復: 0
打印 上一主題 下一主題
收起左側

STM32啟動文件的選擇及宏定義 及芯片型號更改 IAP總結

[復制鏈接]
跳轉到指定樓層
樓主
ID:75263 發表于 2015-6-9 03:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
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.sFLASH在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++/PREPROMCESSORsymbols的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)
     
     
     
     
   #defineSTM32F10X_HD     
      
     
#endif
如果芯片更換,除了做如上所述的更改外,還需以下幾步
第一步  system_stm32f10x.c的系統主頻率,依實際情況修改
#if defined (STM32F10X_LD_VL) || (definedSTM32F10X_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 UserPrograms Before Build/Rebuild 中,勾選 Run#1,并在
其中填入
       D:\Keil\ARM\BIN40\fromelf.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的每頁為2KBYTES,減去從地址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)//字編程后校驗

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色综合区| 99视频在线免费观看 | 亚洲国产精品一区二区三区 | 高清人人天天夜夜曰狠狠狠狠 | 天堂久久久久久久 | 亚洲一区二区三区在线视频 | 免费午夜电影 | 国产免费一区二区 | 成人亚洲性情网站www在线观看 | 伊人久久综合影院 | 91久久精品一区二区二区 | 久久精品一区 | 国产91在线播放 | 综合久久色 | 无码国模国产在线观看 | 欧美日产国产成人免费图片 | 91九色在线观看 | 国产精品日韩在线观看一区二区 | 亚洲精品一区二区三区中文字幕 | 国产视频精品在线观看 | www.久久久.com | 亚洲精品九九 | 欧美一区二区三区在线播放 | 欧美三级三级三级爽爽爽 | 欧美日韩国产一区 | 三级视频久久 | 日本一区二区不卡视频 | 国产成人自拍av | 天天干天天草 | 美国黄色毛片 | 精品一区在线看 | 龙珠z国语版在线观看 | 一级毛片视频 | 99国产精品一区二区三区 | 一区二区三区欧美 | 亚洲免费一区二区 | 国产精品不卡视频 | 亚洲一区导航 | 国产成人高清视频 | 欧美日韩亚洲成人 | 久久在线 |