wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3013|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

使用STM32F103單片機片內(nèi)FLASH虛擬U盤,用于存儲文件IAP升級

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:219315 發(fā)表于 2023-6-11 09:52 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
   最近做一個傳感器的項目,要求在傳感器里存儲校正參數(shù),主機連接不同的傳感器時都能準確采值。于是想到用片內(nèi)FLASH程序存儲空間劃一部分出來,虛擬成一個U盤存儲校正參數(shù),可以節(jié)省一片EEROM芯片。網(wǎng)上找了很久,不是不能用,就是要收費,這里發(fā)出來方便有需要的人。虛擬U盤部分已經(jīng)測試通過,后面IAP部分因為用不到,沒有測試。

利用片內(nèi)FLASH虛擬U盤,使用文件復(fù)制方式實現(xiàn)IAP
USART IAP功能想必大家都很熟悉了,我們通過USART  IAP,可以很方便的實現(xiàn)程序升級。
但是在實際工作中,遇到一些特殊情況時,USART  IAP功能卻不像我們應(yīng)用中那么方便,甚至
成了一大制約因素:
1.板子交給遠方的用戶,用戶手頭沒有帶串口的電腦。
2.用戶找到帶串口的電腦,卻仍然沒有合適的串口連接線。
3.終于找到了合適的串口連接線,仍沒有IAP軟件。
4.IAP軟件連同HEX文件一同發(fā)給用戶,用戶卻不會操作。在我們手頭很簡單的操作,到用戶手
里,卻總也搞不定(即便是簡單的超級終端,想要遠程教會用戶,也是很考驗功力的)。
5.不是所有的板子都設(shè)計有串口,沒有串口的板子,呵呵…… 幸好STM還給我們提供了DFU升級方式,基本可以解決以上多數(shù)問題,只需要留出USB接口就行。
但是DFU方式,仍然對用戶的要求很高,需要用戶熟悉軟件的操作過程和流程(見制約因素4)。
只有找到一種更簡單的方式,只要簡單的復(fù)制、粘貼操作,就可以實現(xiàn)程序更新,才能最大限度解決以上問題。
現(xiàn)在我們通過虛擬U盤IAP程序,將程序存儲的FLASH空間虛擬為U盤,只要將程序文件復(fù)制到這個U盤,就完成了程序更新,消除了用戶升級操作的學(xué)習(xí)過程。

0x8000000
0x8003000
0x8008000
無IAP程序  一般IAP程序  U盤IAP程序
文件系統(tǒng)
IAP程序  IAP程序
用戶程序  用戶程序  用戶程序 程序?qū)崿F(xiàn)過程:
1.IAP程序
IAP程序仍然占用0x8000000~0x8003000的FLASH空間,IAP的作用,是在滿足IAP控制要求的情況下啟動IAP功能,否則,直接跳轉(zhuǎn)并執(zhí)行用戶程序。啟動IAP功能,可以使用3個方式:
1.1.當(dāng)用戶程序為空時,自動啟動IAP功能,做寫程序準備。
1.2.當(dāng)用戶程序正常,但啟動時按下了特定的IAP按鍵時,啟動IAP功能。
1.3.用戶程序運行中,在某個特殊位置做了IAP升級標志,判讀標志后,啟動IAP功能。
現(xiàn)在的IAP程序,僅僅實現(xiàn)簡單的將內(nèi)部FLASH虛擬為U盤功能即可。參見《5分鐘用STM32的內(nèi)置Flash做一個超小U盤》。當(dāng)然,這個小U盤缺少了文件系統(tǒng),需要重新格式化才行。 格式化后,我們的超小U盤OK了,接下來就該進行下一步了,用戶程序。
2.用戶程序
2.1.配置
常規(guī)的用戶程序,對于我們的STM32F103C8系列,有64KFLASH,因此可供IAP程序使用的為0x8003000~0x800FFFF的FLASH空間。但我們這次的用戶程序,必須要保留下文件系統(tǒng),因此修改為僅使用0x8008000~0x800FFFF。這其中的0X8003000~0X8008000空間,就是格式化時保存的文件系統(tǒng)。

為何修改為0x8008000而不是其它位置?因為系統(tǒng)告訴我們了,U盤容量=32K,因此反推:
(0x800ffff+1)-32K=0x8008000(STM32F103C8系列)。  

2.2.編譯用戶程序

主程序中不要忘記偏移。編譯完,趕緊試試吧。可是,我們該將哪個文件存入U盤啊?

這樣就會編譯結(jié)束后自動生成對應(yīng)的***.BIN文件,這個BIN文件,就是我們需要的升級文件。 2.3.復(fù)制文件,升級了。復(fù)制文件后復(fù)位,用戶程序自動運行了。

這時,我們可以再次回到U盤狀態(tài),刪除文件,甚至是格式化這個U盤,只要沒有新的文件進行覆蓋,我們的程序會始終正常運行的。這是FAT表文件系統(tǒng)的缺陷造成的,也是數(shù)據(jù)恢復(fù)的理論基礎(chǔ)。

STM32單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "stdio.h"
  3. #include "hw_config.h"
  4. #include "usb_lib.h"
  5. #include "usb_pwr.h"

  6. extern uint16_t MAL_Init (uint8_t lun);


  7. typedef  void (*pFunction)(void);
  8. #define ApplicationAddress 0x0800A800  //計算跳轉(zhuǎn)地址512K-470K = 42K 即0xA800  ApplicationAddress = 0x8000000+0xA800 = 0x0800A800
  9. uint32_t JumpAddress;
  10. pFunction Jump_To_Application;

  11. int main(void)
  12. {
  13.         GPIO_InitTypeDef GPIO_InitStructure;        
  14.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);        
  15.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;   
  16.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  17.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  18.         GPIO_Init(GPIOB, &GPIO_InitStructure);
  19.         GPIO_ResetBits(GPIOB, GPIO_Pin_9);
  20.         
  21.         GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_8;
  22.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  23.         GPIO_Init(GPIOB, &GPIO_InitStructure);
  24.         
  25.         
  26. //        if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)==0)
  27. //        {
  28.                 Set_System();
  29.                 Set_USBClock();
  30.                 USB_Interrupts_Config();
  31.                 USB_Init();
  32.                 while (bDeviceState != CONFIGURED);
  33.                         while(1)
  34.         {
  35.                
  36.         }

  37. //        }

  38.                 __set_PRIMASK(1);
  39.                 if(((*(__IO uint32_t *) ApplicationAddress) & 0x2FFE0000) == 0x20000000)
  40.                                 {
  41.                                         JumpAddress = *(__IO uint32_t *) (ApplicationAddress + 4);
  42.                                         Jump_To_Application = (pFunction) JumpAddress;
  43.                                        
  44.                                         __set_MSP(*(__IO uint32_t *) ApplicationAddress);
  45.                                         Jump_To_Application();
  46.                                 }
  47.         while(1)
  48.         {
  49.                
  50.         }

  51. }        

復(fù)制代碼

Keil代碼下載: STM32F103RET6.7z (373.32 KB, 下載次數(shù): 38)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:766804 發(fā)表于 2023-12-19 11:00 | 只看該作者
512K-470K = 42K這個470K怎么來的?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
欧美精选在线播放| 日韩av片网站| 麻豆成人在线看| 色av成人天堂桃色av| 丰满白嫩尤物一区二区| 日韩不卡一区| av一区在线| 一级二级三级在线观看| 国产一卡2卡3卡四卡网站| 亚洲熟妇无码乱子av电影| 中文字幕乱视频| 日韩伦理在线免费观看| 精品国产一区二区三区四区vr| 久久精品91久久香蕉加勒比| 欧美色综合网站| 国产精品色哟哟| 久久99精品国产.久久久久| 日韩大片在线| 日韩在线成人| 日本不卡免费高清视频在线| 性色视频在线观看| 天天操天天搞| 国产精品作爱| 五月婷婷六月丁香综合| 婷婷激情五月综合| 中文字幕求饶的少妇| 蜜臀一区二区三区精品免费视频| 深夜福利成人| 成人高清在线观看| 国产www精品| 欧美大肥婆大肥bbbbb| 日韩精品免费看| 欧美电影在线免费观看| 欧美日韩一二三四五区| 亚洲色图一区二区| 国产女主播一区| 不卡av在线免费观看| 日本不卡一区二区三区 | 丁香六月激情综合| 欧美日韩黄色一级片| 亚洲欧美日韩综合一区| 国产欧美日韩伦理| 国产自产女人91一区在线观看| 欧美极品少妇xxxxⅹ免费视频| 亚洲日本中文字幕| 日韩精品自拍偷拍| 欧美电影一区二区| 欧美日韩免费不卡视频一区二区三区 | 丝袜美腿中文字幕| 天天久久综合网| 国产v亚洲v天堂无码久久久| 黄色一级片黄色| 国产高清免费在线| 一区二区三区四区视频在线| 欧美日韩免费观看一区| 精品无人区一区二区三区竹菊| 91啪国产在线| 91精品啪aⅴ在线观看国产| 日韩美女在线播放| 国产精品成人v| 国产精品电影在线观看| 国产成人鲁鲁免费视频a| 91大神在线播放精品| 久久久亚洲精选| 97精品久久久中文字幕免费| 欧美插天视频在线播放| 日韩综合视频在线观看| 精品久久久av| 久热国产精品视频| 九色精品美女在线| 亚洲91精品在线| 奇米成人av国产一区二区三区| 欧美亚洲激情视频| 国产精品爽爽爽| 91视频免费进入| 国产区一区二区三区| 国产专区一区二区| 欧美在线播放一区| 加勒比海盗1在线观看免费国语版| 日韩欧美一级在线| 国产高清精品在线观看| 老司机久久精品| 日本国产在线视频| 五月婷婷欧美激情| 久久国产免费观看| 午夜精品免费观看| 性猛交富婆╳xxx乱大交天津 | 91精品久久久久久久久久久久久久 | 国产片在线观看| 成人短视频在线| 川上优av中文字幕一区二区| 亚洲伦理影院| 999在线精品| 97视频热人人精品免费| 国产亚洲精品v| 国产米奇在线777精品观看| 91尤物视频在线观看| 亚洲欧美视频在线观看| 色88888久久久久久影院按摩 | 91在线精品秘密一区二区| 国产精品毛片a∨一区二区三区| 亚洲国产一区二区a毛片| 欧美三级资源在线| 亚洲欧美中文字幕| 欧美日本精品在线| 91视频-88av| 亚洲精品国产一区| 亚洲色精品三区二区一区| 亚洲欧美日韩偷拍| 精品人妻在线播放| 亚洲黄色精品视频| 毛片基地网站| 国产精品一区二区三区四区色| av电影在线地址| 牛牛影视久久网| 国产日韩欧美| 国产亚洲女人久久久久毛片| 成人av午夜影院| 日韩欧美国产精品一区| 久久亚洲捆绑美女| 暖暖日本在线观看| 欧美激情久久久久久| 午夜av电影| 久久久精品国产网站| 在线观看国产视频一二三| 青青草国产精品一区二区| 欧美在线视频在线播放完整版免费观看| 亚洲春色在线| 美女视频久久久| 在线能看的黄色| 日韩脚交footjobhd| 亚洲欧美日韩国产| 日本精品一级二级| 国产欧美精品xxxx另类| 九九热视频免费| 人妻一区二区三区四区| 午夜视频在线观看网站| 在线播放91| 另类在线视频| 国产亚洲精品福利| 欧美成人黑人xx视频免费观看| 中文字幕第50页| 黄色一级片免费看| 天堂影视av| 宅男在线一区| 亚洲毛片av在线| 国产成人久久精品| 国产精品无码在线| 国产乱精品一区二区三区| 国产精品无码久久久久| 国产成人在线网站| 一区二区亚洲欧洲国产日韩| a级片一区二区| 波多野结衣在线观看一区| 视频在线91| 国产精品久久占久久| 五月婷婷另类国产| 亚洲综合精品伊人久久| 夜夜春很很躁夜夜躁| 好爽好深好紧好大| 黄色成人美女网站| 一区二区高清免费观看影视大全| 欧洲日本亚洲国产区| 国产亚洲精品成人a| 国产一二三四| 涩爱av色老久久精品偷偷鲁| 国产精品久久久久三级| 欧美亚洲激情视频| 自拍视频一区二区| 九色蝌蚪av新入口| 国内黄色精品| 色婷婷激情久久| 久久综合九色99| 久草国产在线观看| 日本五码在线| 日韩视频在线一区二区三区 | 国产色a在线| 亚洲欧美日韩国产一区二区| 亚洲国产精品成人va在线观看| 最近免费观看高清韩国日本大全| 91丨九色丨海角社区| 色呦呦在线视频| 成人福利视频在线看| 性亚洲最疯狂xxxx高清| 亚洲精品视频大全| 男女性高潮免费网站| 91xxxxx| 成人免费在线播放| 欧美日韩精品是欧美日韩精品| 亚洲视频sss| 国产伦理一区二区| 伊人久久精品一区二区三区| 久久精品欧美日韩| 国产在线精品一区免费香蕉| 51精品免费网站| 九色在线观看视频| 久久 天天综合| 高清欧美性猛交xxxx| 欧美色图亚洲激情| 丝袜足控免费网站xx网站| 亚洲视频一二| 在线播放精品一区二区三区| 91香蕉视频在线观看视频| 九色视频在线观看| 亚洲欧洲美洲一区二区三区| 亚洲黄色av网站| 久久人人爽av| 狠狠色噜噜狠狠狠狠888奇米| 精品国产一区探花在线观看| 欧美一级高清大全免费观看| 国产亚洲天堂网| 91久久精品| 91成人免费| 亚洲午夜久久久久久久| 黄色一级片免费播放| 黄色成人羞羞视频| 久久三级视频| 97福利一区二区| 久久99久久98精品免观看软件 | 成人性生活av| 亚洲人成亚洲人成在线观看图片 | 亚洲一区二区免费| 香蕉污视频在线观看| 国产伦理精品| 亚洲天堂av一区| 亚洲欧美在线网| 亚洲天堂久久久| 精品美女久久久| 国产丝袜精品第一页| 精品人妻一区二区三| 午夜视频99| 国产成人在线影院| 91在线网站视频| 在线观看免费观看在线| 亚洲精品三区| 欧美精品色综合| 三年中文在线观看免费大全中国| 免费激情网址| 国产99精品国产| 成人精品水蜜桃| 亚洲第一天堂网| 国产精品免费99久久久| 亚洲欧美国产精品久久久久久久| 国产在线不卡av| 高清性色生活片在线观看| 国产视频在线观看一区二区三区 | 亚洲欧美日韩免费| 青青草国产免费一区二区下载| 成人国产视频在线观看| 国产精品久久久久99| 国产一区免费看| 精品一区二区三区中文字幕 | 精品一区二区三区中文字幕老牛| 亚洲摸下面视频| 免费看污片网站| av网站大全在线| 亚洲午夜精品在线| 人妻熟妇乱又伦精品视频| jizzjizzjizz亚洲| 国产成人在线色| 激情久久av| 四虎国产精品永久在线| 在线日韩中文| 国产精品久久不能| 国产激情视频在线播放 | 久久午夜鲁丝片| 国产精品一线| 亚洲小视频在线| 国产av 一区二区三区| 久久亚洲精品中文字幕| 欧美变态口味重另类| 高潮毛片无遮挡| 蜜桃视频在线观看播放| 欧美色图天堂网| 亚洲av成人片色在线观看高潮 | 国产欧美亚洲一区| 成人免费看吃奶视频网站| 午夜精品一二三区| 欧美人成网站| 国产精品美女免费视频| 俄罗斯嫩小性bbwbbw| 欧美精品入口| 国产精品色婷婷视频| 亚洲欧美高清视频| 极品尤物久久久av免费看| 国产精品久久久av| 午夜激情在线视频| 99视频精品免费观看| 亚洲一区中文字幕在线观看| 伊人国产视频| 久久精品国产久精国产| 欧美日本亚洲| 九色网com| 91丨九色丨蝌蚪丨老版| www.av91| 欧美黄色小说| 高跟丝袜一区二区三区| 中文字幕永久免费| caoporn-草棚在线视频最| 在线不卡的av| 日韩av手机在线免费观看| 国产在线不卡一区二区三区| 日韩午夜在线视频| 亚洲图片小说视频| 欧美喷水视频| 精品国产乱码久久久久软件| 美女网站免费看| 国产亚洲欧美日韩在线一区| 白嫩少妇丰满一区二区| 欧美人xxx| 51精品久久久久久久蜜臀| 蜜桃av.com| 精品少妇3p| 国产极品精品在线观看| 欧美另类bbbxxxxx另类| 国产成人免费视频网站 | 免费成人深夜夜行p站| 老司机精品视频网| www..com久久爱| 日本a在线免费观看| 超碰国产在线观看| 69堂国产成人免费视频| 欧美交换国产一区内射| 欧美日韩激情| 91久热免费在线视频| 你懂的在线观看视频| 国产精品国产自产拍高清av王其| 天美一区二区三区| 韩日一区二区| 欧美黄色片免费观看| 亚洲色图图片专区| 成人av免费观看| 男女污污的视频| 色尼玛亚洲综合影院| 俺也去精品视频在线观看| 欧美一级淫片aaaaaa| 国产精品资源在线看| 男人天堂网视频| 亚洲天堂av影院| 欧美成人三级视频网站| 手机在线理论电影| 国产三级精品视频| 中国男女全黄大片| 精品国产第一国产综合精品| 欧美专区在线视频| 日日摸夜夜爽人人添| 亚洲柠檬福利资源导航| 无码少妇一区二区| 日产精品一区二区| 久久久久久艹| 日本ー区在线视频| 亚洲第一网站免费视频| 国产口爆吞精一区二区| 激情五月婷婷综合| 日本激情视频在线| 88xx成人网| 国产suv精品一区二区三区88区| 看全色黄大色黄大片免责看的| 一区二区三区欧美视频| 国产人与禽zoz0性伦| 欧美在线高清| 精品国产一区二区三区在线| 都市激情久久综合| 欧美激情区在线播放| 在线观看无遮挡| 午夜视频久久久久久| 久久综合久久鬼| 亚洲综合99| 成年人黄色片视频| 欧美成人福利| 成人在线国产精品| 在线观看免费观看在线91| 精品成人a区在线观看| www.亚洲黄色| ww亚洲ww在线观看国产| 西西444www无码大胆| 国产精品国内免费一区二区三区| 一本久久a久久精品vr综合| 在线免费av导航| 欧美精品一区三区| 激情美女网站| 欧美精品乱码久久久久久按摩| 一级黄色片免费看| 99re免费视频精品全部| 国产精品亚洲无码| 亚洲一区二区三区| 大陆av在线播放| 最新欧美电影| 91精品久久久久久| 久久精品色图| 深夜福利一区二区| 尤物视频..com| 精品视频一区 二区 三区| 国产欧美久久久| 国产精品久久午夜| 久久久久亚洲天堂| 韩国av一区二区| 成人h动漫精品一区| 在线播放精品| 免费av不卡在线|