IAR嵌入式工作台IDE _ (__no_init) 绝对定位

IAR嵌入式工作台IDE用于编程基于MAXQ核的微控制器。IAR™ C编译器(用于MAXQ微控制器)提供用于定义闪存或SRAM位置中数据对象或变量的选项。编译器具有特殊关键词pragma location和pragma required;通过使用关键词,可将存储器分配给绝对地址的数据对象或变量。必须用IAR关键词__no_init或const (标准C关键词)声明这些变量或数据对象。请参见下文中__no_init、const、pragma location和pragma required的关键词说明。

关键词说明
pragma location
#pragma location用于定义绝对地址的单个全局或静态变量或数据对象。变量或数据对象必须声明为__no_init或const。这对于必须位于固定地址的个体数据对象非常有用,例如变量、带有外部或内部接口的数据对象或增加的硬件表项。
pragma required
#pragma required确保链接输出中包括某个符号所需的另一个符号。该指令必须放在紧邻第二个符号的前边。如果符号在应用中不可见,使用该指令。例如,如果仅通过某个变量所在的段对其进行间接引用,必须使用#pragma required。
__no_init
正常情况下,应用程序启动时,IAR运行时环境将全部全局和静态变量初始化为0。IAR C编译器支持声明不初始化的变量,使用__no_init类型限定符。声明为__no_init的变量在启动时被禁止。不可能为__no_init对象赋予初始值。
例如:__no_init char MaximChar @ 0x0200;
本例中,声明为__no_init的变量被放在默认数据存储器(SRAM)的一个绝对地址。
const
const关键词意味着对象为只读。这类限定符用于表示直接或通过指针存取的数据对象,不可写。当const随关键词#pragma location和#pragma required一起使用时,IAR分配#pragma location定义的位置的存储器。这对于配置从外部接口进行存取的参数非常有用。这样的闪存数据只能由固定用途ROM函数读或写。
IAR默认存储器模型中,不可存取绝对地址的常量。利用选项Place constants in CODE (在IAR Project

原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12397256.html

时间: 2024-08-30 16:42:34

IAR嵌入式工作台IDE _ (__no_init) 绝对定位的相关文章

制作自己的嵌入式Linux电脑_转

制作自己的嵌入式Linux电脑 http://os.51cto.com/art/201409/450334.htm 原文链接:http://blog.jobbole.com/75414/ 包含器件选择.PCB绘制.焊接.bootstrap.uboot.kernel.rootfs制作烧写全过程.

嵌入式开发要学什么_必备嵌入式学习路线_高手速成方法

最近遇到很多处于迷茫中的新手,在纠结要不要去学嵌入式,主要问题在于嵌入式的门槛非常高,经验少.或者非电子专业投身嵌入式行业能否发展下去.学习嵌入式可以说是比较困难的,但是也是有方法的,要增加自己Linux的技能,只有通过实践来实现了.所以,一定要在学习中勤于实践,你会收获更多. 在实际的学习过程中,嵌入式软件工程师需要学什么?相信是困扰所有嵌入式初学者的难题,大致可以总结为:嵌入式首先懂得熟悉C语言,而后可以从系统编程入手,再深入到裸机开发.系统移植.驱动开发等.嵌入式需要懂得的一些基本诸如Li

KEIL项目迁移IAR向导(中文)

项目迁移向导 从Keil µVision® forARM平台转为 IAR Embedded Workbench® for ARM平台 本文使用的项目例程所采用的IDE版本如下: 项目迁移概述 从现有的Keil µVision项目的进行迁移需要收集关于当前的项目信息,并使用这些信息创建新的IAR Embedded Workbench项目.此外,还需要对实际源代码进行一些修改.本指南介绍一种简化了这一过程的方法. 注:IAREmbedded Workbench的基本介绍以及IDE项目管理和ARM项目

IAR 数据类型/扩展关键字/位操作/SRAM操作/中断/头文件/汇编嵌入方式

--数据类型 数据类型(编译器支持 ISO/ANSI C 基本数据类型和一些附加数据类型) 1.1. 整型数据 bool 数据类型在C++语言里是默认支持的.如果你在C代码的头文件里包含stdbool.h, bool数据类型也可以使用在C语言里.也可以使用布尔值 false和 true. 1.2.浮点数据类型: 1.3.指针类型:指针有数据指针和函数指针. 1.数据指针: 数据指针的大小为8位,16位,24位.定义为:在整型数据类型后加"*"符号. 例如:char * p; 整型数据没

精品软件7

QQ:365543212 ~~~~~~~~~~~~~~~~~~~ -+电力电气.电子电路+- Atrenta产品: Atrenta GenSys. v5.1.1.1.Linux64 1CD Atrenta.SpyGlass.v5.4.1.SP1.Linux64 1CD Atrenta SpyGlass. v5.1.1.1.Linux64 1DVD Atrenta SpyGlass v4.40 Linux 1CD Atrenta SpyGlass v4.5.1 LinuxAMD64 1CD Inn

Mentor.Graphics.Questa.VIP.v10.6.Windows.&.Linux 2CD

ANSOFT产品: Ansys Electromagnetics Suite v16.0 Win64 1DVD + 3CD inclueded: - Ansys Electronics Desktop 2015.0.0 (HFSS, HFSS 3D Layout, HFSS-IE, 2D Extractor, Q3D Extractor) - Ansys Electromagnetics 16.0 Modeler Files for CATIAV5 - Ansys Electromagnetic

Specctra ShapeBased Automation Software v15.1-ISO 1CD(基于层对交互/自动布线的功能)

Pspice v9.2 1CD Pspice 使用指南(中文) NucleusUDB.v4.3(强大的.基于GUI的嵌入式应用源码级调试器,具有标准的内部开发结构,适用于Nucleus软件部件支持的大多数处理器) Rimu.PCB.v1.07.WinALL 1CD(行业印刷电路板(PCB)的设计软件) Intusoft产品: ICAP/4 v8.1.6 for WinAll 1CD(电源仿真软件) Aegis产品: Aegis.CircuitCAM.Suite.v6.0.2.2 1CD(一个高端

TimingDesigner.v9.2 1CD(时域分析和图示工具)

CST STUDIO SUITE 2016 SP1 Win32_64-ISO 1DVDCST.Studio.Suite.v2015.00.Win32_64-ISO 1DVDCST Studio Suite 2015 SP6 Update Only 1CDCST.Studio.Suite.v2014.Win32_64-ISO 1DVDCST.Studio.Suite.v2014.SP6.Update.Only 1CDCST.Studio.Suite.v2012.With.SP5.WinALL 1D

高级性能调试手段(oprofile+gprofile)+内核追踪手段:LTT

yum install oprofile 1.Disabling daemons (关闭 daemons)‏ 2.Shutting down the GUI (关闭GUI)‏ 3.Changing kernel parameters (改变内核参数) 4.Kernel parameters (内核参数) 5.Tuning the processor subsystem(处理器子系统调优) 6.Tuning the memory subsystem (内存子系统调优) 7.Tuning the f