0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈RAM 执行应用程序

454398 来源:瑞萨电子 作者:瑞萨电子 2021-06-20 18:22 次阅读

许多应用程序需要从 RAM 中执行代码,例如出于安全原因或例如在引导加载程序用于闪存自编程的情况下。通常这样的应用程序必须分为两部分:

将从闪存执行的主要部分。这部分代表主要应用程序,例如引导加载程序

主应用程序中的图像将在运行时复制到 RAM

pYYBAGDPFmuARZ76AABH62H65tw604.png

软件概念

考虑到上述概念,开发需要考虑几个问题:

如何创建将存储在闪存中但在运行时从 RAM 执行的应用程序?

如何调试在不同项目中构建的应用程序?

公共资源

两个应用程序的分离需要如何处理公共资源,例如 RAM。

RAM
– 堆栈和堆定义(两个应用程序一个堆栈和一个堆;每个应用程序单独的堆栈)
– SADDR 和数据 RAM 应根据应用程序要求进行分区

选项字节
——选项字节将在应用程序之一中定义。此选项字节中的所有配置(例如看门狗)应对两个应用程序都有效,因为它不能在运行时更改

中断
——通过使用自编程库,可以对 RAM 中的所有中断使用通用中断服务程序

下图说明了两个应用程序的内存映射。这里堆栈用作两个应用程序的公共资源。

poYBAGDPFn2AIj0iAABpbpWXdgo872.png

两个应用程序的内存映射(ROM、RAM)

创建一个从 RAM 执行的应用程序

本章介绍如何设置一个应用程序,该应用程序将通过主应用程序闪存中的映像加载并从 RAM 执行。请注意,以下描述的配置基于两个应用程序的一个公共堆栈。

内存映射

由于 RAM 中的应用程序是独立应用程序,因此必须相应地定义编译器/汇编器使用的所有标准段,如 RCODE、XCODE、FAR_I、FAR_CONST 等。与普通应用程序相比的不同之处在于,该应用程序将从 RAM 而非闪存执行。这意味着这些段最初位于图像(闪存)中,稍后将逐段复制到 RAM 并从那里执行。请注意,如果应用程序有多个片段,则无法直接复制整个图像。

pYYBAGDPFoaAFMBgAACvyWHzDVU581.png

这样做的原因是图像中的段位置可能与 RAM 中的位置不同,因此必须逐段复制所有段。由于应用程序将从 RAM 中执行,因此必须通知链接器该段将放置在闪存中,但从 RAM 中执行。这可以通过将在下一章中介绍的链接器功能“分散加载”来完成。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RAM
    RAM
    +关注

    关注

    7

    文章

    1170

    浏览量

    112884
收藏 人收藏

    评论

    相关推荐

    浅谈Web应用程序的压力测试

    浅谈Web应用程序的压力测试摘要:压力测试是Web应用程序测试必不可少的一项工作。现以一个用ASP.NET开发的信息管理系统为例,详细论述如何使用ACT对W eb应用程序进行压力测试。关键词:Web
    发表于 10-10 15:23

    怎么优化应用程序的闪存和RAM使用

    应用程序的闪存和RAM使用。我使用的是433W收音机。我注意到BRCMYPATCHAMAMBUF位于RAM部分。它严格地需要吗?我看到声明是const,但它仍然在我的应用程序中找到并
    发表于 09-20 16:36

    为什么要将flash操作代码拷贝到ram执行

    ram执行,这是为什么?bootloader程序所在flash空间设置为被保护状态,不会误擦除,而且运行到哪个函数自然会把函数压栈到RAM里执
    发表于 07-16 06:10

    MCU应用程序架构的相关资料推荐

    ram 有一定的要求。详细介绍顺序执行法这种方式较为简单,实时性,并行性要求不高的情况下是一种不错的选择,程序设计简单,思路较为清晰,但是当应用程序较为复杂的情况下,如果...
    发表于 11-03 09:22

    i.MXRT1176是否可以在执行应用程序时写入NOR闪存?

    执行应用程序时写入它。 我可以简单地写入闪存还是在写入时必须从 RAM执行程序
    发表于 03-24 08:08

    ARM应用程序构架_顺序执行模板

    应用程序架构设计实例精讲--ARM应用程序构架01顺序执行模板
    发表于 07-08 11:08 6次下载

    ARM应用程序构架01顺序执行模板

    应用程序构架01顺序执行模板
    发表于 09-13 17:23 18次下载

    真的可以在执行Linux应用程序的同时播放DVD质量的媒体吗?

    执行Linux应用程序的同时播放DVD质量的媒体吗?
    发表于 05-13 11:39 2次下载
    真的可以在<b>执行</b>Linux<b>应用程序</b>的同时播放DVD质量的媒体吗?

    MCU应用程序架构整理(转)

    ram 有一定的要求。详细介绍顺序执行法这种方式较为简单,实时性,并行性要求不高的情况下是一种不错的选择,程序设计简单,思路较为清晰,但是当应用程序较为复杂的情况下,如果...
    发表于 10-28 11:06 17次下载
    MCU<b>应用程序</b>架构整理(转)

    MCU应用程序架构

    应用程序的架构有三种: 1. 简单的前后台顺序执行程序,这类写法是大多数人使用的方法,不需用思考程序的具体架构,直接通过执行顺序编写应用程序即可。 2. 时间片轮询法,此方法是介于顺序
    发表于 10-29 10:36 11次下载
    MCU<b>应用程序</b>架构

    设计和执行用于监控电力的传感器网络应用程序

    执行用于监控电力的传感器网络应用程序.zip》资料免费下载
    发表于 07-11 16:26 0次下载
    设计和<b>执行</b>用于监控电力的传感器网络<b>应用程序</b>

    在MAXQ8913微控制器中从RAM执行应用程序

    RAM执行应用程序 MAXQ8913及其它MAXQ®微控制器采用的Harvard存储器映射架构为用户提供了
    发表于 01-11 17:56 784次阅读
    在MAXQ8913微控制器中从<b>RAM</b><b>执行</b><b>应用程序</b>

    使用uboot引导应用程序

    执行应用程序的,就像引导内核一样,我们也可以自己写一个应用程序,让uboot启动时引导。
    发表于 11-16 14:00 584次阅读

    怎么使用uboot引导应用程序

    执行应用程序的,就像引导内核一样,我们也可以自己写一个应用程序,让uboot启动时引导。
    的头像 发表于 02-17 16:01 644次阅读
    怎么使用uboot引导<b>应用程序</b>?

    SEW-MOVIPRO启动应用程序配置程序设置步骤

    应用程序配置程序,您可以确定使用MOVIPRO执行哪些应用程序。可以进行不同的配置,从简单的速度设置点到总线定位。
    的头像 发表于 04-03 09:53 1132次阅读