_word()用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
__word( , )之用法
在所有的2410或者arm9 的开发板都会用到一个SDRAM.INI,并且里面都用到了__word( , )的这个指令。
那这个指令是什么意思呢?今天我们就来解析一下。
__word( , )是keil软件中自带的一个指令,他的用法是,把某个地址处写如相应的值,相当于把某个地址的寄存器初始化。
我们任举一例,_WDWORD(0x53000000, 0x00000000); 这个是从所有2410的工程中用到的sdram.ini中copy的一句话,我们查看2410的手册发现,0x53000000这个地址就是看门狗的控制寄存器,写入0x00000000就是关闭看门狗。
想必现在大家都懂了吧。
下面是sdram.ini这个文件的_word()指令简单注释。
希望对大家有帮助。
/****************************************************************************** /
/* SDRAM.INI: External RAM (SDRAM) Initialization File */
/****************************************************************************** /
// <<< Use Configuration Wizard in Context Menu >>> //
/****************************************************************************** /
/* This file is part of the uVision/ARM development tools. */
/* Copyright (c) 2005-2006 Keil Software. All rights reserved. */
/* This software may only be used under the terms of a valid, current, */
/* end user licence from KEIL for a compatible version of KEIL software */
/* development tools. Nothing else gives you the right to use this software. */
/****************************************************************************** /
FUNC void Setup (void) {
_WDWORD(0x53000000, 0x00000000); //关闭看门狗
_WDWORD(0x4A000008, 0xFFFFFFFF); // 关闭相应中断
_WDWORD(0x4A00001C, 0x000007FF); // 关闭相应中断
_WDWORD(0x4C000014, 0x00000003);
_WDWORD(0x4C000004, 0x0005c042); // 时钟分频
_WDWORD(0x56000070, 0x00280000); //
_WDWORD(0x56000078, 0x00000000);
_WDWORD(0x48000000, 0x22111110); //SARAM 初始化
_WDWORD(0x48000004, 0x00000700);
_WDWORD(0x48000008, 0x00000700);
_WDWORD(0x4800000C, 0x00000700);
_WDWORD(0x48000010, 0x00000700);
_WDWORD(0x48000014, 0x00000700);
_WDWORD(0x48000018, 0x00000700);
_WDWORD(0x4800001c, 0x00018005);
_WDWORD(0x48000020, 0x00000700);
_WDWORD(0x48000024, 0x008e0459);
_WDWORD(0x48000028, 0x000000B2);
_WDWORD(0x4800002c, 0x00000030);
_WDWORD(0x48000030, 0x00000030);
_WDWORD(0x56000014, 0x00000001);
_WDWORD(0x56000020, 0xAAAA55AA); //lcd管脚初始化
_WDWORD(0x56000028, 0x0000FFFF);
_WDWORD(0x56000024, 0x00000000);
}
Setup(); // Setup for Init
LOAD SDRAM\StepMotor_Test.axf INCREMENTAL // Download
PC = 0x30000000; // <o> Program Entry Point g, main // Run to main function。