STM32 IAP公升級工具

2021-09-29 09:56:06 字數 1443 閱讀 6624

1、內部包含了crc_mode的檢驗

2、檔案包含了頭尾、長度的資料,確保公升級操作的可靠性

3、win32串列埠查詢功能getseriallist();

4、(regkey.open(hkey_local_machine, _t("hardware\\devicemap\\serialcomm"), key_read) == error_success)     win7可以預設方式開啟,win10不可以必須以key_read方式開啟

5、包含以十六進製制方式儲存檔案

void cstm32_iap_toolsdlg::getseriallist()

str.format(_t("%s"), valuedata);

m_serial_list.insertstring(ncount - 1, str);

} }m_serial_list.setcursel(0);

}void cstm32_iap_toolsdlg::onopenfile()

}void cstm32_iap_toolsdlg::writserialdata(string data)

}void cstm32_iap_toolsdlg::onbnclickedsendupdatefile()

else

return data; }

std::string cstm32_iap_toolsdlg::inttostring(char*p, int len)

+ sizeof(len)-1, str.end());

return str;

}std::string cstm32_iap_toolsdlg::addheadtail(std::string &str)

uint16_t cstm32_iap_toolsdlg::getcrc(int8_t * data, uint32_t len)

else

}} return (wcrcin);

}string cstm32_iap_toolsdlg::writehextolog(const string& str) //transfer string to hex-string

std::string strtime = boost::posix_time::to_iso_string(boost::posix_time::second_clock::local_time());

out << '\t' << strtime;

out << '\n';

out << endl;

out << dec << "\n" << endl;

return result;

}

STM32 IAP公升級 知識點記錄

1.1 書寫程式,keil生成bin檔案 1.2 上位機載入bin檔案,生成校驗碼,通過串列埠,將bin檔案和校驗碼傳送到微控制器 1.3 微控制器接收bin檔案,所有資料存在usart rx buf中 1.4 微控制器程式校驗接收資料是否正確 1.5 程式判斷中斷向量入口是否正確 if vu32 ...

STM32 IAP公升級韌體 上位機 例程

本例程實現功能 一 iap公升級簡單介紹 基本原理不做贅述,參見 兩種方式 方式2 4 引數區域存放公升級標誌以及其他引數 本例程採用方式二公升級 二 韌體程式 stm32f103cbt6晶元使用hal庫開發 1 flash區域劃分 分割槽大小 扇區位址 iap10k 0 90x08000000 0...

STM32 iap移植筆記

對於大多數基於 flash 的系統而言,在最終產品中安裝之後,能夠對韌體進行更新,這一點非常重要。這一功能被稱為在應用中程式設計 iap stm32f4xx 微控制器能夠執行使用者指定的韌體,從而執行微處理器內建 flash 的 iap。借助這一特性,在重新程式設計過程中可以使用任意型別的通訊協議。...