`
javababy1
  • 浏览: 1171127 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

arm 初始化代码中的{CONFIG}

 
阅读更多

ARM9 SC2440和2410得初始化代码中有下面一个定义:

GBLL THUMBCODE

[ {CONFIG} = 16

THUMBCODE SETL{TRUE}

CODE32

|

THUMBCODE SETL{FALSE}

]

网上的朋友有问下面问题的,我也有疑惑,从ARM官方网站查到了答案。特此列出。

请问代码里的 {CONFIG} 代表什么含义,如何知道它是不是等于为16

是某处定义的某个变量?

还是编译的时候某个配置选项?

用{}括起来代表什么含义

CONFIG ADS1.2编译器内建变量,还有其他一些内建变量。

Built-in variables and constants

Table3.3lists the built-in variables defined by the ARM assembler.

Table3.3.Built-in variables

{ARCHITECTURE}

Holds the name of the ARM architecture selected by the --device option.

{AREANAME}

Holds the name of the current AREA.

{ARMASM_VERSION}

Holds an integer that increases with each version ofarmasm.

|ads$version|

Has the same value as{ARMASM_VERSION}.

{CODESIZE}

Is a synonym for{CONFIG}.

{COMMANDLINE}

Holds the contents of the command line.

{CONFIG}

Has the value32if the assembler is assembling ARM code, or16if it is assembling Thumb code.

{CPU}

Holds the name of the CPU selected by the--deviceoption.

{ENDIAN}

Has the value“big”if the assembler is in big-endian mode, or“little”if it is in little-endian mode. The default value is selected by the--deviceoption.

{FPU}

Holds the name of the FPU. The default FPU name is selected by the--deviceoption.

{INPUTFILE}

Holds the name of the current source file.

{INTER}

Has the boolean value True if/interis set. The default is False.

{LINENUM}

Holds an integer indicating the line number in the current source file.

{OPT}

Value of the currently-set listing option. TheOPTdirective can be used to save the current listing option, force a change in it, or restore its original value.

{PC}or.

Address of current instruction.

{PCSTOREOFFSET}

Is the offset between the address of theSTRpc,[…]orSTMRb,{…,pc}instruction and the value of pc stored out. This varies depending on the device specified.

{ROPI}

Has the boolean value True if/ropiis set. The default is False.

{RWPI}

Has the boolean value True if/rwpiis set. The default is False.

{VAR}or@

Current value of the storage area location counter.

Built-in variables cannot be set using theSETA,SETL, orSETSdirectives. They can be used in expressions or conditions, for example:

IF {ARCHITECTURE} = "4T"

The built-in variable|ads$version|must be all in lowercase. The names of the other built-in variables can be in uppercase, lowercase, or mixed. For example:

IF {CpU} = "ARM7TDMI"

Note

All built-in string variables contain case-sensitive values. SeeCPU namesfor valid values for{CPU}and{ARCHITECTURE}. SeeFPU namesfor valid values for{FPU}. Relational operations on these built-in variables will not match with strings that contain an incorrect case.

Table3.4lists the built-in Boolean constants defined by the ARM assembler.

Table3.4.Built-in Boolean constants

{FALSE}

Logical constant false.

{TRUE}

Logical constant true.

源文档 <http://blog.csdn.net/yanglijing/article/details/4687173>

分享到:
评论

相关推荐

    ARM 44b0 初始化源代码

    [ {CONFIG} = 16 THUMBCODE SETL {TRUE} CODE32 | THUMBCODE SETL {FALSE} ] [ THUMBCODE CODE32 ;for start-up code for Thumb mode ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Vector Macro;;;;;;;;...

    ARM9160*160液晶屏驱动

    1、 初始化:系统加载驱动时,会执行hgo_init_module()函数,再此函数中可以执行一些初始化的操作,目前驱动中该函数执行的操作为: a) 映射内存。 b) 配置EBI总线 c) 设置屏的复位管脚为高电平(屏的复位管脚定义...

    ARM嵌入式系统软件开发实例(一)

    1.2.4 初始化ZLG/FS 1.2.5 目录相关操作 1.2.6 文件相关操作 1.2.7 关闭ZLG/FS 1.2.8 在多任务环境下使用ZLG/FS 1.3 ZLG/FS的结构视图 1.3.1 概述 1.3.2 应用程序 1.3.3 文件管理与目录管理 1.3.4 文件分配...

    ARM_Linux启动分析.pdf

    调用pal_init()初始化PAL代码,调用openboot() 打开引导设备(通过读取Firmware环境),调用load()将核心代码加载到START_ADDR(见 “include/asm-alpha/system.h”),再将Firmware中的核心引导参数加载到ZERO_PAGE...

    ARM嵌入式系统软件开发实例(一).part3.rar (共三卷)

    1.2.4 初始化ZLG/FS 1.2.5 目录相关操作 1.2.6 文件相关操作 1.2.7 关闭ZLG/FS 1.2.8 在多任务环境下使用ZLG/FS 1.3 ZLG/FS的结构视图 1.3.1 概述 1.3.2 应用程序 1.3.3 文件管理与目录管理 1.3.4 文件分配表管理与...

    ARM嵌入式系统软件开发实例(一).part1.rar (共三卷)

    1.2.4 初始化ZLG/FS 1.2.5 目录相关操作 1.2.6 文件相关操作 1.2.7 关闭ZLG/FS 1.2.8 在多任务环境下使用ZLG/FS 1.3 ZLG/FS的结构视图 1.3.1 概述 1.3.2 应用程序 1.3.3 文件管理与目录管理 1.3.4 文件分配表管理与...

    ARM嵌入式系统软件开发实例(一).part2.rar (共三卷)

    1.2.4 初始化ZLG/FS 1.2.5 目录相关操作 1.2.6 文件相关操作 1.2.7 关闭ZLG/FS 1.2.8 在多任务环境下使用ZLG/FS 1.3 ZLG/FS的结构视图 1.3.1 概述 1.3.2 应用程序 1.3.3 文件管理与目录管理 1.3.4 文件分配表管理与...

    STM32单片机读写SIM800A模块 GSM语音通话功能软件DEMO例程源码.zip

    /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); /* 板子按键初始化 */ KEY_...

    用于基于 STM32F103C8Tx 的 ARM 模块的 USB 串行桥接器

    在主程序开始时调用 HAL_Init() 函数来重置所有外设,初始化 Flash 接口和 systick。用户使用 SystemClock_Config() 函数将系统时钟 (SYSCLK) 配置为以 72 MHz 运行。全速 (FS) USB 模块在内部使用 48-MHz 时钟,该...

    ARM-Linux系统移植

    第一部分 前言....................................................................................................................................8 1 硬件环境.............................................

    stm32f103实现的RS485串口Modbus协议实现开关量数据采集与控制.zip

    //--------LED端口初始化------------- Button_Config(); //-----按键端口初始化------------ eMBInit(MB_RTU, 0x02, 0x01, 9600, MB_PAR_NONE); //初始化 RTU模式 从机地址为1 USART1 9600 无校验 eMBEnable()...

    uboott移植实验手册及技术文档

    在文件的最后加入Nand Flash的初始化函数,该函数在后面Nand Flash的操作都要用到。 u-boot运行到第2阶段会进入start_armboot()函数。其中nand_init()函数是对nand flash的最 初初始化函数。nand_init()函数在两个...

    STM32F405RGT6 控制直流电机芯片MotorDrive-AT8236, IMU42605 源码。采用FreeRTOS

    ////TIM1-PWM初始化函数 MX_USART3_Init();//USART3初始化函数 RS485_RD_GPIO_Init(&RS485, GPIOB, GPIO_PIN_1);//RS485芯片RD引脚配置 MX_CAN1_Init();//CAN1初始化函数 CAN1_SetTxMsg();//设置CAN1 TX消息 ...

    Stm32F103驱动NV020C语音芯片KEIL工程源码.zip

    //延时初始化 Sound_Init(); //初始化OLED G_un8Addr = 0; /* Infinite loop */ while(1) { ////////////1. LED灯顺序闪烁 //////////////// LED4_OFF; delay_ms(1500); //延时1s ...

    基于循环时间的跨平台多任务管理系统(可用于MCS51,STM32等单片机)+源代码+文档说明

    &gt; **PID**:任务编号号,初始化的时候传入 `PID_INIT` - `void TM_init()`:系统初始化 - `uint32_t TM_add_task(TaskMsg* new_task_msg)`:添加任务 - `void TM_kill_by_PID(uint32_t PID)`:通过任务序号删除...

    基于小e智能硬件开发平台设计的WIFI小车,小车APP+源代码-电路方案

    2、IP地址不为0,开始初始化配置TCP协议。 TCP协议初始化配置函数 user_tcpserver_init(uint32 port) { esp_conn.type = ESPCONN_TCP; esp_conn.state = ESPCONN_NONE; esp_conn.proto.tcp = &amp;esptcp; esp_conn....

    speedtest_exporter:Prometheus出口商的Speedtest指标

    指标是: 潜伏下载带宽上载带宽安装您可以下载二进制文件: 架构amd64 [ / / / / / ] 架构臂[ ] 架构arm64 [ ]用法启动Prometheus出口商: $ speedtest_exporter -log.level=debug发展初始化环境$ make init 构建...

    LINUX系统移植及UBOOT代码分析.zip

    Linux系统移植 目 录 第一部分 前言....................................................................................................................................8 1 硬件环境.........................

    ELDK使用与开发手册

    kermit在执行其它命令之前,会执行你的用户目录下的初始文件.kermrc,所以可以非常简单的通过初始化命令来定制kermit。下面是使用U-Boot和Linux时推荐配置: ~/.kermrc: set line /dev/ttyS0 set speed 115200 set ...

    bmi160调通bmi160的ACC+GYR_20160907.7z

    3、借用bma250.c这个驱动程序,初始化的部分修改为初始化bmi160,调通BMI160的gsensor部分。 4、完善全志/博世提供的bmi160的驱动程序,调通BMI160的gsensor部分。 (陀螺仪部分鱼刺类似,陀螺仪部分借用l3gd20.c来...

Global site tag (gtag.js) - Google Analytics