cortex-m0的中断向量问题

[复制链接]
 楼主| bearpp 发表于 2009-11-2 21:10 | 显示全部楼层 |阅读模式
最近在看cortex-m0,要用汇编写程序。
m0的reset向量地址不是通常的0x00,而是地址0x04. 地址0x00被用作MSP的初始值。
我的问题是:怎么在汇编代码中把地址0x00的初始值写进去???
贾君鹏子 发表于 2009-11-2 23:16 | 显示全部楼层
没遇到过呢
 楼主| bearpp 发表于 2009-11-2 23:20 | 显示全部楼层
到掉!自己顶一下!!
 楼主| bearpp 发表于 2009-11-3 11:56 | 显示全部楼层
有人看没人回! 我顶!!
desert_hawk 发表于 2009-11-3 12:33 | 显示全部楼层
用伪指令指定地址,然后在这个位置上写数据。编译器应该有汇编启动代码的实例啊,参考一下。
 楼主| bearpp 发表于 2009-11-3 13:00 | 显示全部楼层
大侠,多谢赐教。
不过俺就是找不到指定地址的伪指令啊。。。是我太笨了吗???还是没有啊。找了很多地方都没看到
desert_hawk 发表于 2009-11-3 13:33 | 显示全部楼层
你用的是什么编译器啊,一般编译器都有自己的扩展指令。
 楼主| bearpp 发表于 2009-11-3 23:39 | 显示全部楼层
我用的是rvds4.0, 就是armasm, armlink, fromelf. 在linux下的命令行环境,不是集成开发环境。

今天又查了下,发现在link的时候,用--first=ojbect(section_name)可以指定把某个section放到
最开始的地方,
  如
  %> armlink --first=test1.o(vectors) ......

   汇编程序(test1.s)中是这样:
    AREA  vectors, DATA, READONLY
  _Vectors
      DCD     0x600001000
      DCD     Reset_Handler
      DCD     NMI_Handler
      ...
      ...

  可是试了一下,总是报找不到test1.o中的这个section,不知道为什么??
 楼主| bearpp 发表于 2009-11-4 22:36 | 显示全部楼层
见另一关于 --first= 的帖子
 楼主| bearpp 发表于 2009-11-4 22:38 | 显示全部楼层
NND,不能结贴,提示“给分和总分不符,请重新分配”
yuhuihui 发表于 2009-11-6 09:18 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

36

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

5

主题

36

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部