如今電子產品市場風云變幻,暗流洶涌,有沒有小伙伴遇到自己費了大力氣寫出來的代碼,很容易就被別人“借鑒”了,真的是讓聞者傷心,聽著落淚啊。
那有沒有什么方法可以防止別人將你的代碼從MCU讀出來呢?答案當然是肯定的,GD32 MCU全系列都有“讀保護”功能,我們以GD32F30x系列為例,來看下用戶手冊中的選項字節的介紹:

我們可以看到,地址0x1fff f800存儲的是安全保護值,也就是我們所說的讀保護。當該值為0xA5的時候,MCU處于無保護狀態,此時可以通過Jlink、GDlink配合一些上位機比如Jflash、GDlink Programmer就可以讀出,當然,通過串口ISP也可以讀出代碼;當讀保護值為非0xA5時,就說明MCU已經進入讀保護狀態了,此時除了MCU自己的程序可以訪問flash外,其他方式的片上flash訪問都是無效的。所以,讀保護加上后小伙伴們就可以不用擔心代碼被別人讀出來了。
所以加讀保護和解除讀保護的操作就很好理解了,實際上就是對選項字節進行操作,將0x1fff f800地址的值設置為保護值/非保護值就可以了。
這時候有小伙伴就會問了,那既然讀保護狀態可以解除,別人拿到我的芯片,先解除保護,再讀出來不就可以了?實際上這個問題完全不用擔心,當MCU被加讀保護后,MCU內部同時也給Flash上的數據增加了一個“自毀裝置”,當有人對芯片進行解保護操作的時候,這個“自毀裝置”就會將Flash上所有的數據都清空,這時候從芯片讀出來的數據就是沒有用的“空”數據啦。
小伙伴現在知道什么是讀保護了嗎?我們后面也會介紹加讀保護和去除讀保護的方法哦。
關鍵字:GD32 MCU 讀保護
引用地址:
什么是GD32 MCU讀保護?
推薦閱讀最新更新時間:2025-07-03 10:12
節省IO的小技巧:GD32 MCU如何使用一個GPIO實現串口半雙工收發
一般情況串口的接受和發送分別需要使用TX和RX兩個引腳來實現,但在一些UART的實際應用中,通信雙方身份為主機和從機,數據流是半雙工的,那么當IO口資源緊張時可以使用半雙工模式通過一個引腳實現數據的發送和接受,同時又保證數據不出錯。我們一起來看下紅楓派開發板例程中是如何實現的? 首先GD32F303的UART是支持半雙工模式的,但想要真正使用起來,軟硬件還需要特殊設計。 首先是硬件設計,在紅楓派開發板中的RS485通信使用半雙工實現,原理圖是這樣的: 其中很重要的兩個點是: 1、在MCU的TX引腳上一定要增加一個上拉電阻,保證MCU發送和接受模式切換時IO口電平可以保持高電平的空閑態。 2、485端實際還是發送和接受
[單片機]
GD32 MCU機械按鍵狀態的識別
GPIO口的輸入功能-機械按鍵狀態的識別 硬件: 深圳標航科技有限公司 暴風 開發板 處理器:GD32F103VET6 開發環境:MDK(keil 5) + STM32CubeMX 1.1 GPIO口的輸入的作用 輸入,其意是指將處理器外部的邏輯信號0或者1輸入到處理器的內部。輸入是每一個處理器的IO引腳的基本功能。利用處理器的輸入功能我們可以獲取外部電路的狀態,進而做出進一步的判斷。GPIO的輸入功能的典型應用是獲取機械按鍵的狀態—判斷按鍵是按下還是彈起。 1.2 機械按鍵狀態的識別 1.2.1 機械按鍵電路的設計 按鍵有兩個狀態,一個是按下一個是彈起。通過巧妙的電路設計,會使得按鍵的按下與彈起時IO引腳的邏輯電平不一樣。通
[單片機]
GD32 MCU的引腳輸出功能應用配置
GD32的GPIO口的輸出功能-LED0閃爍實驗 硬件:深圳標航科技有限公司 暴風 開發板 處理器:GD32F103VET6 開發環境:MDK(keil 5) + STM32CubeMX 1.1 GD32F103VET6的IO引腳圖 由于GD32和STM32是PIN對PIN的,他們的引腳排列、封裝、大小都完全相同,所以GD32F103VET6的引腳結構與STM32F103VET6完全一樣,由于大家都對STM32比較熟悉,所以這里直接采用STM32F103VET6的引腳圖當做GD32F103VET6的引腳圖,該引腳圖如圖1所示。 圖1 GD32F103VET6的引腳分布圖 由圖可見,GD32F103VET6 (在后續介紹中,
[單片機]
STM32F4(Flash讀保護)
1,目的 在實際的產品發布中,如果不對儲存在單片機Flash中的程序做一些保護的話,就有可能被一些不法公司,通過仿真器(J-Link,ST-Link等)把Flash中的程序讀取回來,得到bin文件或hex文件,然后去山寨產品。所以我們需要對程序進行保護,一種比較簡單可靠的方法就是把Flash設置成讀保護。 2,開發環境 1,適用芯片:STM32F4全部芯片 2,固件庫:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 3,IDE:MDK517 3,程序源碼 /***************************************************************
[單片機]
ch32和gd32哪個好用?
Ch32和Gd32是兩個比較常見的芯片系列,都是基于ARM Cortex-M3內核設計的,因此具有類似的特點和性能。在選擇使用哪個芯片時,需要根據具體的項目需求和開發難度加以考慮。 首先,我們來簡單介紹一下這兩個芯片系列的特點。Ch32是中國廠商江蘇長鷹半導體公司生產的一款芯片,可以實現信號的高速處理和計算機視覺應用,廣泛應用于機器人、智能家居、智能駕駛等領域。Gd32則是由中國廠商北京兆易創新科技有限公司生產的芯片,主要應用于工控、嵌入式、智能家居、智能穿戴等領域。 在開發難度方面,剛開始學習嵌入式開發的初學者可能會覺得Gd32更加好用,因為它有完善的開發工具鏈和豐富的文檔資料,對于初學者來說更加友好。Ch32的開發工具鏈和文檔
[單片機]
一文解析STM32、GD32、ESP32差異
前言 STM32:意法半導體在 2007 年 6 月 11 日發布的產品,32位單片機。 GD32:兆易創新 2013 年發布的產品,在芯片開發、配置、命名上基本模仿 STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封裝不改焊上去直接用。有時候 STM32 的源碼不修改,重新編譯燒寫到 GD32 上就可以跑。當然也有很多不同,比如串口驅動、USB 、庫文件等。 ESP32:樂鑫公司 2017 年開發的產品,和 STM32、GD32 不同,ESP32 主要面向物聯網領域,支持功能很多,但引出 GPIO pin 腳很少,因此大多數 GPIO 都有很多復用功能。出廠就集成藍牙、WiFi 等物聯網必備功能
[單片機]
stm32f103移植到GD32修改內容及注意事項
在國內 芯片 緊張的情況下,目前如果項目沒有成型可以安裝官方提供的 GD32 的pack,選擇相關的pack即可正常編程。若程序已經成型,需要移植,首先就要考慮芯片類型( stm32 系列)的選擇。 選擇過程中首先要根據已用stm32 單片機 的封裝和引腳定義去對應相關的gd32芯片類型。 這里我選用的是GD32f305芯片替換stm32f103rc,所作設置如下: 1.點擊魔術棒選擇stm32f103芯片 2.根據晶振設置晶振,這里設置72MHz 3.根據芯片flash大小設置STM32F10X_LD、STM32F10X_MD、STM32F10X_HD,不知道的可以查手冊,實在不行就一個一個去試。
[單片機]
(8)趣味單片機新玩法-多個數碼管掃描顯示
我們先來看第一個效果,數碼管以秒計數顯示 動態效果圖 老套路,我們接下來進行分解,我們首先第一步就是讓每個數碼管都可控,不知道怎么使用74HC595的可以參考之前寫的文章 代碼: /* Main.ino file generated by New Project wizard * * Created: 周六 3月 20 2021 * Processor: Arduino Uno * Compiler: Arduino AVR (Proteus) */// Peripheral Configuration Code (do not edit)//---CONFIG_BEGIN---#pragma GC
[單片機]