一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何按進(jìn)程對RAM進(jìn)行分組與Cortex-M MPU使用建議

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Jean Labrosse ? 2022-06-10 07:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在本系列關(guān)于將 RTOS 與 MPU 結(jié)合使用的最后一部分中,我們將了解如何按進(jìn)程對 RAM 進(jìn)行分組,并以使用 Cortex-M MPU 時的建議列表作為結(jié)尾。

到目前為止,我們已經(jīng)了解了 MPU 是什么以及它如何幫助將任務(wù)和流程相互隔離。我們還研究了如何設(shè)置 Cortex-M MPU,發(fā)現(xiàn)它非常易于使用。使用 MPU 的復(fù)雜性更多地與組織應(yīng)用程序的內(nèi)存有關(guān),而不是更新這個非常有用的設(shè)備的機(jī)制。

在本系列關(guān)于將 RTOS 與 MPU 結(jié)合使用的最后一部分中,我們將了解如何按進(jìn)程對 RAM 進(jìn)行分組,并以使用 Cortex-M MPU 時的建議列表作為結(jié)尾。

創(chuàng)建 MPU 進(jìn)程表

使用 MPU 時最大的困難可能是按進(jìn)程對內(nèi)存進(jìn)行分組并創(chuàng)建 MPU 進(jìn)程表。這部分是因為您需要更深入地了解您的工具鏈:編譯器、匯編器和鏈接器/定位器。

假設(shè)我使用的是 IAR 工具鏈(即 EWARM),但概念非常相似,您可以根據(jù)自己使用的工具調(diào)整這些概念。除非另有說明,否則鏈接器會將數(shù)據(jù)(即 RAM)放置在圖 2 所示的三個部分之一中。

未初始化的數(shù)據(jù)

零初始化數(shù)據(jù)

初始化數(shù)據(jù)

顧名思義,未初始化的數(shù)據(jù)對應(yīng)于在編譯時未賦予初始值或未聲明為靜態(tài)的變量。

零初始化數(shù)據(jù)對應(yīng)于聲明為靜態(tài)并在啟動時初始化為零的數(shù)據(jù)。鏈接器將其分組為一個連續(xù)的塊,以便啟動代碼可以執(zhí)行塊集(為 0)。

初始化數(shù)據(jù)對應(yīng)于具有初始值的數(shù)據(jù)(例如 int x = 10;)。同樣,鏈接器將這些數(shù)據(jù)分組到一個連續(xù)的塊中,但在 ROM 中創(chuàng)建一個并行塊,其中包含 RAM 中每個相應(yīng)變量的初始值。啟動時,整個塊從 ROM 復(fù)制到 RAM。

pYYBAGKgaeiAcEvuAACbPR5E-EY102.png

【圖2 | RAM 部分。]

如前所述,進(jìn)程的 RAM 必須連續(xù)分組,如圖 3 所示。為此,我們需要繞過編譯器/鏈接器標(biāo)準(zhǔn)部分并創(chuàng)建將按進(jìn)程分組的新部分。工具鏈通常能夠創(chuàng)建多個零塊和初始化部分,如圖 3 所示。

poYBAGKgae-AWKT_AACu_X-6jGA358.png

【圖3 | 基于 MPU 的應(yīng)用程序的 RAM 部分。]

創(chuàng)建命名的 RAM 部分

要按進(jìn)程對數(shù)據(jù)進(jìn)行分組,我們需要使用 EWARM #pragma 指令 default_variable_attributes 并將所有要在一個進(jìn)程中分組的變量包裝在一起。

#pragma default_variable_attributes = @”.Process1”

// All variables that we want to be part of the section named “.Process1”。

#pragma default_variable_attributes =

如果您的應(yīng)用程序包含在匯編語言文件中聲明的變量,那么您還需要確保匯編語言文件包含適當(dāng)?shù)膮R編程序指令。

按塊對 RAM 進(jìn)行分組

您的應(yīng)用程序肯定會包含不一定與任何特定進(jìn)程相關(guān)聯(lián)的代碼。在這種情況下,最好為這些模塊創(chuàng)建命名部分,然后將這些部分組合成一個公共代碼塊。然后,您將使用上述#pragma 指令創(chuàng)建不同的命名段,每個模塊一個,并使用鏈接器的 塊 指令(如下所示)對這些段進(jìn)行分組。

define block COMMON_RAM_BLOCK with alignment = 4K, size = 4K

{

section .DRIVER_RAM,

section .COMMOM_RAM,

section .MATH_RAM,

section .STRING_RAM,

}

define block PROCESS_AI_RAM_BLOCK with alignment = 16K, size = 16K

{

section .AI_DRIVER_RAM, // Analog input driver

section .RTD_LIN_RAM, // RTD linearization

section .THERMOCOUPLE_LIN_RAM, // Thermocouple linearization

section .UNIT_CONVERSION_RAM, // Shared RAM with AO module

}

define block PROCESS_AO_RAM_BLOCK with alignment = 8K, size = 8K

{

section .AO_DRIVER_RAM, // Analog output driver

section .4_20MA_LIN_RAM, // 4-20 mA linearization

section .ACTUATOR_LIN_RAM, // Actuator linearization

section .UNIT_CONVERSION_RAM, // Shared RAM with AI module

}

define block SHARED_RAM_BLOCK with alignment = 2K, size = 2K

{

}

您會注意到 block 指令允許您指定內(nèi)存塊的大小和對齊方式。為了將塊的起始地址放置在 MPU 進(jìn)程表中,兩個值必須相同,這一點很重要。此外,每個塊所需的 RAM 量取決于應(yīng)用程序。為了便于說明,我決定使用 16K、8K、4K 和 2K 字節(jié)。

定位 RAM 塊

我們現(xiàn)在可以使用兩個鏈接器指令將所有塊放置在 MCU 的可尋址空間中:區(qū)域和位置:

define region RAM = Mem:[from 0x20000000 size 64K];

place in RAM

{

block RAM_ALL with fixed order

{

block PROCESS_AI_RAM_BLOCK,

block PROCESS_AO_RAM_BLOCK,

block COMMON_RAM_BLOCK,

block SHARED_RAM_BLOCK

}

}

region 指令指定 MCU 的可尋址存儲器。如果您的 RAM 并非全部連續(xù),則可能有不同的區(qū)域指令。

RAM 指令中的位置指定在 RAM 區(qū)域中定位塊。您會注意到我們需要將塊放入塊中以指定塊放置的順序。事實上,為了減少浪費的空間量,應(yīng)該先使用較大的塊。

為每個任務(wù)創(chuàng)建 MPU 進(jìn)程表

現(xiàn)在 RAM 按進(jìn)程分組,您可以返回并編輯每個任務(wù)/進(jìn)程的 MPU 表。但是,要做到這一點,編譯器必須知道塊的名稱,因此,您需要使用 #pragma section 指令,如下所示:

#pragma section = “COMMON_RAM_BLOCK”

#pragma section = “PROCESS_AI_RAM_BLOCK”

#pragma section = “PROCESS_AO_RAM_BLOCK”

#pragma section = “SHARED_RAM_BLOCK”

這兩個進(jìn)程表現(xiàn)在可以如下所示(假設(shè)您沒有使用包含上一節(jié)中描述的每個任務(wù)回調(diào)的版本):

poYBAGKgaf2AEDSdAAPEVRXjNXg790.png

poYBAGKgageAGEBbAAO6FLgyE5w297.png

建議

以下是使用 Armv7-M MPU 時的一些建議。

在非特權(quán)模式下運行用戶代碼:

可以使用 MPU,但仍以特權(quán)模式運行所有應(yīng)用程序代碼。當(dāng)然,這意味著應(yīng)用程序代碼將能夠更改 MPU 設(shè)置,因此會破壞擁有 MPU 的目的之一。最初以特權(quán)模式運行應(yīng)用程序可能會更容易遷移應(yīng)用程序代碼。但是,在某些時候,您的大部分應(yīng)用程序代碼都需要在非特權(quán)模式下運行,因此您需要添加 SVC 處理程序。

將 PRIVDEFENA 設(shè)置為 1:

這允許特權(quán)代碼訪問完整的內(nèi)存映射。理想情況下,您的大多數(shù)應(yīng)用程序?qū)⒃诜翘貦?quán)模式下運行,只有 ISR 和 RTOS 將在特權(quán)模式下運行。此建議可避免為每個任務(wù)使用三個 MPU 區(qū)域,以授予特權(quán)代碼訪問任何 RAM 位置、任何代碼和任何外圍設(shè)備。將 PRIVDEFENA 設(shè)置為 1 的決定可能已經(jīng)由 RTOS 供應(yīng)商做出,您無法更改。

ISR 具有完全訪問權(quán)限:

每當(dāng)識別到中斷并啟動 ISR 時,處理器就會切換到特權(quán)模式。由于 PRIVDEFENA 將設(shè)置為 1,因此 ISR 無論如何都可以訪問 I/O 位置的任何內(nèi)存。您根本不想在進(jìn)入 ISR 時重新配置 MPU,并在退出時重新配置它。因此,ISR 應(yīng)該被視為系統(tǒng)級代碼,因此確實應(yīng)該被允許具有完全訪問權(quán)限。

此外,ISR 應(yīng)始終盡可能短,并簡單地向任務(wù)發(fā)出信號以執(zhí)行中斷設(shè)備所需的大部分工作。當(dāng)然,這假設(shè) ISR 是內(nèi)核感知的,并且任務(wù)有相當(dāng)多的工作來處理中斷設(shè)備。例如,處理以太網(wǎng)數(shù)據(jù)包不應(yīng)該在 ISR 級別完成。但是,可以直接在 ISR 中切換 LED 或更新脈沖寬度調(diào)制 (PWM) 定時器的占空比。

將 XN 位設(shè)置為 1:

如果您的應(yīng)用程序代碼不希望在 RAM 外執(zhí)行代碼,則應(yīng)為所有 RAM 或外圍區(qū)域設(shè)置 RASR 寄存器的 eXecute Never 位。為外圍設(shè)備設(shè)置 XN 位可能看起來很奇怪,但它不會傷害并防止黑客試圖進(jìn)入您的系統(tǒng)。

限制外圍設(shè)備對其進(jìn)程的訪問:

您應(yīng)該留出一個或多個 MPU 區(qū)域來限制進(jìn)程只能訪問其自己的外圍設(shè)備。換句話說,如果一個進(jìn)程管理 USB 端口,那么它應(yīng)該只能訪問 USB 外圍設(shè)備或與 USB 控制器需求相關(guān)的外圍設(shè)備,例如 DMA。

限制 RTOS API

系統(tǒng)設(shè)計人員需要確定哪些 RTOS API 應(yīng)可用于應(yīng)用程序代碼。具體來說,您想防止應(yīng)用程序代碼在系統(tǒng)初始化后創(chuàng)建和刪除任務(wù)或其他 RTOS 對象(如信號量、隊列等)嗎?換句話說,RTOS 對象是否應(yīng)該只在系統(tǒng)啟動時創(chuàng)建,而不是在運行時創(chuàng)建?如果是這樣,那么 SVC 處理程序查找表應(yīng)該只包含您想要向應(yīng)用程序公開的 API。然而,即使 ISR 在特權(quán)模式下運行并因此可以訪問任何 RTOS API,一個好的 RTOS 仍會阻止從 ISR 創(chuàng)建和刪除 RTOS 對象。

在 RTOS 空間中分配 RTOS 對象:

任務(wù)堆棧位于進(jìn)程的內(nèi)存空間內(nèi)。然而,RTOS 對象(信號量、隊列、任務(wù)控制塊等)最好分配在內(nèi)核空間中并通過引用進(jìn)行訪問。換句話說,您不想在進(jìn)程的內(nèi)存空間中分配 RTOS 對象,因為這意味著應(yīng)用程序代碼可以有意或無意地修改這些對象,而無需通過 RTOS API。

沒有全局堆:

將 MPU 設(shè)置為使用全局堆(即所有進(jìn)程使用的堆)幾乎是不可能的,因此您應(yīng)該盡可能避免使用這些堆。相反,如前所述,如果進(jìn)程需要動態(tài)分配的內(nèi)存(例如以太網(wǎng)幀緩沖區(qū)),則應(yīng)允許進(jìn)程特定的堆。

不要禁用中斷:

如果您的應(yīng)用程序在非特權(quán)模式下運行,任何禁用中斷的嘗試都將被忽略。這樣做的問題是,您不會從 CPU 獲得中斷 未被 禁用的指示。

如果您的應(yīng)用程序在非特權(quán)模式下運行并且您嘗試通過 NVIC 禁用中斷,則會觸發(fā)總線故障。

保護(hù)對代碼的訪問:

盡管 MPU 區(qū)域通常用于提供或限制對 RAM 和外圍設(shè)備的訪問,但如果您有空閑區(qū)域并且能夠按進(jìn)程組織代碼(通過鏈接器命令),那么限制代碼對代碼的訪問可能很有用。這可以防止某些類型的安全攻擊,例如 Return-to-libc [2]。

減少進(jìn)程間通信

就像任務(wù)應(yīng)該設(shè)計得盡可能獨立一樣,流程也應(yīng)該遵循同樣的規(guī)則。因此,要么進(jìn)程不相互通信,要么將進(jìn)程間通信保持在最低限度。

如果您必須與其他進(jìn)程通信,只需留出一個包含輸出和輸入緩沖區(qū)的共享區(qū)域。發(fā)送方將其數(shù)據(jù)放入輸出緩沖區(qū),然后觸發(fā)中斷以喚醒接收進(jìn)程。一旦數(shù)據(jù)被處理,響應(yīng)(如果需要)可以放在發(fā)送者的緩沖區(qū)中,并且可以使用中斷來通知發(fā)送者。

確定遇到 MPU 故障時該怎么做:

理想情況下,在開發(fā)過程中檢測并糾正所有 MPU 故障。您應(yīng)該計劃由于意外故障或錯誤或您的系統(tǒng)受到安全攻擊而在現(xiàn)場發(fā)生故障。在大多數(shù)情況下,建議對每個任務(wù)或每個進(jìn)程都有一個受控的關(guān)閉順序。是否重新啟動有問題的任務(wù)、進(jìn)程內(nèi)的所有任務(wù)或整個系統(tǒng)取決于故障的嚴(yán)重程度。

有辦法記錄和報告故障:

理想情況下,您有辦法記錄(可能記錄到文件系統(tǒng))并顯示故障原因,以允許開發(fā)人員解決問題。

結(jié)論

內(nèi)存保護(hù)單元 (MPU) 是將對內(nèi)存和外圍設(shè)備的訪問限制為僅需要訪問這些資源的代碼的硬件。如果任務(wù)試圖訪問其分配空間之外的內(nèi)存位置或外圍設(shè)備,則會觸發(fā) CPU 異常,并且根據(jù)應(yīng)用程序,必須采取糾正措施。

Cortex-M MCU 中的 MPU 是一個相當(dāng)簡單的設(shè)備,并且相對容易配置。然而,使用 MPU 的復(fù)雜性更傾向于按進(jìn)程分配存儲(主要是 RAM)以及創(chuàng)建將在上下文切換期間加載到 MPU 中的 MPU 進(jìn)程表。

最后,我提供了一個建議列表,這些建議可以更好地在您的應(yīng)用程序中使用 MPU。

單獨的軟件無法阻止對未分配給 RTOS 環(huán)境中任務(wù)的內(nèi)存或外圍設(shè)備的訪問。您需要硬件來實現(xiàn)這一點,而 MPU 是目前 Cortex-M (Armv7-M) 上唯一可以做到這一點的機(jī)制。

遷移應(yīng)用程序以使用 MPU 是一個相當(dāng)簡單但乏味的過程。添加 MPU 也會給您的應(yīng)用程序帶來開銷:在上下文切換期間您需要加載額外的寄存器,并且用戶代碼應(yīng)該在非特權(quán)模式下運行以避免此類代碼更改 MPU 設(shè)置。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17978

    瀏覽量

    366677
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124438
  • MPU
    MPU
    +關(guān)注

    關(guān)注

    0

    文章

    415

    瀏覽量

    49907
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何使用 SPI 全雙工在兩個 5LP MPU 之間連接 RAM?

    我需要將兩個 5LP MPU 連接在一起以鏡像兩個 5LP MPU 內(nèi)的 RAM。 我認(rèn)為這將是 DMA 的一個功能,但我不確定如何實現(xiàn)該功能。 我的主 SPI 單元將向從屬 MPU
    發(fā)表于 07-15 06:20

    基于瑞薩64位MPU RZ/G2L進(jìn)行32位應(yīng)用軟件開發(fā)

    本文主要介紹基于瑞薩64位MPU RZ/G2L進(jìn)行32位應(yīng)用軟件開發(fā)的介紹,用于解決客戶32位軟件移植相關(guān)問題,供客戶參考。
    的頭像 發(fā)表于 06-26 15:48 ?901次閱讀
    基于瑞薩64位<b class='flag-5'>MPU</b> RZ/G2L<b class='flag-5'>進(jìn)行</b>32位應(yīng)用軟件開發(fā)

    瑞薩RZ/A3M HMI MPU介紹

    對于高質(zhì)量圖形顯示的應(yīng)用要求,用戶通常采用功能強(qiáng)大及搭載DDR高速接口的MPU來實現(xiàn)更多功能和更流暢的畫面。但在開發(fā)過程會遇到DDR高速總線設(shè)計的難題,同時Linux系統(tǒng)難以實現(xiàn)類似MCU的快速啟動性能。瑞薩新推出的RZ/A3M HMI
    的頭像 發(fā)表于 05-27 16:14 ?406次閱讀
    瑞薩RZ/A3<b class='flag-5'>M</b> HMI <b class='flag-5'>MPU</b>介紹

    國產(chǎn)!瑞芯微RK3506 3核ARM+Cortex-A7 + ARM Cortex-M0 工業(yè)評估板說明書

    創(chuàng)龍科技TL3506-EVM是一款基于瑞芯微RK3506J/RK3506B處理器設(shè)計的3核ARM Cortex-A7 + ARM Cortex-M0國產(chǎn)工業(yè)評估板,主頻高達(dá)1.5GHz。評估板由
    的頭像 發(fā)表于 04-29 15:42 ?2103次閱讀
    國產(chǎn)!瑞芯微RK3506 3核ARM+<b class='flag-5'>Cortex</b>-A7 + ARM <b class='flag-5'>Cortex-M</b>0 工業(yè)評估板說明書

    瑞芯微RK3506(3核ARM+Cortex-A7 + ARM Cortex-M0)工業(yè)核心板選型資料

    創(chuàng)龍科技SOM-TL3506是一款基于瑞芯微RK3506J/RK3506B處理器設(shè)計的3核ARM Cortex-A7 + ARM Cortex-M0全國產(chǎn)工業(yè)核心板,主頻高達(dá)1.5GHz。核心板CPU、ROM、RAM、電源、晶振
    的頭像 發(fā)表于 04-09 09:04 ?989次閱讀
    瑞芯微RK3506(3核ARM+<b class='flag-5'>Cortex</b>-A7 + ARM <b class='flag-5'>Cortex-M</b>0)工業(yè)核心板選型資料

    瑞薩RA8快速上手指南:Cortex-M85內(nèi)核瑞薩RA8開發(fā)環(huán)境搭建 并點亮一個LED

    因為Cortex-M內(nèi)核,瑞薩RA8系列單片機(jī)支持多種市面上常見的開發(fā)環(huán)境,像Keil MDK、IAR EWARM等,而本文講述的是瑞薩自家官方的IDE(e2 studio)。
    的頭像 發(fā)表于 03-17 14:35 ?1013次閱讀
    瑞薩RA8快速上手指南:<b class='flag-5'>Cortex-M</b>85內(nèi)核瑞薩RA8開發(fā)環(huán)境搭建 并點亮一個LED

    可實現(xiàn)工業(yè) AC Servo 和控制器高速處理的多功能 MPU RZ/T2M 數(shù)據(jù)手冊

    RZ/T2M 是一款行業(yè)領(lǐng)先的高性能、多功能 MPU,可實現(xiàn) AC 伺服系統(tǒng)和工業(yè)電機(jī)等工業(yè)設(shè)備的高速處理、高精度控制和功能安全。 RZ/T2M具有最大頻率為 800 MHz 的雙 Arm
    的頭像 發(fā)表于 03-14 15:39 ?530次閱讀
    可實現(xiàn)工業(yè) AC Servo 和控制器高速處理的多功能 <b class='flag-5'>MPU</b> RZ/T2<b class='flag-5'>M</b> 數(shù)據(jù)手冊

    帶5MB片內(nèi)RAM的RTOS微處理器RZ/A1M數(shù)據(jù)手冊

    RZ/A1M 系列微處理器單元(MPU)功能齊全,配備運行頻率為 400MHz 的 Arm? Cortex?-A9 內(nèi)核以及 5MB的片上靜態(tài)隨機(jī)存取存儲器(SRAM)。憑借 5MB 的片上
    的頭像 發(fā)表于 03-11 15:04 ?592次閱讀
    帶5MB片內(nèi)<b class='flag-5'>RAM</b>的RTOS微處理器RZ/A1<b class='flag-5'>M</b>數(shù)據(jù)手冊

    Arm Cortex-A320 CPU助力嵌入式設(shè)備實現(xiàn)高能效AI計算

    ,要確定適合特定 AI 應(yīng)用的處理器,系統(tǒng)開發(fā)者需要通過比較基于 Arm Cortex-A、Arm Cortex-M 和 Arm Ethos-U NPU 的設(shè)備及其可能的搭配進(jìn)行決策。除了成本的考量,開發(fā)者還需了解各款處理器具備
    的頭像 發(fā)表于 02-27 17:17 ?754次閱讀
    Arm <b class='flag-5'>Cortex</b>-A320 CPU助力嵌入式設(shè)備實現(xiàn)高能效AI計算

    什么是MPU控制器及其應(yīng)用

    。 MPU控制器的組成 MPU控制器通常包括以下幾個主要部分: 中央處理單元(CPU) :執(zhí)行程序指令和處理數(shù)據(jù)。 存儲器 :包括隨機(jī)存取存儲器(RAM)和只讀存儲器(ROM),用于存儲程序和數(shù)據(jù)。 輸入/輸出(I/O)接口 :
    的頭像 發(fā)表于 01-08 09:23 ?792次閱讀

    MPU微處理器的工作原理

    在現(xiàn)代電子設(shè)備中,微處理器(MPU)扮演著至關(guān)重要的角色。從個人電腦到智能手機(jī),再到嵌入式系統(tǒng),MPU都是實現(xiàn)復(fù)雜計算任務(wù)的關(guān)鍵。 MPU的基本結(jié)構(gòu) MPU的核心是中央處理單元(CPU
    的頭像 發(fā)表于 01-07 18:08 ?1392次閱讀

    Cortex-M3/M4F指令集技術(shù)用戶手冊

    電子發(fā)燒友網(wǎng)站提供《Cortex-M3/M4F指令集技術(shù)用戶手冊.pdf》資料免費下載
    發(fā)表于 12-23 16:31 ?8次下載
    <b class='flag-5'>Cortex-M</b>3/<b class='flag-5'>M</b>4F指令集技術(shù)用戶手冊

    如何使用Ozone分析Cortex-M異常

    Ozone可以幫助用戶快速分析和查找導(dǎo)致CPU故障的軟件bug。本文解釋如何使用Ozone的調(diào)試功能,深入了解Cortex-M架構(gòu)上的這些錯誤。
    的頭像 發(fā)表于 11-29 11:14 ?1682次閱讀
    如何使用Ozone分析<b class='flag-5'>Cortex-M</b>異常

    如何檢測電腦的RAM內(nèi)存

    和評估電腦的RAM內(nèi)存呢? 1. 通過操作系統(tǒng)檢測RAM 1.1 Windows系統(tǒng) 在Windows操作系統(tǒng)中,有幾種方法可以查看RAM信息: 任務(wù)管理器 : Ctrl + Shi
    的頭像 發(fā)表于 11-11 09:51 ?2582次閱讀

    瑞薩電子基于Arm Cortex-A55和雙Cortex-M33 MPU的SOM方案 加速物聯(lián)網(wǎng)設(shè)計

    基于Arm Cortex-A55(1.1GHz)和雙Cortex-M33(250MHz)MPU的SOM(系統(tǒng)模塊)方案,該方案可加快物聯(lián)網(wǎng)應(yīng)用的開發(fā)進(jìn)程,并降低其設(shè)計風(fēng)險。 系統(tǒng)框圖
    的頭像 發(fā)表于 08-15 17:23 ?2404次閱讀
    瑞薩電子基于Arm <b class='flag-5'>Cortex</b>-A55和雙<b class='flag-5'>Cortex-M</b>33 <b class='flag-5'>MPU</b>的SOM方案 加速物聯(lián)網(wǎng)設(shè)計