IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 基于MDK Keil将中断及中断服务函数定位到RAM中的.sct文件 -> 正文阅读

[C++知识库]基于MDK Keil将中断及中断服务函数定位到RAM中的.sct文件

VectorTable_ROM 0x08000000 0x00000200
{
    VectorTable_RAM 0x20000000 0x00000200
    {
        *.o (RESET, +First)
    }
}

IntFunction_ROM 0x08000200 0x00001600
{
    IntFunction_RAM 0x20000200 0x00001600
    {
        *.o (IntFunction)
    }
}

LR_IROM1 0x08001800 0x0003E800
{
    ER_IROM1 0x08001800 0x0003E800
    {
        *(InRoot$$Sections)
        .ANY (+RO)
    }
    RW_IRAM1 0x20001800 0x0000D800    ; data bss
    {
        ;*(InRoot$$Sections)
        *.o (+RW +ZI)
    }
    RW_IRAM2 0x2000F000 0x00000C00    ; HEAP ADDRESS
    {
        *.o (HEAP)
    }
    RW_IRAM3 0x2000FC00 0x00000400    ; STACK ADDRESS
    {
        *.o (STACK)
    }
}

说明:

1、分散加载区域1

????????VectorTable_ROM为中断向量表加载地址;

????????VectorTable_RAM为中断向量表执行地址。

2、分散加载区域2

????????IntFunction_ROM为中断服务函数加载地址;

????????IntFunction_RAM为中断服务函数执行地址。

3、分散加载区域3

????????LR_IROM1为剩余其他所有的(全局变量(data)、全局未初始化变量(.bss或.ZI)、只读变量(const、字符串)、代码(text、code))加载地址;

????????ER_IRAM1为只读变量、代码执行地址,等于加载地址,其中*(InRoot$$Sections)表示的是外部加载的所必须的段,也就是c语言所必须的运行时环境(详情可通过在MDK中按F1键查找帮助手册);

????????RW_IRAM2为堆区,通过这种方式可以将堆区定位到任意自己想要的位置,size(0x00000C00)必须要与startup文件中的大小一致;

????????RW_IRAM3为栈区,通过这种方式可以将栈区定位到任意自己想要的位置,size(0x00000C00)必须要与startup文件中的大小一致。

4、其他

????????此文章基于 MCU STM32F103RCT6,64K RAM,256K ROM

友情提示:

? ? ? ? 1、具体的语法可以通过在 MDK 软件中按 F1键 来查找跟过详细的帮助。

? ? ? ? 2、此文章的方式一般是做 bootloader 并且需要使用中断,才需要做此操作,因为在bootloader中需要擦除和写入 Flash,如果中断函数定义在 Flash 中,当正在擦除或写入 Flash 时,中断来了,中断将不能及时得到执行。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:08:07  更:2021-11-29 16:09:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:46:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码