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

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

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

淺談RAM 執(zhí)行應用程序

454398 ? 來源:瑞薩電子 ? 作者:瑞薩電子 ? 2021-06-20 18:22 ? 次閱讀

許多應用程序需要從 RAM 中執(zhí)行代碼,例如出于安全原因或例如在引導加載程序用于閃存自編程的情況下。通常這樣的應用程序必須分為兩部分:

將從閃存執(zhí)行的主要部分。這部分代表主要應用程序,例如引導加載程序

主應用程序中的圖像將在運行時復制到 RAM

pYYBAGDPFmuARZ76AABH62H65tw604.png

軟件概念

考慮到上述概念,開發(fā)需要考慮幾個問題:

如何創(chuàng)建將存儲在閃存中但在運行時從 RAM 執(zhí)行的應用程序?

如何調(diào)試在不同項目中構(gòu)建的應用程序?

公共資源

兩個應用程序的分離需要如何處理公共資源,例如 RAM。

RAM
– 堆棧和堆定義(兩個應用程序一個堆棧和一個堆;每個應用程序單獨的堆棧)
– SADDR 和數(shù)據(jù) RAM 應根據(jù)應用程序要求進行分區(qū)

選項字節(jié)
——選項字節(jié)將在應用程序之一中定義。此選項字節(jié)中的所有配置(例如看門狗)應對兩個應用程序都有效,因為它不能在運行時更改

中斷
——通過使用自編程庫,可以對 RAM 中的所有中斷使用通用中斷服務程序

下圖說明了兩個應用程序的內(nèi)存映射。這里堆棧用作兩個應用程序的公共資源。

poYBAGDPFn2AIj0iAABpbpWXdgo872.png

兩個應用程序的內(nèi)存映射(ROM、RAM)

創(chuàng)建一個從 RAM 執(zhí)行的應用程序

本章介紹如何設置一個應用程序,該應用程序?qū)⑼ㄟ^主應用程序閃存中的映像加載并從 RAM 執(zhí)行。請注意,以下描述的配置基于兩個應用程序的一個公共堆棧。

內(nèi)存映射

由于 RAM 中的應用程序是獨立應用程序,因此必須相應地定義編譯器/匯編器使用的所有標準段,如 RCODE、XCODE、FAR_I、FAR_CONST 等。與普通應用程序相比的不同之處在于,該應用程序?qū)?RAM 而非閃存執(zhí)行。這意味著這些段最初位于圖像(閃存)中,稍后將逐段復制到 RAM 并從那里執(zhí)行。請注意,如果應用程序有多個片段,則無法直接復制整個圖像。

pYYBAGDPFoaAFMBgAACvyWHzDVU581.png

這樣做的原因是圖像中的段位置可能與 RAM 中的位置不同,因此必須逐段復制所有段。由于應用程序?qū)?RAM 中執(zhí)行,因此必須通知鏈接器該段將放置在閃存中,但從 RAM 中執(zhí)行。這可以通過將在下一章中介紹的鏈接器功能“分散加載”來完成。

編輯:hfy

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

    關注

    8

    文章

    1368

    瀏覽量

    114689
收藏 人收藏

    評論

    相關推薦

    使用uboot引導應用程序

    uboot默認是支持執(zhí)行應用程序的,就像引導內(nèi)核一樣,我們也可以自己寫一個應用程序,讓uboot啟動時引導。
    發(fā)表于 11-16 14:00 ?1005次閱讀

    如何配置ARM KEIL uVision5以在TLE9879 EVALKIT上的RAM中加載和執(zhí)行應用程序的指導或步驟?

    KEIL uVision5 以在 TLE9879 EVALKIT上的 RAM 中加載和執(zhí)行應用程序的指導或步驟?
    發(fā)表于 01-31 06:46

    淺談Web應用程序的壓力測試

    淺談Web應用程序的壓力測試摘要:壓力測試是Web應用程序測試必不可少的一項工作?,F(xiàn)以一個用ASP.NET開發(fā)的信息管理系統(tǒng)為例,詳細論述如何使用ACT對W eb應用程序進行壓力測試。
    發(fā)表于 10-10 15:23

    怎么優(yōu)化應用程序的閃存和RAM使用

    我試圖優(yōu)化我的應用程序的閃存和RAM使用。我使用的是433W收音機。我注意到BRCMYPATCHAMAMBUF位于RAM部分。它嚴格地需要嗎?我看到聲明是const,但它仍然在我的應用程序
    發(fā)表于 09-20 16:36

    為什么要將flash操作代碼拷貝到ram執(zhí)行

    升級。比較特別的是,需要將flash操作代碼拷貝到ram執(zhí)行,這是為什么?bootloader程序所在flash空間設置為被保護狀態(tài),不會誤擦除,而且運行到哪個函數(shù)自然會把函數(shù)壓棧到RAM
    發(fā)表于 07-16 06:10

    MCU應用程序架構(gòu)的相關資料推薦

    ,對mcu ram 有一定的要求。詳細介紹順序執(zhí)行法這種方式較為簡單,實時性,并行性要求不高的情況下是一種不錯的選擇,程序設計簡單,思路較為清晰,但是當應用程序較為復雜的情況下,如果.
    發(fā)表于 11-03 09:22

    i.MXRT1176是否可以在執(zhí)行應用程序時寫入NOR閃存?

    的 MCU,所以我不清楚我是否可以在執(zhí)行應用程序時寫入它。 我可以簡單地寫入閃存還是在寫入時必須從 RAM執(zhí)行程序?
    發(fā)表于 03-24 08:08

    在MAXQ8913微控制器中從RAM執(zhí)行應用程序

    在MAXQ8913微控制器中從RAM執(zhí)行應用程序 MAXQ8913及其它MAXQ®微控制器采用的Harvard存儲器映射架構(gòu)為用戶提供了
    發(fā)表于 01-11 17:56 ?1165次閱讀
    在MAXQ8913微控制器中從<b class='flag-5'>RAM</b><b class='flag-5'>執(zhí)行</b><b class='flag-5'>應用程序</b>

    ARM應用程序構(gòu)架_順序執(zhí)行模板

    ARM嵌入式應用程序架構(gòu)設計實例精講--ARM應用程序構(gòu)架01順序執(zhí)行模板
    發(fā)表于 07-08 11:08 ?6次下載

    ARM應用程序構(gòu)架01順序執(zhí)行模板

    電子專業(yè)單片機相關知識學習教材資料——ARM應用程序構(gòu)架01順序執(zhí)行模板
    發(fā)表于 09-13 17:23 ?0次下載

    真的可以在執(zhí)行Linux應用程序的同時播放DVD質(zhì)量的媒體嗎?

    真的可以在執(zhí)行Linux應用程序的同時播放DVD質(zhì)量的媒體嗎?
    發(fā)表于 05-13 11:39 ?2次下載
    真的可以在<b class='flag-5'>執(zhí)行</b>Linux<b class='flag-5'>應用程序</b>的同時播放DVD質(zhì)量的媒體嗎?

    MCU應用程序架構(gòu)整理(轉(zhuǎn))

    辦法,對mcu ram 有一定的要求。詳細介紹順序執(zhí)行法這種方式較為簡單,實時性,并行性要求不高的情況下是一種不錯的選擇,程序設計簡單,思路較為清晰,但是當應用程序較為復雜的情況下,如
    發(fā)表于 10-28 11:06 ?17次下載
    MCU<b class='flag-5'>應用程序</b>架構(gòu)整理(轉(zhuǎn))

    MCU應用程序架構(gòu)

    大致應用程序的架構(gòu)有三種: 1. 簡單的前后臺順序執(zhí)行程序,這類寫法是大多數(shù)人使用的方法,不需用思考程序的具體架構(gòu),直接通過執(zhí)行順序編寫應用程序
    發(fā)表于 10-29 10:36 ?11次下載
    MCU<b class='flag-5'>應用程序</b>架構(gòu)

    設計和執(zhí)行用于監(jiān)控電力的傳感器網(wǎng)絡應用程序

    電子發(fā)燒友網(wǎng)站提供《設計和執(zhí)行用于監(jiān)控電力的傳感器網(wǎng)絡應用程序.zip》資料免費下載
    發(fā)表于 07-11 16:26 ?0次下載
    設計和<b class='flag-5'>執(zhí)行</b>用于監(jiān)控電力的傳感器網(wǎng)絡<b class='flag-5'>應用程序</b>

    怎么使用uboot引導應用程序?

    uboot默認是支持執(zhí)行應用程序的,就像引導內(nèi)核一樣,我們也可以自己寫一個應用程序,讓uboot啟動時引導。
    的頭像 發(fā)表于 02-17 16:01 ?1514次閱讀
    怎么使用uboot引導<b class='flag-5'>應用程序</b>?