搜索
bottom↓
回复: 2

MDK for ARM 中_word()的用法

[复制链接]

出0入0汤圆

发表于 2014-2-11 14:39:27 | 显示全部楼层 |阅读模式
__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

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2014-2-12 23:24:50 来自手机 | 显示全部楼层
是keil软件运行这些代码?以前注意过,但没深究

出0入0汤圆

 楼主| 发表于 2014-2-13 09:10:18 | 显示全部楼层
sunnyqd 发表于 2014-2-12 23:24
是keil软件运行这些代码?以前注意过,但没深究

是的,mdk中用到的!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 02:36

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表