色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

IT8528存儲器學習筆記

CHANBAEK ? 來源: 吃面小哥 ? 作者: 吃面小哥 ? 2023-11-18 15:06 ? 次閱讀

IT8528E,該芯片內部集成多個外設模塊,內核為8032,使用8051指令集。

因此這顆 MCU“內核”為51核。

可以簡單地認為這是一個外設資源更豐富的8051單片機,框圖如下:

IT8528相關儲存器主要有三個部分:

iRAM : 8032內部 256Byte 的 RAM,這部分屬于8032內核。

XRAM : 內核外部 4K 的 RAM,這部分在 IT8528 芯片內部。

XROM : 外接 Flash ROM,大小不確定,一般為64K--128K,通過SPI連接。

內部RAM

它屬于8032內核部分,訪問速度快,容量很小。邏輯地址和 SFR 寄存器復用。

圖片

低128字節的數據存儲器既可以直接尋址也可以間接尋址。

高128字節RAM與特殊功能寄存器區共用相同的地址范圍,都使用0x80—0xFF地址空間。

地址空間重疊,但是物理上是獨立的,使用時通過不同的尋址方式加以區別。高128字節只能間接尋址,特殊功能寄存器區只可以直接尋址。

圖片

低128字節RAM也稱通用RAM區。工作寄存器組從0x00—0x1F共32字節,分為4組每組8個寄存器,標記為R0—R7,他們屬于不同的物理空間。使用寄存器組可以提高運算速度。程序狀態字PSW寄存器中的RS1和RS0組合決定當前使用的寄存器組。

可位尋址從0x20—0x2F共16字節,它既可以向普通字節一樣按字節尋址,也可以按位尋址。按位尋址共128bit,位尋址范圍是0x00—0x7F,這里要注意,看起來它和RAM低128字節尋址范圍一樣,但是二者有著本質的區別。位地址指向一個位,而字節地址指向一個字節,在程序中使用不同的指令區分。

內部RAM采用8bit數據總線尋址范圍256Byte,內部RAM操作指令:MOV。

外部RAM

它雖然位于IT8528內部,但相對于8032內核來說是外部數據存儲器,也稱 XRAM。

--地址空間

內核可以訪問的RAM地址范圍就是地址空間。這個范圍由數據總線決定,8051核對于外部數據存儲器采用16bit數據總線,即他可以訪問的RAM范圍是0—64K。

內核可以訪問的范圍是這個范圍,但是實際中外接RAM的物理大小可能沒有64Kbyte,或者可供用戶程序使用的大小沒有64KByte。

RAM 地址空間有 64K,實際芯片設計中,分別會映射不同的“物理存儲”。

--映射模塊寄存器

IT8528內部眾多外設模塊使用時,每個模塊都需要Data、Status、Control寄存器,這些寄存器映射在特定的RAM地址上,在軟件中定義后即可訪問。

這部分范圍是0x1000—0x3000,實際的物理位置在各模塊內。映射的物理空間,用戶是無法改作他用。

圖片

--映射外部存儲器

0x0000—0x0FFF(4K)。這部分空間映射的“物理存儲”是8032的外部數據存儲器XRAM。

該段地址空間,在IT8528中稱之為Scratch RAM,也可以映射外部ROM存儲器。

即內核執行指令,可以從外部ROM取,也可以從外部RAM取。

IT8528內部的4K RAM存儲器,用于存儲臨時變量、全局變量等數據。

如下圖,左邊是64K的邏輯地址空間,右邊是映射的“物理存儲”。

圖片

簡單地說,邏輯地址空間是0—64K,物理上可能沒有相應的“物理存儲”與之映射,或者映射的“物理存儲”已經被其他部件作為寄存器使用,用戶程序無法自定義使用。

外部RAM采用16bit數據總線尋址范圍64K,外部RAM的操作指令:MOVX。

外部ROM

外部ROM,也叫外部 SPI Flash,用于存儲程序指令,它通過SPI總線和IT8528相連。對于8032來說,沒有內部ROM,支持外接Flash 。

同樣的,8032內核采用16bit地址總線,16bit 程序計數器,程序指令可尋址范圍是

0—64KByte。也就是說程序地址空間也是0—64KByte。

實際上IT8528支持外接最大 16M 的 Flash,那么這里出現了一個問題,8032內核的地址總線是16bit,無法訪問大于64K的地址。應該如何解決?

對于51內核的 MCU 來說,設計了一種分 BANK的存儲組織方式,以支持大于64K的ROM 存儲器。

對于64K的程序地址空間劃分方法如下:(Flash和 8032 代碼空間的映射)

圖片

程序地址空間0x0000—0x7FFF,屬于Common Bank,映射了“物理存儲”,即Flash 的0x0000—0x7FFF區間。

程序地址空間0x8000—0xFFFF,屬于Bank(0—3),四個Bank占用相同的程序地址空間,但是在 Flash中的物理區間不同。

CommonBank+Bank_x 的地址范圍恰好是64K,因此8032在訪問外部地址空間的時候,同一時間只能訪問某一個Bank區間。如果編譯的函數處于其他Bank,當發生跨Bank的函數調用時,就會自動切換Bank。實際上切Bank是Keil編譯器生成的一段代碼完成的。

IT8528切Bank相關的寄存器可以參考其 Datasheet。

通過鏈接文件,可以指定某個函數代碼或者某段數據放在某個指定的Bank內。

外部ROM采用16bit地址總線尋址范圍64K,外部ROM中的數據操作指令:MOVC。

IT8528固件更新原理

由上文可知,IT8528內核執行的每一條指令都是從外部SPI Flash實時讀取的。

當需要更新 SPI Flash時就會出現沖突。

此時可以將 XRAM 存儲器映射至代碼地址空間,如此 8032 內核在取指令時就只會訪問 XRAM,而不是訪問SPI Flash 了。

IT8528內部的 XRAM存儲器(Scratch RAM)一共4K,分別編號0--4,每一塊的大小如下圖所示。

4K的XRAM總是映射到數據空間。當需要時,配置代碼空間映射寄存器使能,XRAM會映射到代碼空間。

圖片

也就是同一時間,Scratch SRAM可能既映射到數據空間又映射到代碼空間,映射至數據空間稱之為Scratch RAM,映射至代碼空間稱之為Scratch ROM。

如下圖,每一塊映射至代碼空間的位置由 SCARxH/M/L三個寄存器配置。

圖片

如下就是代碼空間映射XRAM和 SPI Flash 的示意圖。

圖片

為了兼容設計 IT8528 增加了一個寄存器FBCFG,以便完成一個快速映射。

即快速把 Scratch SRAM-0 映射至代碼空間的 F800--FFFF位置。

圖片

有了上述映射關系,就解決了更新SPI Flash和8032取指令沖突的問題。

如下圖,IT8528設計了一個SMFI模塊,以便8032訪問外接SPI Flash。

圖片

通過 Host端訪問IT8528外掛的SPI Flash原理如下圖。

圖片

更新固件流程

第一步,把更新SPI Flash的控制函數(限制在256個字節)copy至SRAM指定位置。

圖片

為何要把更新函數copy至SRAM 0x600位置?

由FBCFG寄存器可知,置位BIT7即可把Scratch SRAM-0映射至 0xF800--0xFFFF。

即把 XRAM 的 0x000--0x800的部分映射至代碼空間的 0xF800--0xFFFF。

因此 XRAM 的 0x600--0x6FF 映射至代碼空間的0xFE00--0xFEFF。

通過鏈接腳本把更新函數強制放置在0xFE00,當調用該函數時取指令位置就是

0xFE00。

圖片

由于代碼空間0xFE00--0xFEFF映射了 XRAM 的0x600--0x6FF。

因此只需把更新函數copy至 XRAM 的0x600--0x6FF 即可。

注意:更新函數的代碼不能超過256Byte。

第二步,配置 FBCFG 寄存器,把Scratch SRAM-0 映射至代碼空間。

第三步,跳轉至更新函數中。

圖片

第四步,在更新函數中循環處理 6266 或者 686C 接口的數據和指令,控制SMFI模塊訪問 SPI Flash。

圖片

上述步驟均由 UEFI 或者 OS 下的 UpdateTool 控制完成。

對于IT8987來說,有內部 Flash。其實對于8032內核來說仍然屬于外部Flash。所謂的內部Flash,只是芯片內部“合封”而已。

另外對于IT557x系列的芯片來說,內部單獨設計了一段存儲空間(大約1K),用于內核8032臨時取指令使用,可以不采用上述 copy 更新函數至 XRAM 的方法。

而是采用DMA方式將更新函數copy至“隱藏存儲空間”,然后轉去執行。

圖片

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

    關注

    456

    文章

    50886

    瀏覽量

    424185
  • 單片機
    +關注

    關注

    6037

    文章

    44563

    瀏覽量

    635886
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17171

    瀏覽量

    351440
  • 存儲器
    +關注

    關注

    38

    文章

    7494

    瀏覽量

    163916
  • 內核
    +關注

    關注

    3

    文章

    1373

    瀏覽量

    40310
收藏 人收藏

    評論

    相關推薦

    DMA直接存儲器訪問與配置流程簡介

    STM32學習筆記(7)——DMA直接存儲器訪問一、DMA簡介二、DMA功能框圖1. DMA請求2. 通道3. 仲裁二、DMA的結構體定義和庫函數定義1. DMA初始化結構體2. D
    發表于 01-26 07:54

    單片機中的存儲器介紹

    嵌入式開發學習筆記4-了解單片機中的存儲器單片機的物理結構程序存儲器(ROM)數據存儲器(RAM)工作寄存
    發表于 02-08 06:42

    存儲器的分類及原理

    存儲器的分類及原理,動態隨機存儲器,靜態隨機存儲器,只讀存儲器,其他存儲器和技術.
    發表于 08-17 22:29 ?20次下載
    <b class='flag-5'>存儲器</b>的分類及原理

    linux存儲器管理

     linux存儲器管理 本章主要講解了存儲器管理的基本方式,剖析了Linux 操作系統對內存的管理模式。通過對本章學習,讀者應該達到以下學習目標: 重
    發表于 04-28 15:01 ?0次下載

    MCP存儲器,MCP存儲器結構原理

    MCP存儲器,MCP存儲器結構原理 當前給定的MCP的概念為:MCP是在一個塑料封裝外殼內,垂直堆疊大小不同的各類存儲器或非存儲器芯片,
    發表于 03-24 16:31 ?2355次閱讀

    存儲器卡,存儲器卡是什么意思

    存儲器卡,存儲器卡是什么意思 存儲器卡(Memory Card)是一種用電可擦除的可編程只讀存儲器(EEPROM)為核心的,能多次重復使用的IC卡。沒
    發表于 04-01 17:44 ?3745次閱讀

    彩電存儲器數據

    彩電存儲器數據,很好的查詢工具,快來下載學習
    發表于 03-29 10:27 ?11次下載

    半導體存儲器學習課件資料說明

    本文檔的主要內容詳細介紹的是半導體存儲器學習課件資料說明包括了:存儲器基本概念,隨機存取存儲器(RAM),只讀存儲器(ROM),
    發表于 05-08 08:00 ?2次下載
    半導體<b class='flag-5'>存儲器</b>的<b class='flag-5'>學習</b>課件資料說明

    MCS-51的存儲器結構——單片機原理學習筆記(三)

    MCS-51的存儲器不僅有ROM和RAM之分,還有片內和片外之分。MCS-51的內存儲器集成在芯片內部,是MCS-51的一個組成部分;而片外存儲器是外接的專用存儲器芯片,MCS-51只
    發表于 11-24 15:36 ?6次下載
    MCS-51的<b class='flag-5'>存儲器</b>結構——單片機原理<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>(三)

    STM32學習筆記(7)——DMA直接存儲器訪問

    STM32學習筆記(7)——DMA直接存儲器訪問一、DMA簡介二、DMA功能框圖1. DMA請求2. 通道3. 仲裁二、DMA的結構體定義和庫函數定義1. DMA初始化結構體2. D
    發表于 12-02 14:06 ?3次下載
    STM32<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>(7)——DMA直接<b class='flag-5'>存儲器</b>訪問

    嵌入式開發學習筆記4-了解單片機中的存儲器

    嵌入式開發學習筆記4-了解單片機中的存儲器單片機的物理結構程序存儲器(ROM)數據存儲器(RAM)工作寄存
    發表于 12-05 09:21 ?7次下載
    嵌入式開發<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>4-了解單片機中的<b class='flag-5'>存儲器</b>

    [筆記]|[stm32]|[寄存存儲器區別]|[PWM]|[串口]|[Timer]stm32f103筆記

    [筆記]|[stm32]|[寄存存儲器區別]|[PWM]|[串口]|[Timer]stm32f103筆記筆記為18.12.21筆者期末復
    發表于 12-06 18:51 ?10次下載
    [<b class='flag-5'>筆記</b>]|[stm32]|[寄存<b class='flag-5'>器</b><b class='flag-5'>存儲器</b>區別]|[PWM]|[串口]|[Timer]stm32f103<b class='flag-5'>筆記</b>

    MCU片內非易失性存儲器操作應用筆記

    電子發燒友網站提供《MCU片內非易失性存儲器操作應用筆記.zip》資料免費下載
    發表于 09-22 10:00 ?0次下載
    MCU片內非易失性<b class='flag-5'>存儲器</b>操作應用<b class='flag-5'>筆記</b>

    存儲器工作原理及如何選擇存儲器品牌

    存儲器是用來存儲程序和各種數據信息的記憶部件,更通俗地說,存儲器就是用來存放數據的地方。存儲器可分為主存儲器(簡稱主存或內存)和輔助
    的頭像 發表于 10-11 16:58 ?3869次閱讀

    PowerLab 筆記: DDR 存儲器無處不在!

    PowerLab 筆記: DDR 存儲器無處不在!
    發表于 11-07 08:07 ?0次下載
    PowerLab <b class='flag-5'>筆記</b>: DDR <b class='flag-5'>存儲器</b>無處不在!
    主站蜘蛛池模板: 国产亚洲精品免费视频| 亚洲 欧美无码原创区| 日韩 国产 欧美视频二区| 一二三四在线高清中文版免费观看电影 | 亚洲国产中文字幕在线视频综合| 草草久久久无码国产专区全集观看| 久青草国产在视频在线观看| 亚洲精品久久久无码| 国产亚洲精品成人a在线| 西施打开双腿下面好紧| 国产精品你懂的在线播放| 天堂精品国产自在自线| 国产69精品麻豆久久久久| 四虎影院2022| 国产成人精品综合久久久| 色翁荡熄月月| 国产超嫩一线天在线播放 | 久久精品亚洲| 一本色道久久综合亚洲AV蜜桃| 很黄很色60分钟在线观看| 亚洲乱码国产乱码精品精98| 韩国伦理三级| 一本色道久久综合亚洲精品| 老女老肥熟国产在线视频| 97在线精品视频| 秋霞电影网午夜免费鲁丝片 | 欧洲美女高清一级毛片| brazzers情欲狂欢| 日韩精品久久久久影院| 国产Av影片麻豆精品传媒| 午夜在线播放免费人成无| 果冻传媒2021精品影视| 伊人综合在线影院| 男生射女生| 高干紧射H后入| 亚洲精品高清中文字幕完整版| 久爱在线中文在观看| 91在线青春娱乐精品分类| 日韩男明星| 户外露出野战hd| 97免费人妻在线观看|