娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月09日(星期三)

正在發生

2019年10月09日 | stm32的幾種讀保護措施講解

發布者:WhisperingWish 來源: eefocus關鍵字:stm32  讀保護  加密 手機看文章 掃描二維碼
隨時隨地手機看文章

綜合網上講解的幾種讀保護措施,這里簡單總結下:


采用stm32唯一ID作為加密的字符,使用固定密碼,采用16位字節AES加密的方式生成密文,然后寫進flash,,app程序執行的時候需要判斷讀取的stm32唯一ID號和AES解密出來是否一致,是執行程序,否則不執行,測試過,但這個方案針對生產比較麻煩,這里不采用

 

ChipUniqueID[2] = *(__IO u32 *)(0X1FFFF7F0); // 高字節

ChipUniqueID[1] = *(__IO u32 *)(0X1FFFF7EC); //

ChipUniqueID[0] = *(__IO u32 *)(0X1FFFF7E8); // 低字節

ChipUniqueID[3] = 0xffffffff;

printf("rn########### 芯片的唯一ID為: %X-%X-%X-%Xn",

          ChipUniqueID[0],ChipUniqueID[1],ChipUniqueID[2],ChipUniqueID[3]);

memcpy(aesKey , "chenjianqun66666" ,16);  //AES加密密鑰,16字節(128bit)

memset(expressText ,0 ,1024);

memset(expressText ,0 ,1024);

AES_Decrypt(expressText , cipherText , aesKey);//useaesKey decrypt 解密

        

count[0] =((u32)expressText[3]<<24)|((u32)expressText[2]<<16)|((u32)expressText[1]<<8)|((u32)expressText[0]);

count[1] =((u32)expressText[7]<<24)|((u32)expressText[6]<<16)|((u32)expressText[5]<<8)|((u32)expressText[4]);

count[2] =((u32)expressText[11]<<24)|((u32)expressText[10]<<16)|((u32)expressText[9]<<8)|((u32)expressText[8]);

if((count[0] == flash[0])&&(count[1]== flash [1])&&(count[2] == flash [2]))

{

//App程序

}


方案二:

采用stm32內部flash讀保護函數進行讀保護,此時板卡芯片不能讀寫也不能燒錄,所以再設計方面需要外部觸發信號關閉讀保護并且擦除flash的程序,(可以采用按鍵的觸發方式,當按鍵按下的時候,度保護關閉并擦除)此時可以再次讀寫和燒錄。(待測試)

 

if(GPIO_ReadInputDataBit(GPIOA , GPIO_Pin_0))

{

   if(FLASH_GetReadOutProtectionStatus()!=RESET)

    {

                             FLASH_Unlock();

                             FLASH_ReadOutProtection(DISABLE);

                           //  FLASH_EraseAllPages();   //解除讀保護的時候擦除所有

                             FLASH_Lock();//上鎖

    }       

}

else{

          if(FLASH_GetReadOutProtectionStatus()!=SET)

    {

                            FLASH_Unlock();//不解鎖FALSH也可設置讀保護

                            FLASH_ReadOutProtection(ENABLE);

                            FLASH_Lock();//上鎖

    }

}

這里也可以采用在內部的ram中燒進一段代碼,用于取消讀保護和擦除,需要再次燒錄的時候,使用Boot0 ,boot1進入ram啟動狀態即可


方案三:

另一種方式修改flash的選項字節(Option type) 官方工具stlink utility(可以參考https://blog.csdn.net/hxiaohai/article/details/78546431?fps=1&locationNum=5)也是修改這個的保護等級,但是103的好像不行(從以下文件中可以看到103系列并沒有選項字節文件,加密方式只能選用上述的方案二,但是207的讀保護方式因為沒有103在方案二的函數,所以只能設置選項字節)修改STM32F2xx_OPT.s  中RDP寄存器的0xAA,為0x00,注意:這里不可以修改為0xCC,0xCC為最高等級,這個值的修改會導致芯片變成磚頭


根據網上的資料:http://www.51hei.com/mcu/2767.html  工程中加入opt.s文件既可以實現對flash的加密,但是解密的時候還是需要用stlink的官方工具stlink utility進行設置,要不然就需要在sram里面設置一份設置選項字節為默認出廠形式才可以再次燒錄讀寫


關鍵字:stm32  讀保護  加密 引用地址:stm32的幾種讀保護措施講解

上一篇:STM32F40x系列ADC外部通道和引腳對應關系
下一篇:STM32ADC使用方法解析

推薦閱讀

? Arm和賽靈思(Xilinx)強強聯合,將業界最強大、最成熟的嵌入式生態系統優勢與賽靈思FPGA的靈活性相結合? 增強版Arm DesignStart項目將助力嵌入式開發人員快速、免費、方便地獲取成熟的Arm IP,從而加速并增強FPGA項目開發? 新的零授權費(License)和零版稅(Royalty)模式,旨在幫助更多開發人員從業界領先的Arm技術以及覆蓋全設備組合的...
近年來LCD面板價格暴跌、業務利潤急劇下滑,OLED顯示屏銷售低迷, LG Display公司盈利能力也因此不斷下降,但該公司卻從未放棄尋求出路。其最近推出的透明OLED顯示屏便是一個亮點。據engadget報道,自10月7日至28日,LG的55英寸透明OLED屏幕將會在英國知名百貨公司哈德羅百貨(Harrods)商場一層的櫥窗中展示。除了推出能為科幻電影博得眼球的商業顯示器...
推動高能效創新的安森美半導體(ON Semiconductor,美國納斯達克上市代號:ON) 推出采用全局快門技術的AR0234CS 230萬像素CMOS圖像傳感器。該高性能的傳感器專為各種應用而設計,包括機器視覺攝像機、增強實境(AR)/虛擬實境(VR)/混合實境(MR)頭顯、自主移動機器人(AMR)和條碼讀取器。 AR0234CS捕獲1080p視頻和單幀圖像,最高可以每秒120幀(fps)的速度運行...
一.硬件方案本設計主要以51單片機系統進行溫度采集與控制;溫度信號由數字溫度傳感器DS18B20采集,主控器主動獲取傳感器溫度值,通過PID算法,與設置溫度進行計算,輸出繼電器的控制狀態,并在LCD顯示屏進行顯示。主要由51單片機+最小系統+LCD1602液晶顯示模塊+DS18B20溫度傳感器+繼電器電路+蜂鳴器模塊+LED指示燈模塊+按鍵模塊;如圖:二.設計功能(1)采...

史海拾趣

問答坊 | AI 解惑

DSP和以太網數據采集處理系統

隨著技術的不斷發展,低功耗、高性能的DSP逐漸取代了通用單片機在數據采集處理系統中的地位;同時,以太網技術也在數據采集、測試測量技術中發揮越來越大的作用。本文介紹一種基于DSP和以太網的數據采集處理系統的設計思想及實現。 ARM 1 基于以太 ...…

查看全部問答∨

手機充電器方案集結貼—更新中,歡迎推薦

基于AP3768 的高效手機充電器方案       近年來,節能環保理念的深入人心,對半導體IC 設計和應用也提出了更高的要求。2008 年11 月,五大手機制造商諾基亞、三星、索尼愛立信、摩托羅拉和LG 電子聯合發布了手機充電器的五星 ...…

查看全部問答∨

周立功自己做的TKStudio大家有用過嗎?

本信息來自合作QQ群:NXP Cortex-M0/M3交流(87394268) 群管理員在壇子里的ID:pepsi360     請教一個問題,周立功自己做的TKStudio大家有用過嗎?…

查看全部問答∨

驅動里面CreateThread錯誤

在驅動程序初始化函數里面,創建一線程         if ( (pAXP182->IST = CreateThread(NULL, 0, AXP182_IST, NULL, 0, NULL)) == NULL)         {       &nbs ...…

查看全部問答∨

GSM模塊發不了短信的問題,大家幫看看。。

我用AT指令通過計算機串口給模塊發指令,但是一直不成功,不知道是什么原因? 波特率是115200 我發指令如下: 1.發送:at 返回:OK 2.發送:at+ccid 返回:+CCID: "89860060190200147245"      OK 3.發送:at+csq ...…

查看全部問答∨

找工作了--北京

2005年6月計算機專業本科畢業,畢業后一直在一個研究所從事軟件開發:     a)參與了專業交換機研發, 我主要做交換與維護模塊(c  語言+vxWorks)和交換機維護終端軟件(vc 6.0)     b)做過專業網控器的組網協 ...…

查看全部問答∨

請問VI是個什么東西

請問vi是什么東西呀?老師要我們翻譯一篇文章, 我不知sub vi是什么意思?  還有就是context help是什么意思?多謝…

查看全部問答∨

郁悶阿,昨天鎖了兩個stm32片子

調用了庫里的讀保護函數,結果,后來stlink2仿真器就連不上了,Jlink下載完就報錯。是不是只能用ISP擦了?…

查看全部問答∨

能給分析一下這個定義的具體意義嗎

__no_init volatile union{  unsigned char IE1;   /* Interrupt Enable 1 */  struct  {    unsigned char WDTIE           : 1; /*  */    unsigned char OFIE   &n ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 三门县| 平泉县| 上蔡县| 忻州市| 沁源县| 鲜城| 洱源县| 达尔| 棋牌| 黄骅市| 肇东市| 江油市| 旅游| 鲜城| 彭阳县| 方正县| 文登市| 布拖县| 英吉沙县| 正镶白旗| 汨罗市| 安西县| 吉林省| 五大连池市| 镇江市| 瑞金市| 吉安市| 平定县| 日土县| 固原市| 织金县| 德令哈市| 富川| 塔城市| 霍城县| 从化市| 荔浦县| 乐山市| 聊城市| 临泉县| 高邮市|