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。借助這一特性,在重新程式設計過程中可以使用任意型別的通訊協議。...