在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CH32V103系列MCU內部FLASH讀寫操作方式

CHANBAEK ? 來源:CSDN-借過風景 ? 作者:CSDN-借過風景 ? 2023-01-31 15:02 ? 次閱讀

簡介

CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開源指令集設計。片上集成了時鐘安全機制、多級電源管理、通用DMA控制器。此系列具有1路USB2.0主機/設備接口、多通道12位ADC轉換模塊、多通道TouchKey、多組定時器、多路IIC/USART/SPI接口等豐富的外設資源。

本章教程將通過程序代碼進行內部FLASH讀寫操作。

1、CH32V103內部FLASH簡介及相關函數介紹

CH32V103芯片含有一個內部FLASH,其存儲數據在掉電后不會丟失,主要用于存儲程序代碼。芯片在重新上電并復位后,可通過加載讀取內部FLASH中程序代碼運行。

通常,我們可通過兩種方式對內部FLASH進行讀寫:一是通過下載器等外部工具讀寫內部FLASH,二是通過芯片運行程序代碼讀取自身內部FLASH。本章即通過第二種方法進行內部FLASH讀寫。此外,就讀寫速度而言,讀寫內部FLASH比外部FLASH快的多,且由于內部FLASH掉電后數據不會丟失,因此內部FLASH剩余空間可用于存儲重要數據和關鍵記錄。

由于內部FLASH可被通過外部工具或程序代碼讀寫,為了防止內部FLASH中存儲數據被獲取,某些應用會禁止讀寫內部FLASH內容,或在第一次運行時計算加密信息并記錄到某些區域,然后刪除自身的部分加密代碼,這些應用都涉及到內部FLASH的操作。

CH32V103內部FLASH主要包含主存儲器和信息塊兩塊區域,其中信息塊又可被分為兩塊系統引導代碼存儲區域、用戶選擇字和廠商配置字區域。其中,主存儲器區域主要用于用戶的應用程序存儲,以4K字節(32 頁)單位進行寫保護劃分;除了“廠商配置字”區域出廠鎖定,用戶不可訪問,其他區域在一定條件下用戶可操作。

CH32V103內部FLASH具有2種編程/擦除方式,具體如下:

標準編程:此方式是默認編程方式(兼容方式)。這種模式下CPU以單次2字節方式執行編程,單次1K字節執行擦除及整片擦除操作。

快速編程:此方式采用頁操作方式(推薦)。經過特定序列解鎖后,執行單次128字節的編程及128字節擦除。

關于CH32V103內部FLASH具體信息,可參考CH32V103應用手冊。CH32V103內部FLASH標準庫函數具體內容如下:

pYYBAGPYvGGAXycRAAGJp1PCa9E193.png

poYBAGPYvGGAGjwiAABGDg5mAYU175.png

2、硬件設計

本章教程主要通過程序代碼進行內部FLASH讀寫操作,使用CH32V103內部資源,無需進行硬件連接。

3、軟件設計

CH32V103內部FLASH編程/擦除方式有兩種,一種是標準編程,一種是快速編程,本章即使用上述這兩種方式分別進行內部FLASH讀寫操作,程序編程主要分3個步驟:

1、對內部FLASH進行解鎖;

2、對內部FLASH進行頁擦除;

3、對內部FLASH進行讀寫操作。

根據上述操作步驟,編寫具體程序,具體程序如下:

flash.h文件

pYYBAGPYvGGAdvLSAABfaQay0UE292.png

flash.h文件主要包含相關定義和函數聲明;

flash.c文件

pYYBAGPYvGGAcaLJAACwSoJAY1c353.png

poYBAGPYvGGAPjwYAAEd09RflpQ140.png

pYYBAGPYvGGAM3tTAAFJDsHP4C0650.png

poYBAGPYvGGAS1MPAAB0sVd7dE8825.png

flash.c文件主要包含兩個函數,一個是內部FLASH標準編程函數Flash_Test,一個是內部FLASH快速編程函數Flash_Test_Fast,這兩個函數具體執行過程如下:

內部FLASH標準編程函數Flash_Test執行過程:

(1)調用FLASH_Unlock函數進行解鎖;

(2) 根據起始地址及結束地址計算需要擦除頁數;

(3) 調用FLASH_ClearFlag函數清除各種標志位;

(4) 使用for循環以及調用FLASH_ErasePage函數擦除頁數,每次擦除一頁;

(5) 使用while循環并調用FLASH_ProgramWord函數向起始地址至結束地址的存儲區域都寫入變量“Data”存儲的數值數值;

(6) 調用FLASH_Lock函數進行上鎖;

(7) 使用指針讀取寫入的數據內容并校驗。

內部FLASH快速編程函數Flash_Test_Fast執行過程與標準編程執行過程類似,具體如下:

(1)調用FLASH_Unlock_Fast函數進行解鎖;

(2) 調用FLASH_ErasePage_Fast函數擦除指定閃存頁;

(3) 調用FLASH_BufReset函數復位閃存緩沖區,執行清除內部128字節緩存區操作;

(4) 調用FLASH_BufLoad函數向指定地址開始連續寫入16字節數據(4字節/次操作,寫的地址每次偏移量為4),然后執行加載到緩沖區;

(5) 調用FLASH_ProgramPage_Fast函數啟動一次快速頁編程動作,編程指定的閃存頁;

(6) 調用FLASH_Lock_Fast函數進行上鎖;

(7) 使用for循環讀取編程地址進行數據校驗并返回校驗值。

以上兩個函數執行過程可對照CH32V103應用手冊第24章閃存操作流程進行程序編寫,更有助于理解編程。

main.c函數

pYYBAGPYvGGAWHS7AACUoI2Oii8917.png

main.c函數主要進行函數初始化以及根據flash.c文件兩個函數返回值輸出相應信息。

4、下載驗證

將編譯好的程序下載到開發板并復位,串口打印情況具體如下:

poYBAGPYvGGAMUe2AACIfTVMoeM163.png

根據串口打印信息可知,內部FLASH標準編程和快速編程測試成功。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19382

    瀏覽量

    230482
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17199

    瀏覽量

    351926
  • FlaSh
    +關注

    關注

    10

    文章

    1640

    瀏覽量

    148299
  • RISC-V
    +關注

    關注

    45

    文章

    2307

    瀏覽量

    46297
  • CH32V103
    +關注

    關注

    1

    文章

    13

    瀏覽量

    1026
  • ch32
    +關注

    關注

    0

    文章

    73

    瀏覽量

    663
收藏 人收藏

    評論

    相關推薦

    基于CH32V103系列MCU的ADC采樣設計

    CH32V103系列是以青稞V3A處理器為核心的32位通用RISC-V MCU,該處理器是基于RISC-
    的頭像 發表于 01-31 14:21 ?4251次閱讀
    基于<b class='flag-5'>CH32V103</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的ADC采樣設計

    CH32V103數據手冊

    教程基于沁恒32位通用增強型RISC-V架構MCU CH32V103,力爭全面分析CH32V103的每個外設功能及使用方法,手把手教大家玩轉RISC-
    發表于 07-19 07:55

    系列比如103系列CH32V103系列CH32F103有哪些區別?

    系列比如103系列CH32V103系列CH32F103有哪些區別?
    發表于 03-09 10:05

    CH32V103基礎教程15-SPI讀寫FLASH

    本章教程將使用CH32V103的SPI讀寫FLASH,并通過串口調試助手將讀寫結果打印顯示。1、SPI簡介及相關函數介紹SPI是串行外設接口(Serial Peripheral Int
    發表于 04-17 15:30

    CH32V103基礎教程23-讀寫內部FLASH

    本章教程將通過程序代碼進行內部FLASH讀寫操作。1、CH32V103內部
    發表于 04-19 16:14

    CH32V103基礎教程24-設置FLASH讀寫保護及解除

    本章教程將使用CH32V103內部FLASH進行FLASH讀寫保護及解除設置。1、用戶選擇字簡介及相關函數介紹用戶選擇字固化在
    發表于 04-19 16:22

    CH32V103基礎教程89-FLASH編程

    本章主要使用CH32V103進行FLASH的擦/讀/寫,以及快速編程。 1、FLASH簡介及相關函數介紹關于CH2V103的FLSAH,其支持2種編程/擦除
    發表于 05-10 16:20

    RISC-V MCU應用開發教程之CH32V103

    教程基于沁恒32位通用增強型RISC-V架構MCU CH32V103,力爭全面分析CH32V103的每個外設功能及使用方法,手把手教大家玩轉RISC-
    發表于 11-18 16:21 ?18次下載
    RISC-<b class='flag-5'>V</b> <b class='flag-5'>MCU</b>應用開發教程之<b class='flag-5'>CH32V103</b>

    基于CH32V103系列MCU點亮LED

    CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開源指令集設計。 片上集成了時鐘安全機制、多級電
    的頭像 發表于 01-31 12:01 ?2189次閱讀
    基于<b class='flag-5'>CH32V103</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>點亮LED

    如何控制CH32V103進入待機模式以及對其進行喚醒操作

    CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開源指令集設計。片上集成了時鐘安全機制、多級電源
    的頭像 發表于 01-31 14:47 ?2265次閱讀
    如何控制<b class='flag-5'>CH32V103</b>進入待機模式以及對其進行喚醒<b class='flag-5'>操作</b>

    如何控制CH32V103進入停止模式以及對其進行喚醒操作

    CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開源指令集設計。片上集成了時鐘安全機制、多級電源
    的頭像 發表于 01-31 14:48 ?1932次閱讀
    如何控制<b class='flag-5'>CH32V103</b>進入停止模式以及對其進行喚醒<b class='flag-5'>操作</b>

    基于CH32V103系列MCU的觸摸按鍵檢測

    CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開源指令集設計。片上集成了時鐘安全機制、多級電源
    的頭像 發表于 01-31 14:53 ?4334次閱讀
    基于<b class='flag-5'>CH32V103</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的觸摸按鍵檢測

    ch32v103應用教程 ch32v103c8t6兼容 ch32v103c8t6燒錄器

    、低成本的單片機,廣泛應用于工業自動化、通信、汽車電子、醫療儀器等領域。它采用的是ARM Cortex-M3內核,具有豐富的外設,支持多種通信協議,操作靈活、功能強大。本文主要介紹CH32V103
    的頭像 發表于 08-22 15:19 ?2032次閱讀

    ch32v103和stm32的區別

    和stm32。雖然它們共同作為微處理器的代表,但是它們之間還是有很多不同的。下面就詳細地對這兩種芯片進行比較和解析。 1、基本介紹 CH32V103是一款以ARM結構為基礎,具有射頻控制功能,能提供所有常規的數字接口的單片機芯片。其中包含有多種與ARM控制器及AC55XX系列
    的頭像 發表于 08-22 15:48 ?1552次閱讀

    ch32v103與stm32f103的區別

    ch32v103與stm32f103的區別? Ch32v103與STM32f103是兩種不同的芯片,雖然它們都是基于ARM Cortex-M3內核的32位微控制器,但它們在硬件配置、功
    的頭像 發表于 08-22 15:49 ?2605次閱讀
    主站蜘蛛池模板: 天天舔天天| 又长又大又粗又硬3p免费视| 特极毛片| 大色视频| 高清性色生活片欧美在线| 国产精品15p| 1717国产精品久久| 亚洲精品蜜桃久久久久久| 天天综合色天天综合网| 人人艹人人插| 亚洲国产七七久久桃花| 亚洲日本一区二区| 综合婷婷| 黄色大视频| 久草在线资源网| 波多野结衣一级特黄毛片| 人人做人人爽人人爱| 精品看片| 美女被免费网站视频在线| 国产精品福利在线观看免费不卡| 欧美性猛交xxxx黑人猛交| 成人国产亚洲欧美成人综合网| 日本xxxx69hd| 狠狠色狠狠干| 四虎永久免费影院| 玖玖色视频| 夜色爽爽| 五月天亚洲婷婷| 狠狠轮| 在线毛片免费| 亚洲一区二区视频| 91大神精品视频| 国产成人综合日韩精品婷婷九月| 一区二区三区影视| 综合网在线| 欧美无遮挡国产欧美另类| 国产精品黄网站免费观看| 手机在线1024| xxxx欧美| 天天色天天拍| 国产成人免费无庶挡视频|