1.一種固件升級的方法,其特征在于,用于對STM32單片機(jī)的固件進(jìn)行升級,該方法包括:
通過移動(dòng)終端獲取升級用的固件文件,并通過網(wǎng)絡(luò)透傳模塊將升級用的固件文件發(fā)送至bootloader;
通過所述bootloader將獲取到的固件文件緩存在RAM中;
通過所述RAM不斷將所獲取到的固件文件轉(zhuǎn)移至外部存儲(chǔ)器中;
利用外部存儲(chǔ)器中的升級用的固件文件進(jìn)行固件升級。
2.如權(quán)利要求1所述的方法,其特征在于,還包括:
若STM32單片機(jī)的復(fù)位為普通復(fù)位,將標(biāo)志位的值更新為0;
若STM32單片機(jī)的復(fù)位是基于傳輸固件文件進(jìn)行的復(fù)位,將標(biāo)志位的值更新為1;并對外部存儲(chǔ)器所接收到的固件文件進(jìn)行完整性的校驗(yàn);
若校驗(yàn)通過,則將標(biāo)志位的值更新為2;
若校驗(yàn)不通過,則將標(biāo)志位的值更新為0;
若檢測到STM32單片機(jī)中APP固件區(qū)發(fā)生物理損壞,則將標(biāo)志位的值更新為3。
3.如權(quán)利要求2所述的方法,其特征在于,所述利用外部存儲(chǔ)器中的升級固件文件進(jìn)行固件升級,具體包括:
確定外部存儲(chǔ)器中的固件文件的標(biāo)志位的值;
若標(biāo)志位的值為2,則確定外部存儲(chǔ)器中對應(yīng)的固件文件為升級用的固件文件;
基于確定的升級用的固件文件進(jìn)行固件升級。
4.如權(quán)利要求3所述的方法,其特征在于,還包括:
若確定標(biāo)志位的值為0,則通過外部存儲(chǔ)器重新接收固件文件;
若確定標(biāo)志位的值為1,則啟動(dòng)APP固件區(qū)以執(zhí)行正常功能;
若確定標(biāo)志位的值為3,則生成報(bào)警信息并發(fā)送給指定的設(shè)備。
5.如權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡(luò)透傳模塊具體包括:無線網(wǎng)絡(luò)透傳模塊。
6.一種固件升級的設(shè)備,其特征在于,用于對STM32單片機(jī)的固件進(jìn)行升級,該設(shè)備包括:
發(fā)送模塊,用以通過移動(dòng)終端獲取升級用的固件文件,并通過網(wǎng)絡(luò)透傳模塊將固件文件發(fā)送至bootloader;
第一緩存模塊,用以通過所述bootloader將獲取到的固件文件緩存在RAM中;
第二緩存模塊,用以通過所述RAM不斷將所獲取到的固件文件轉(zhuǎn)移至外部存儲(chǔ)器中;
升級模塊,用以利用外部存儲(chǔ)器中的升級用的固件文件進(jìn)行固件升級。
7.如權(quán)利要求6所述的設(shè)備,其特征在于,還包括:
更新模塊,用以當(dāng)STM32單片機(jī)的復(fù)位為普通復(fù)位時(shí),將標(biāo)志位的值更新為0;
當(dāng)STM32單片機(jī)的復(fù)位是基于傳輸固件文件進(jìn)行的復(fù)位時(shí),將標(biāo)志位的值更新為1;并對外部存儲(chǔ)器所接收到的固件文件進(jìn)行完整性的校驗(yàn);
若校驗(yàn)通過,則將標(biāo)志位的值更新為2;
若校驗(yàn)不通過,則將標(biāo)志位的值更新為0;
當(dāng)檢測到STM32單片機(jī)中APP固件區(qū)發(fā)生物理損壞時(shí),則將標(biāo)志位的值更新為3。
8.如權(quán)利要求7所述的設(shè)備,其特征在于,所述升級模塊,具體用于:
確定外部存儲(chǔ)器中的固件文件的標(biāo)志位的值;
若標(biāo)志位的值為2,則確定外部存儲(chǔ)器中對應(yīng)的固件文件為升級用的固件文件;
基于確定的升級用的固件文件進(jìn)行固件升級。
9.如權(quán)利要求8所述的設(shè)備,其特征在于,還包括:處理模塊,用以當(dāng)確定標(biāo)志位的值為0時(shí),通過外部存儲(chǔ)器重新接收固件文件;
當(dāng)確定標(biāo)志位的值為1時(shí),啟動(dòng)APP固件區(qū)以執(zhí)行正常功能;
當(dāng)確定標(biāo)志位的值為3時(shí),生成報(bào)警信息并發(fā)送給指定的設(shè)備。
10.如權(quán)利要求6所述的設(shè)備,其特征在于,所述網(wǎng)絡(luò)透傳模塊具體包括:無線網(wǎng)絡(luò)透傳模塊。