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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32F10x在應用中編程的實現(xiàn)方法

[復制鏈接]
跳轉到指定樓層
樓主
ID:98924 發(fā)表于 2015-12-9 02:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 IAP驅動使用USART1口作為通信管道,PB口的第9引腳作為IAP判斷是否進入IAP功能的信號線。引出一個按鍵,作為IAP功能選擇按鍵,只要在上電或復位時按住此鍵就會進入IAP功能主界面,否則直接執(zhí)行正常應用程序。BOOT0和BOOT1是啟動配置跳線。相應的硬件電路分別如圖3、圖4和圖5所示。
  
  
  
  
    3.2 IAP驅動
    IAP驅動主要包含如下源文件。
    main.c:完成Flash解鎖、按鍵端口初始化、按鍵判斷、USART1的初始化以及處理器的始終初始化,另外還初始化指針和跳轉到應用程序處語句。然后從common.c執(zhí)行主菜單。
    common.c:顯示主菜單。主菜單上顯示一系列操作,如加載二進制文件、執(zhí)行應用程序以及禁止寫保護(如果事先Flash被寫保護)。
    download.c:等待用戶選擇傳送文件操作,或者放棄操作以及一些提示信息,但真正實現(xiàn)傳送的是ymodem.c源文件。
    ymodem.c:負責從超級終端接收數(shù)據(jù)(使用Ymodem協(xié)議),并將數(shù)據(jù)加載到內部RAM中。如果接收數(shù)據(jù)正常,則將數(shù)據(jù)編程 到Flash中;如果發(fā)生錯誤,則提示出錯。
    3.3 軟件實現(xiàn)
    要實現(xiàn)IAP功能,還需做一些準備工作:
   、僖獪蕚銪IN類型的代碼文件。開發(fā)環(huán)境使用的是Keil,默認情況下Keil生成HEX類型的編譯文件。利用Keil自帶的fromelf.exe工具,就可以生成二進制文件。
    ②對超級終端進行設置。IAP驅動中對USART1的設置為:波特率為115 200 kb/s,8位數(shù)據(jù)位,1位停止位,無校驗位和硬件控制。超級終端也必須保持相同設置。
    IAP驅動和應用程序代碼需要分配在Flash的合適位置。圖6是2部分代碼在Flash中的存儲情況。由于IAP驅動代碼占用8 KB的空間,故而將Flash最初的8 KB劃出來,應用程序是從0x08020000地址處開始存放的。這是通過在common.h頭文件中語句定義的:
    #define ApplicationAddress 0x08020000
    也可以定義在其他0x08020000地址后的任何位置,只要保證應用程序大小不超過所用處理器Flash的容量。在platform_config.h頭文件中有定義Flash的語句:
    #define PAGE_SIZE(0x400) //Flash頁大小為1 KB
    #define FLASH_SIZE(0x20000)//Flash容量為128 KB
    STM32F10x處理器有2種Flash頁的大小:1 KB和2 KB。通過以上語句即可定義頁大小。
    在platform_config.h頭文件中還定義了進入IAP功能選擇按鍵映射引腳:
  
    IAP驅動在Keil中編譯、鏈接后,利用ARM公司的RealView ULINK2仿真器將生成的HEX文件燒寫到Flash中。此時Keil自帶的Flash燒寫工具要設置Flash的起始地址為0x08000000。在應用程序中,定義向量表的函數(shù)NVIC_SetVectorTabl(NVIC_VectTab_FLASH,0x2000)中的第2個參數(shù),即Flash的偏移量一定要設置成0x2000或更大的數(shù)值。同時,F(xiàn)lash燒寫工具也要做相對應的設置。將系統(tǒng)的串口與PC機串口相連,打開已經(jīng)設置好參數(shù)的超級終端。將BOOT0跳線為0,BOOT1為0或1都可以。按住IAP功能選擇按鍵,給系統(tǒng)上電。此時,在超級終端就會顯示IAP功能主界面,如圖7所示。
  
  
    在鍵盤上按1選擇待載入二進制文件,界面上會出現(xiàn)提示語。在“傳送”菜單中選擇傳送文件后,只需幾秒鐘可以將6 KB左右的文件燒寫到Flash。下載完后,在鍵盤上按2或復位就可以直接執(zhí)行應用程序了,如圖8所示。雖然IAP功能使用的是USART1口,但進入應用程序后就可以正常使用USART1口。隨時可以通過復位后按住IAP功能選擇鍵來進行IAP方式燒寫應用程序。
  
    結 語
    STM32F10x處理器性能出眾,已被廣泛應用于各種場合。其IAP功能給用戶帶來了極大方便,使得產(chǎn)品的固件更新快捷、簡單。本文闡述了IAP的基本原理,并詳細描述了如何在STM32F10x處理器平臺中實現(xiàn)IAP功能,并在所設計的系統(tǒng)中進行了IAP實驗。實驗證明,該款處理器的IAP功能可靠、快捷。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九精品在线视频 | 日本精品免费 | 国产欧美日韩在线视频 | 亚洲精品久久久 | 日本www视频 | 狠狠操影院 | 成人在线免费视频观看 | 三年中文在线看免费观看 | 玖玖精品视频 | 九月丁香婷婷 | 国产精品久久久久久久久久久久午夜片 | 成人精品免费 | 国产深夜福利 | 天天干夜夜拍 | 亚洲一级二级三级 | 国产精品尤物 | 精品欧美一区二区精品久久 | 国内自拍偷拍视频 | 在线观看亚洲精品 | 亚洲va视频| 三级视频在线 | 午夜激情网 | 肉丝美脚视频一区二区 | 久久久夜色精品 | 国产一区二区在线播放 | 日韩国产综合 | 黄色小视频免费观看 | 青青草福利视频 | 亚洲精品三级 | 午夜天堂av | 人人澡人人爽 | 免费看黄色小视频 | 久久精品视频一区二区 | 亚洲精品资源 | 夜夜狠狠擅视频 | 美女一级片 | 亚洲天堂久久久 | 成人免费高清视频 | 久久精选视频 | 日韩av不卡在线 | 黄色小视频免费看 |