stm8微控制器程式加密方法 id加密技巧

2021-09-29 10:46:01 字數 531 閱讀 9096

利用id做軟體加密

1,如果板子上有外部儲存器,可以先編寫乙個程式,利用演算法把id計算得到一些值存入外部儲存器,然後再燒寫真正的程式,真正的程式去校驗外部儲存器的資料是否合法即可

2,利用板子上按鍵組合,或是上電按住某些鍵,程式在這個時候利用演算法把id計算得到一些值存入程式區,程式執行時去驗證程式區資料是否正確

3,軒微程式設計器有軟體加密的功能,程式設計器會讀晶元id,根據演算法直接改寫緩衝區,達到軟體加密的作用

4,讀出的id通過一定演算法,例如異或加上乙個數,得到的資料存入flash(只執行一次,執行後標誌位也存入flash),下次讀到這個標誌位,就不執行這個程式。

#define id_encrypt_eor_result_address (0x9ff0)

#define id_encrypt_add_result_address (0x9ff4)

void stm8s103encryptdemo(void)

if(u16addrslt != *((uint32*)id_encrypt_add_result_address))

STM8 系列微控制器命名規則

stm8 命名規則示列 stm8s005k6t6c 代表的意義為 超值型 stm8 核心 可以理解為8 位51 增強型核心 mcu,lqfp 32 封 裝,32kb flash 容量,溫度範圍 40 85 工業級 具體分解如下 stm8 微控制器包括以下幾個系列 stm8 8 位mcu stm8a ...

STM8 微控制器除錯筆記

1 休眠喚醒後串列埠異常問題 stm8l主要用來做低功耗產品,這裡就有休眠前跟喚醒後有差異的情況,在除錯的時候碰到如果使用串列埠,在休眠前都正常,當喚醒後,串列埠傳送的資料會出現異常的情況,傳送的資料感覺會有丟幀。後來發現跟系統時鐘有關,如果系統時鐘採用外部時鐘就會有問題,內部時鐘就ok。這裡要用內...

STM8微控制器時鐘

時鐘樹 時鐘源有四種 外部高速晶振 hse 1 16mhz 內部高速rc振盪器 hsi 16mhz 外部低速晶振 lse 32.768 內部低速rc振盪器 lsi 38khz 系統預設配置的時鐘為hsi的8分頻既2mhz 外部時鐘配置hse clk deinit 復位所有時鐘暫存器 clk hsic...