打印

存储系统跟异常中断这两个很重要

[复制链接]
1653|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
可是单方面|  楼主 | 2013-4-8 15:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
来公司我主要是做ARM程序这块,刚来的时候傻的要死,ADS开发环境不会用,JTAG仿真也不会用,C语言基础也不好,刚开始的时候写个程序,老想着以前的程序,结果抄过来,发现什么都不行(其实是本人c不过关),反正很笨很笨了。最后我们领导也好,耐心的一步一步教我。首先叫我看那边杜春蕾的《ARM体系结构与编程》,这本书比较老了,主要基于ARM7的,但是ARM7作为入门还是蛮不错的。首先看了ARM的体系结构,就看那些很基础的东西,工作模式啊,寄存器啊啥的。然后是存储系统跟异常中断这两个很重要。当然,对应初学者来说可能会看的很模糊,要反复的看,不一定要全看到,但是头脑中要有个印象,等后面实践中遇到了要能懂。这部分应该在3天内看完。OK。
      其次,一定要有开放板,没有开发板,那你就别学了。我个人建议先使用简单ARM7处理器,我用的就是AT91。有了处理器,你就要去官网下这个处理器的资料,包括手册,函数库。下好之后,你就看这些资料,最好是看官网的英文资料,先稍微了解下这款处理器。
     然后,使用开发环境新建一个新的工程,程序可以很简单,比如main()函数里面弄个死循环就好,这里主要是让你学习使用这个开发环境,把程序编译通过。比如用ADS1.2,网上有很多资料,新建工程这些都很简单,主要是设置,简单的模式下是设置RO,RW地址,entry address,复杂的是写分散加载文件。对于这些你又得回过去看书了,《ARM体系结构与编程》里都有,必须了解RO,RW地址是啥意思,书里面ARM编译器,连接器,ADS的使用这几章要好好去看看,当然,网上有很多资料,设置很简单。但是你必须知道原理啊,不然换个处理器,换个编译环境,你又不会用了。现在假设你设置都搞定了,都弄懂了,或者模糊的懂了,接下去编译成功。
   再然后,你可以写程序了,首先建议去看描述处理器的头文件,里面有寄存器的定义啥的。头文件必须去看,了解他的结构,很重要。现在写个很简单的程序,点亮LED。这里需要说明的是一般官网有驱动程序库,有例程,你直接拿过来用就好了,比如PIO口,直接拿PIO口的驱动来用,来点个LED。程序写好了,设置工程,编译通过。
      接下来就是,使用仿真调试和程序固化了。我是用的JTAG调试。用的J-link仿真器。上电,连好仿真器,点击AXD调试,你就可以进行仿真调试了,这部分怎么做网上很多。程序固化也是,我使用的是J-flash软件,这里网上也很多。假如你以上都搞定了,那好,继续写一些程序玩。
     现在开始搞中断,之前不是看过书了吗,现在再好好的理解下。什么是异常中断向量表?异常中断的过程?这部分你的看启动文件了。ARM7的启动文件还是很简单的。你要想了搞定,必须把启动文件搞定,不需要每句话都看懂,但是结构还是要弄懂的,之后中断的机理你就明白了,之后遇到的处理器中断都差不多是哦一样的。弄懂了之后,你可以开始写中断ISR程序,可以是按键中断,定时器中断。把中断搞定,你离入门不远了。
     再来巩固下存储系统的知识,ADS工程设置时,使用分散加载模式。具体还是可以看《ARM体系结构与编程》,如果那处理器有重映射功能,可是试试重映射。

相关帖子

沙发
SunFans| | 2013-4-8 20:46 | 只看该作者
嗯,经验之谈!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:tt娱乐城(www.tyulecheng.com)

3

主题

3

帖子

1

粉丝