⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arm基础知识五 - arm开发者论坛-中国专业arm开发网站.htm

📁 ARM基础知识,我刚找到的。 和大家共同分享下
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0050)http://www.armforum.cn/ARMrumen/20071220/1833.html -->
<HTML xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn"><HEAD><TITLE>ARM基础知识五 - ARM开发者论坛-中国专业ARM开发网站</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content=all name=robots>
<META 
content="在应用程序中安装异常中断处理程序 1.使用跳转指令:可以在异常中断对应异常向量表中特定位置放置一条跳转指令,直接跳转到该异常中断的处理程序。这种方法有一个缺点,即只能在32M空间范围内跳转。 2.使用数据读取指令LDR:使用数据读取指令LDR向程序计数器PC中直接赋" 
name=description>
<META content=基础知识 name=keywords 异常 地址 读取 BL 指令 使用 DCD 中断 PC LDR><LINK 
media=screen href="ARM基础知识五 - ARM开发者论坛-中国专业ARM开发网站.files/main.css" type=text/css 
rel=stylesheet><LINK media=screen 
href="ARM基础知识五 - ARM开发者论坛-中国专业ARM开发网站.files/css.css" type=text/css 
rel=stylesheet><LINK media=screen 
href="ARM基础知识五 - ARM开发者论坛-中国专业ARM开发网站.files/home.css" type=text/css 
rel=stylesheet>
<SCRIPT src="ARM基础知识五 - ARM开发者论坛-中国专业ARM开发网站.files/external.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="ARM基础知识五 - ARM开发者论坛-中国专业ARM开发网站.files/js.js" 
type=text/javascript></SCRIPT>

<SCRIPT language=javascript>
function wo_ding(num_id)
{
url = "/plus/wo_ding.php?aid="+num_id+"&post=vote&m=" + Math.random();
new ajax(url, {method: 'get', onComplete:return_review});
}
function return_review(ajax)
{
str_error_num = ajax.responseText
if(str_error_num==0)
{
  alert("好像你刚拍过了,发个新文章让其他人拍到首页吧!");
}
else
{
  alert("感谢您的投票,你也可以发布自己的文章让其他人拍到首页!")
  $("s_ding").innerHTML = str_error_num;
}
}
</SCRIPT>

<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY>
<DIV id=alpha></DIV>
<DIV id=header><A id=top></A>
<DIV id=topnav>
<DIV id=toptext>中国专业ARM开发论坛:WWW.ARMFORUM.CN</DIV>
<UL id=topnavlist>
  <LI>中国最大的ARM开发网站,做最好的ARM网站</LI></UL></DIV>
<DIV id=topbox>
<H1><A title=ARM开发论坛 
href="http://www.armforum.cn/">中国专业ARM开发:WWW.ARMFORUM.CN</A></H1>
<DIV id=topmiddle><SPAN id=google2><IMG height=32 alt=ARM7 
src="ARM基础知识五 - ARM开发者论坛-中国专业ARM开发网站.files/loading.gif" width=32></SPAN></DIV>
<UL id=topright></SCRIPT></UL>
<DIV class=clear></DIV></DIV>
<UL id=chinahtmlnav>
  <LI><A title=ARM开发论坛 href="http://www.armforum.cn/"><SPAN>网站首页</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM行业动态 
  href="http://www.armforum.cn/ARMxingyedongtai/index.html" 
  rel=external><SPAN>ARM行业动态</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM入门 href="http://www.armforum.cn/ARMrumen/index.html" 
  rel=external><SPAN>ARM入门</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM技巧 href="http://www.armforum.cn/ARMzhongji/index.html" 
  rel=external><SPAN>ARM技巧</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM仿真 
  href="http://www.armforum.cn/ARMfangzhen/index.html" 
  rel=external><SPAN>ARM仿真</SPAN></A> 
  <LI><A title=ARM开发论坛-网友作品 
  href="http://www.armforum.cn/wangyouARMzuopin/index.html" 
  rel=external><SPAN>网友作品</SPAN></A> 
  <LI><A title=ARM开发论坛-嵌入式系统 
  href="http://www.armforum.cn/qianrushixitong/index.html" 
  rel=external><SPAN>嵌入式系统</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM应用 
  href="http://www.armforum.cn/ARMyingyong/index.html" 
  rel=external><SPAN>ARM应用</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM源码下载 
  href="http://www.armforum.cn/ARMyuanmaxiazai/index.html" 
  rel=external><SPAN>ARM源码下载</SPAN></A> 
  <LI><A title=ARM开发论坛-ARM资料下载 
  href="http://www.armforum.cn/ARMziliaoxiazai/index.html" 
  rel=external><SPAN>ARM资料下载</SPAN></A> 
  <LI><A title=ARM开发论坛专题 href="http://www.armforum.cn/special/index.php" 
  rel=external><SPAN>专题</SPAN></A> </LI></UL>
<UL id=subinfo>
  <LI class=searchli>
  <DIV id=searchtop><!-- Google CSE Search Box Begins  -->
  <FORM id=searchbox_006841628252179339083:u16nw8ub_py 
  action=http://www.google.com/cse>ARM文章搜索:<INPUT type=hidden 
  value=006841628252179339083:u16nw8ub_py name=cx> <INPUT size=25 name=q> <INPUT type=submit value=搜索 name=sa> <SPAN id=topbbs><A title=ARM开发论坛 
  href="http://www.armforum.cn/plus/guestbook/">&gt;&gt;ARM开发论坛用户交流区</A></SPAN></FORM>
  <SCRIPT src="ARM基础知识五 - ARM开发者论坛-中国专业ARM开发网站.files/brand.htm" 
  type=text/javascript></SCRIPT>
  </DIV></LI>
  <LI class=c><A 
  href="http://www.armforum.cn/member/index_do.php?fmdo=user&amp;dopost=regnew">会员注册</A> 
  | <A title=ARM信息发布 
  href="http://www.armforum.cn/ARMrumen/20071220/1833.html#">信息发布</A> | <A 
  href="http://www.armforum.cn/member/article_add.php" 
  rel=external><STRONG>文章投稿</STRONG></A> </LI>
  <LI class=searchli>ss</FORM> </LI>
  <LI class=d><A href="http://www.armforum.cn/plus/rssmap.html" 
  rel=external>信息订阅</A> </LI></UL>
<DIV class=clear></DIV></DIV>
<DIV id=middleimg>
<DIV id=topmidleimg></DIV></DIV>
<DIV id=containertow>
<DIV id=content>
<DIV id=articlenav>您现在正在浏览:<A 
href="http://www.armforum.cn/">ARM开发者论坛-中国专业ARM开发网站</A>&gt;&gt;<A 
href="http://www.armforum.cn/ARMrumen/index.html">ARM入门</A>&gt;&gt;</DIV>
<DIV id=article>
<DIV id=entry>
<DIV id=entrytitle>
<H1>ARM基础知识五</H1>
<DIV id=entrymeta>发表时间:2008-03-22 
00:49:38&nbsp;&nbsp;&nbsp;&nbsp;来源:ARM开发者论坛&nbsp;&nbsp;&nbsp;&nbsp;责任编辑::佚名&nbsp;&nbsp;&nbsp;&nbsp;阅读数:
<SCRIPT language=javascript 
src="ARM基础知识五 - ARM开发者论坛-中国专业ARM开发网站.files/count.htm"></SCRIPT>
</DIV></DIV>
<DIV class=clear></DIV>
<DIV id=entrybody>
<DIV id=entryadbox></DIV>
<STYLE>.Uid257 {
	DISPLAY: none
}
</STYLE>
在应用程序中安装异常中断处理程序<BR>1.使用跳转指令:可以在异常中断对应异常向量表中特定位置放置一条跳转指令,直接跳转到该异常中断的处理程序。这种方法有一个缺点,即只能在32M空间范围内跳转。<BR>2.使用数据读取指令LDR:使用数据读取指令LDR向程序计数器PC中直接赋值。这种方法分为两步:先将异常中断处理程序的绝对地址存放在存放在距离向量表4KB范围内的一个存储单元中;再使用数据读取指令LDR将该单元的内容读取到程序计数器PC中。 

<P>**在系统复位时安装异常中断处理程序**<BR>1.地址0x00处为ROM的情况<BR>使用数据读取指令LDR示例如下所示:<BR>Vector_Init_Block<BR>LDR 
PC, Reset_Addr<BR>LDR PC, Undefined_Addr<BR>LDR PC, SW_Addr<BR>LDR PC, 
Prefeth_Addr<BR>LDR PC, Abort_Addr<BR>NOP<BR>LDR PC, IRQ_Addr<BR>LDR PC, 
FIQ_Addr <SPAN class=Uid257>ARM开发论坛</SPAN> </P>
<P>Reset_Addr DCD Start_Boot<BR>Undefined_Addr DCD Undefined_Handle<BR>SW_Addr 
DCD SWI_Handle<BR>Prefeth_Addr DCD Prefeth_Handle<BR>Abort_Addr DCD 
Abort_Handle<BR>DCD 0<BR>IRQ_Addr DCD IRQ_Handle<BR>FIQ_Addr DCD 
FIQ_Handle<BR>使用跳转指令的示例如下所示:<BR>Vector_Init_Block<BR>BL Reset_Handle<BR>BL DCD 
Undefined_Handle<BR>BL SWI_Handle<BR>BL Prefeth_Handle<BR>BL 
Abort_Handle<BR>NOP<BR>BL IRQ_Handle<BR>BL 
FIQ_Handle<BR>2.地址0x00处为RAM的情况<BR>地址0x00处为RAM时,中断向量表必须使用数据读取指令直接指向PC中赋值的形式。而且,必须使用下面的代码巴中断向量表从ROM中复制到RAM中地址0x00开始处的存储空间中:<BR><BR>MOV 
r8,#0<BR>ADR r9,Vector_Init_Block<BR>;复制中断向量表(8字)<BR>LDMIA r9!,(r0-r7)<BR>STMIA 
r8!,(r0-r7)<BR>;复制保存各中断处理函数地址的表(8字words)<BR>LDMIA r9!,(r0-r7)<BR>STMIA 
r8!,(r0-r7) 
<P class=Uid257>ARM开发论坛</P>
<P></P></DIV>
<DIV class=clear></DIV>
<DIV id=entrynum></DIV>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -