IAR 链接

2024-02-16 15:58
文章标签 链接 iar

本文主要是介绍IAR 链接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基本概念

section与section属性
section是包含数据段或者代码段可放置在存储器内的最小逻辑单位,section即可放在RAM也可放在ROM内。在通常的嵌入式应用中,放置在RAM中的section没有任何内容,只是占有该存储空间。section具有如下属性:
这里写图片描述

编译器内部自定义section即属性
这里写图片描述

iar中关于block的概念
The block directive defines a named set of sections. By defining a block you can create
empty blocks of bytes that can be used。

通过系统icf文件模板对堆栈快的定义

    define block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };

可以看出,block定义的是一个地址快,对于大括号里可以放置不同的section。创建一个block的目的在于能够得到一个地址,大小等详细信息的存储空间。通常用来组织sections。也可以向STACK block一样,像内存要了这么一个空间,至于我要干什么编译器你就不要管了。

IAR链接过程

  1. 决定哪些模块需要包含到应用程序中。目标文件提供的模块通常包含进去。
  2. 选择链接目标文件用到的标准库文件。
  3. 决定目标文件哪些section需要包含进来,没有用到的自然不会包含进来。当然也可以通过特殊的编译器指令如__root来使section链接到目标文件(及时程序中没有用到)。
  4. 完成RAM中的代码和变量的初始化。初始化指令可以让链接器产生额外的代码能够copy ROM中的内容到RAM中。每个通过copy完成初始化的段被分成了两个段,一个在ROM,一个在RAM。如果没有人工初始化的话。链接器回自动产生启动代码来完成初始化。
  5. 通过 lcf

这篇关于IAR 链接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/715019

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

每日一练7:简写单词(含链接)

1.链接 简写单词_牛客题霸_牛客网 2.题目 3.代码1(错误经验) #include <iostream>#include <string>using namespace std;int main() {string s;string ret;int count = 0;while(cin >> s)for(auto a : s){if(count == 0){if( a <=

短链接算法原理

平时我们在上网的时候,印象最深刻的有一次是短链接的服务。例如:平时在微信上看一个网页的时候,如果我们选择在浏览器打开的时候,会看到很长的URL,我们分享的时候,会看到一个很短URL,这就是本次所说的短链接的应用之一。 长链接示例:https://mp.weixin.qq.com/s?__biz=MzAxNzMwOTQ0NA==&mid=2653355437&idx=1&sn=5901826ea63

Vue2电商项目(二) Home模块的开发;(还需要补充js节流和防抖的回顾链接)

文章目录 一、Home模块拆分1. 三级联动组件TypeNav2. 其余组件 二、发送请求的准备工作1. axios的二次封装2. 统一管理接口API----跨域3. nprogress进度条 三、 vuex模块开发四、TypeNav三级联动组件开发1. 动态展示三级联动数据2. 三级联动 动态背景(1)、方式一:CSS样式(2)、方式二:JS 3. 控制二三级数据隐藏与显示--绑定styl

编译和链接那点事下

http://www.0xffffff.org/?p=357 上回书我们说到了链接以前,今天我们来研究最后的链接问题。         链接这个话题延伸之后完全可以跑到九霄云外去,为了避免本文牵扯到过多的话题导致言之泛泛,我们先设定本文涉及的范围。我们今天讨论只链接进行的大致步骤及其规则、静态链接库与动态链接库的创建和使用这两大块的问题。至于可执行文件的加载、可执行文件的运行时

编译和链接那点事上

http://www.0xffffff.org/?p=323  有位学弟想让我说说编译和链接的简单过程,我觉得几句话简单说的话也没什么意思,索性写篇博文稍微详细的解释一下吧。其实详细的流程在经典的《Linkers and Loaders》和《深入理解计算机系统》中均有描述,也有国产的诸如《程序员的自我修养——链接、装载与库》等大牛著作。不过,我想大家恐怕很难有足够的时间去研读这些厚如

【JVM】JVM栈帧中的动态链接 与 Java的面向对象特性--多态

栈帧 每一次方法调用都会有一个对应的栈帧被压入栈(虚拟机栈)中,每一个方法调用结束后,都会有一个栈帧被弹出。 每个栈帧中包括:局部变量表、操作数栈、动态链接、方法返回地址。 JavaGuide:Java内存区域详解(重点) 动态链接 动态链接:指向运行时常量池中该栈帧所属方法的引用。 多态 多态允许不同类的对象对同一消息做出响应,但表现出不同的行为(即方法的多样性)。 多态

C语言-程序环境 #预处理 #编译 #汇编 #链接 #执行环境

文章目录 前言 一、程序的环境翻译和执行环境 二、翻译环境 (一)、整体把握 (一)、编译 1、预处理(预编译) 2、编译 a、词法分析 b、语法分析 c、语义分析 d、符号汇总 3、汇编 (二)、链接 三、运行环境 总结​​​​​​​ 前言 路漫漫其修远兮,吾将上下而求索; PS:本文参考了《程序员的自我修养》,致敬大佬们! 一、程序的

【python 爬虫】python中url链接编码处理方法

一、问题描述 有些网址,会把中文编码成gb2312格式,例如百度知道,美容这一词,网址上面会编码成: %C3%C0%C8%DD 那么如何生成这种编码呢? 二、解决方法 1、把要编码的文字encode成所需格式 2、利用urllib 库的quote方法编码 # -*- coding:utf-8*-import sysreload(sys)sys.setdefaultencodin

【新东西】链接合集

1、RxJava。 基础介绍:http://www.jianshu.com/p/5e93c9101dc5 详细介绍:http://gank.io/post/560e15be2dca930e00da1083 方法介绍:https://zhuanlan.zhihu.com/p/21926591 2、Retrofit。网络请求框架,外包代码里用的这个。 简单介绍:http://blog.csd