freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

在pic18單片機(jī)中使用bootloader(doc)-經(jīng)營(yíng)管理-資料下載頁(yè)

2025-08-06 12:39本頁(yè)面

【導(dǎo)讀】置方法;針對(duì)程序中存在的問(wèn)題進(jìn)行探討和修改,使修改后的程序?qū)嵱?、可靠。根?jù)此方法,讀者可以編寫(xiě)出適合自己使用的BootLoader程序。目前,比較常見(jiàn)的BootLoader程序有Microchip. 它們的相似之處在于都占用了系統(tǒng)的0x00~0x1FF的程序空間。Microchip的版本是用純匯編寫(xiě)的,而HI-TECH的版本是用C語(yǔ)言編寫(xiě)的。下面只介紹PIC18的BootLoader,PIC16F87X. BootLoader是一段引導(dǎo)程序,在單片機(jī)上電/復(fù)位后在用戶(hù)程序之前先運(yùn)行。行后判斷當(dāng)前是否需要進(jìn)入升級(jí)狀態(tài)。接收數(shù)據(jù)時(shí),需要進(jìn)行校驗(yàn),保證接收到的數(shù)據(jù)是正確的,避免將錯(cuò)誤的程序?qū)?。擦?xiě)另一塊Flash,而不能擦寫(xiě)自身。BootLoader程序可以多種方式獲取數(shù)據(jù),包括串口、并口、I2C、SPI、USB等;但是從實(shí)際使用來(lái)看,使用串口無(wú)疑是最方便的。在這里,Microchip和HI-TECH都將BootLoader程序設(shè)計(jì)為小于200H個(gè)字。在HI-TECH的PICC18編譯器的examples文件夾下,有一個(gè)Bootldr子文件夾,使用MPLABIDE時(shí),首先按照正常方式建立一個(gè)新的工。C編譯器為HI-TECH的PICC18編譯器。雖然在BootLoader中是可以修改配置字的,但是這樣并不安全,也不方便。生最終的用戶(hù)HEX代碼。

  

【正文】 第 6 頁(yè) 共 7 頁(yè) 此資料來(lái)自 USE_EXTEND_HEX——是否接收擴(kuò)展的 HEX 代碼,不使用可以節(jié)省代碼,建議不用; USEWDT——是否在 BootLoader 中使用看門(mén)狗,建議使用; CONFIRM_TIME——聯(lián)機(jī)同步字節(jié)數(shù),在超時(shí)方式中使用多字節(jié)進(jìn) 行同步; CONFIRM_DATA——用戶(hù)可定義的聯(lián)機(jī)數(shù)據(jù); USE_ECHOBACK——編程時(shí)是否回應(yīng),使用可以增加下載時(shí)的安全性,建議使用。 使用了 BOOT_SIGNAL 方式后,與超時(shí)方式相關(guān)的部分都不再起作用。這時(shí)可以定義使用任意引腳來(lái)判定是否需要進(jìn)入 BootLoader。在使用BOOT_TIME_DELAY(超時(shí)方式 )時(shí),增加了一些與之相關(guān)的內(nèi)容,如CONFIRM_DATA,可以使用任何特定的字符串來(lái)確認(rèn)是否需要進(jìn)入 BootLoader 狀態(tài),增加了 BootLoader 程序的安全性,避 免受到干擾而誤進(jìn)入程序升級(jí)狀態(tài)。 ( 3) 其他改進(jìn)的建議和方法 ① HITECH 的 BootLoader 程序接收的是標(biāo)準(zhǔn)的 HEX 文件。這在很多時(shí)候是不夠安全的,不利于程序的加密,容易被反匯編和破解。可以對(duì) HEX 進(jìn)行加密處理,變成不能直接查看的數(shù)據(jù)。 ② 使用超級(jí)終端進(jìn)行程序下載速度比較慢 ,同時(shí),如果下載中出現(xiàn)錯(cuò)誤,超級(jí)終端程序不能及時(shí)發(fā)現(xiàn)停止下來(lái),而是一直把文件發(fā)送完才能停下來(lái)。這時(shí)BootLoader 程序會(huì)反復(fù)進(jìn)入 BootLoader 狀態(tài),對(duì)單片機(jī)有一定的損傷。最好是自行編寫(xiě)一個(gè)計(jì)算機(jī) 端的專(zhuān)用下載程序,不但可以提高下載的速度,也可以提高下載的成功率。 ③ 使用 RS422/485 方式。有些時(shí)候,使用的并不是 RS232 串口,而是RS422/RS485 串口。它們實(shí)際是類(lèi)似的,只是在接口方式上有些區(qū)別。 RS422/RS485需要控制發(fā)送,所以在 BootLoader 程序中增加一個(gè)發(fā)送控制就可以了。 ④ 在 BootLoader 中,將波特率設(shè)置得很高并沒(méi)有太大的用處,它并不能夠提高下載整體的速度,而只能加快數(shù)據(jù)傳輸?shù)乃俣取R驗(yàn)檎麄€(gè)下載分為數(shù)據(jù)通信(數(shù)據(jù)傳輸)和 Flash 寫(xiě)入 /擦除(數(shù)據(jù) 等待)兩個(gè)部分。程序代碼 Flash 空間的擦除和寫(xiě)入速度是比較慢的(典型值是 3~ ),太快了反而容易丟失數(shù)據(jù),造成下載失敗。使用 9600 bps 的波特率時(shí),傳輸 1 字節(jié)的數(shù)據(jù)大約是 1 ms,接收一個(gè)緩沖區(qū) 8字節(jié)大約需要 8 ms,大于寫(xiě)入延時(shí),所以不需要延時(shí);當(dāng)通信速率超過(guò) 9600 bps時(shí),接收 8 字節(jié)緩沖區(qū)的時(shí)間可能會(huì)小于寫(xiě)入時(shí)間,需要在通信中延時(shí)。實(shí)際使用的測(cè)試結(jié)果是:使用 9600 bps 比使用 14 400 bps 時(shí)慢 50%,使用 57 600 bps 比 9600 bps 快一倍,而使用 115 200 bps 時(shí)與 57 600 bps 幾乎沒(méi)有任何區(qū)別。如果使用超級(jí)終端下載,就更沒(méi)有必要設(shè)置高波特率了。因?yàn)樵谑褂米畛S玫娜€(xiàn)方式通信時(shí)(沒(méi)有控制信號(hào)),超級(jí)終端采用了比較保守的方式發(fā)送數(shù)據(jù),本身就比較慢。 結(jié)語(yǔ) 第 7 頁(yè) 共 7 頁(yè) 此資料來(lái)自 一個(gè)良好的 BootLoader 程序應(yīng)該具有良好的可維護(hù)性并可以正確處理異常情況,不會(huì)因?yàn)橐馔馇闆r引起系統(tǒng)的損壞和崩潰。
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1