如今電子產品市場風云變幻,暗流洶涌,有沒有小伙伴遇到自己費了大力氣寫出來的代碼,很容易就被別人“借鑒”了,真的是讓聞者傷心,聽著落淚啊。
那有沒有什么方法可以防止別人將你的代碼從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-04-17 04:16
都是32位MCU,ESP32、GD32、STM32有什么區別
01 三款MCU簡介 STM32:意法半導體在 2007 年 6 月 11 日發布的產品,32位單片機(不多介紹了,懂得都懂)。 GD32:兆易創新 2013 年發布的產品,在芯片開發、配置、命名上基本模仿 STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封裝不改焊上去直接用。有時候 STM32 的源碼不修改,重新編譯燒寫到 GD32 上就可以跑。當然也有很多不同,比如串口驅動、USB 、庫文件等。 ESP32:樂鑫公司 2017 年開發的產品,和 STM32、GD32 不同,ESP32 主要面向物聯網領域,支持功能很多,但引出 GPIO pin 腳很少,因此大多數 GPIO 都有很多復用功能。出廠
[單片機]
車規級MCU市場高速增長,加速汽車電子的電動化變革
車規級MCU(微控制單元)在智能汽車領域中扮演著至關重要的角色,它是汽車電子控制單元(ECU)的核心,負責協調并管理車內各類信息的運算處理。從動力總成到車身控制系統,從自動駕駛到智能互聯,MCU都在其中發揮著基礎而關鍵的作用。 車規級MCU從最初用于汽車的基本控制任務,到發展成具備復雜運算和多任務處理能力的核心芯片,見證著汽車電子化進程的一步步推進。進入21世紀后,隨著電動化和自動駕駛技術的快速進步,MCU的應用逐步涵蓋了動力總成、輔助駕駛、智能安全、車聯網等多個高科技領域,需求量大幅攀升。 根據蓋世汽車研究院《汽車芯片供應鏈報告》報告顯示,預計到2030年,全球汽車電子芯片市場規模有望超過1,100億美元,中國市場規模預
[汽車電子]
GD32F103C系列單片機的PWM捕獲功能
在使用單片機對脈沖信號進行捕獲時,經常會使用到單片機的捕獲功能。 今天,我們講解一下關于GD32F103C系列單片機的PWM捕獲功能。 使用定時器2的通道2-PA6(TIMER2_CH0)作為PWM脈沖捕獲口,進行脈沖捕獲。 引腳定義 1、定時器配置 timer_init.prescaler = 107;//分頻系數,最終分頻Fre=108M/(108M-1)+1=1M timer_init.alignedmode = TIMER_COUNTER_EDGE;//選擇邊緣對其模式 timer_init.counterdirection = TIMER_COUNTER_UP;//向上計數 timer_in
[單片機]
STM32系列MCU,寫寄存器Or利用固件庫
寫在開頭的話: 最近心血來潮,打算重新撿起老本行,結果發現很多都忘記了。干脆重新開始學習,并做個從零開始的筆記了。 STM32系列MCU STM32系列芯片包括F0/F1/F2/F3/F4/F7/L0/L1/L4/H7等系列芯片芯片。不同系列的芯片適用于不同的應用場景。F0/L0基于ARM Cortex?-M0,F1/F2/L1系列基于ARM Cortex?-M3,F3/F4/L4系列基于ARM Cortex?-M4,F7/H7基于ARM Cortex?-M7。L系列表示超低功耗,H表示超高性能(對應就是高功耗了),F就是個折中方案了,性能不錯,功耗也不高。 其他的先不管,F1系列芯片主要分類如下: ·超值型STM32F100
[單片機]
如何將FreeRTOS移植到STM32單片機上
引言 本文詳細介紹如何移植FreeRTOS到STM32單片機上。移植操作系統是嵌入式開發的入門基礎,單片機和嵌入式在物理上其實是一摸一樣的,區別就是軟件上嵌入式跑了操作系統而單片機沒有。本文選用市場上最常見的STM32和FreeRTOS,為大家介紹如何移植操作系統到MCU上。 介紹 什么是 RTOS? 實時操作系統(Real-time operating system, RTOS),它會按照排序運行、管理系統資源,并為開發應用程序提供一致的基礎。 實時操作系統與一般的操作系統相比,最大的特色就是“實時性”,如果有一個任務需要執行,實時操作系統會馬上(在較短時間內)執行該任務,不會有較長的延時。這種特性保證了各個任務的及時
[單片機]
8051單片機-校驗和
【例子】通過校驗和的方式實現數據傳輸與控制,例如控制LED燈、蜂鳴器、發送數據到上位機。 由于是數據傳輸與控制,需要定制一個結構體、共用體方便數據識別,同時增強可讀性。從數據幀格式定義中可以定義為“PKT_SUM_EX”類型。 識別數據請求什么操作可以通過以下手段來識別:識別數據頭部1、數據頭部2,操作碼。當完全接收數據完畢后通過校驗該數據得出的校驗值與該數據的尾部的校驗值是否匹配。 若匹配,則根據操作碼的請求進行操作;若不匹配則丟棄當前數據幀,等待下一個數據幀的到來。 結構體定義: /*使用結構體對數據包進行封裝 *方便操作數據 */ typedef struct _PKT_SUM { U
[單片機]
STM32單片機的串口通信波特率計算方法
1. 什么是波特率 不管是什么單片機,在使用串口通信的時候,有一個非常重要的參數:波特率。什么是波特率:波特率就是每秒傳送的字節數。雙方在傳輸數據的過程中,波特率一致,這是通訊成功的基本保障。下面以STM32單片機為例,講解一下串口波特率的計算方法。 2. STM32波特率相關的寄存器 STM32單片機設置波特率的寄存器只有一個:USART_BRR寄存器,如下圖所示。 該寄存器的有效位數為16位,前4位用于存放小數部分,后12位用于存放整數部分。將波特率算出來后,數值填入這個波特率就可以了。下面介紹如何計算。 3. 波特率計算方法 STM32的數據手冊給出了計算方法,有一個公式,如下圖所示: 在這個公式上,共有三個變量
[單片機]
Alif Semiconductor宣布推出先進的BLE和Matter無線微控制器
Alif Semiconductor宣布推出先進的BLE和Matter無線微控制器,搭載適用于AI/ML工作負載的神經網絡協同處理器 全新Balletto?系列無線MCU基于Alif Semiconductor先進的MCU架構,該架構具有DSP加速和專用NPU,可快速且低功耗地執行AI/ML工作負載 中國,北京-2024年4月18日- 先進的安全、互聯、節能的人工智能和機器學習(AI/ML)微控制器(MCU)和融合處理器供應商Alif Semiconductor?今天宣布推出Balletto?系列。 該系列是先進的藍牙?低功耗(BLE)無線微控制器,具有針對AI/ML工作負載進行硬件優化的功能。 Balletto
[工業控制]