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>
分享到:
相关推荐
[ {CONFIG} = 16 THUMBCODE SETL {TRUE} CODE32 | THUMBCODE SETL {FALSE} ] [ THUMBCODE CODE32 ;for start-up code for Thumb mode ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Vector Macro;;;;;;;;...
1、 初始化:系统加载驱动时,会执行hgo_init_module()函数,再此函数中可以执行一些初始化的操作,目前驱动中该函数执行的操作为: a) 映射内存。 b) 配置EBI总线 c) 设置屏的复位管脚为高电平(屏的复位管脚定义...
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 文件分配...
调用pal_init()初始化PAL代码,调用openboot() 打开引导设备(通过读取Firmware环境),调用load()将核心代码加载到START_ADDR(见 “include/asm-alpha/system.h”),再将Firmware中的核心引导参数加载到ZERO_PAGE...
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 文件分配表管理与...
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 文件分配表管理与...
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 文件分配表管理与...
/* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); /* 板子按键初始化 */ KEY_...
在主程序开始时调用 HAL_Init() 函数来重置所有外设,初始化 Flash 接口和 systick。用户使用 SystemClock_Config() 函数将系统时钟 (SYSCLK) 配置为以 72 MHz 运行。全速 (FS) USB 模块在内部使用 48-MHz 时钟,该...
第一部分 前言....................................................................................................................................8 1 硬件环境.............................................
//--------LED端口初始化------------- Button_Config(); //-----按键端口初始化------------ eMBInit(MB_RTU, 0x02, 0x01, 9600, MB_PAR_NONE); //初始化 RTU模式 从机地址为1 USART1 9600 无校验 eMBEnable()...
在文件的最后加入Nand Flash的初始化函数,该函数在后面Nand Flash的操作都要用到。 u-boot运行到第2阶段会进入start_armboot()函数。其中nand_init()函数是对nand flash的最 初初始化函数。nand_init()函数在两个...
////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消息 ...
//延时初始化 Sound_Init(); //初始化OLED G_un8Addr = 0; /* Infinite loop */ while(1) { ////////////1. LED灯顺序闪烁 //////////////// LED4_OFF; delay_ms(1500); //延时1s ...
> **PID**:任务编号号,初始化的时候传入 `PID_INIT` - `void TM_init()`:系统初始化 - `uint32_t TM_add_task(TaskMsg* new_task_msg)`:添加任务 - `void TM_kill_by_PID(uint32_t PID)`:通过任务序号删除...
2、IP地址不为0,开始初始化配置TCP协议。 TCP协议初始化配置函数 user_tcpserver_init(uint32 port) { esp_conn.type = ESPCONN_TCP; esp_conn.state = ESPCONN_NONE; esp_conn.proto.tcp = &esptcp; esp_conn....
指标是: 潜伏下载带宽上载带宽安装您可以下载二进制文件: 架构amd64 [ / / / / / ] 架构臂[ ] 架构arm64 [ ]用法启动Prometheus出口商: $ speedtest_exporter -log.level=debug发展初始化环境$ make init 构建...
Linux系统移植 目 录 第一部分 前言....................................................................................................................................8 1 硬件环境.........................
kermit在执行其它命令之前,会执行你的用户目录下的初始文件.kermrc,所以可以非常简单的通过初始化命令来定制kermit。下面是使用U-Boot和Linux时推荐配置: ~/.kermrc: set line /dev/ttyS0 set speed 115200 set ...
3、借用bma250.c这个驱动程序,初始化的部分修改为初始化bmi160,调通BMI160的gsensor部分。 4、完善全志/博世提供的bmi160的驱动程序,调通BMI160的gsensor部分。 (陀螺仪部分鱼刺类似,陀螺仪部分借用l3gd20.c来...