打印

发一点个人ARM入门经验及资料

[复制链接]
15270|105
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjwyczj|  楼主 | 2012-12-26 13:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       哈哈,之前在一个台企工作,说是做开发工作,但是没学到真正的什么东西,然后果断跳槽。找工作的路艰辛啊,由于知识能力有限,整整找了一个多月,没有放弃,最终找到了目前的这份工作,一个纯做开发设计的企业,算是运气好吧。所以这里给那些在迷茫的刚毕业的或者再找工作的一个建议,如果觉得目前工作学不到啥东西,果断跳槽。找工作也不要放弃,幸运女神会观临你的。
      来公司我主要是做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体系结构与编程》,如果那处理器有重映射功能,可是试试重映射。
    最后,你可以根据需要的外设开始编程了,注意,尽量使用库函数。
    接下来,你就慢慢的在项目中成长,我是这么走过来的,大概就2个月的时间,后来又搞了FPGA软核,SMT32,现在过来也半年多了,遇到很多问题,要多像前辈请教。多动手。同时基础很重要,要狠狠的抓,现在差没关系,那就开始狠狠的补。
    这是本人学习ARM入门的一点小小经验,可能不值一提,我也不知道对初学者有没帮助,写写下来分享一下,同时也互相学习探讨,共同进步。高手们别取笑我啊,哈哈。
    有人愿意一起学习的可以加我qq(714464626)

相关帖子

沙发
zjwyczj|  楼主 | 2012-12-26 13:59 | 只看该作者
没人回复吗

使用特权

评论回复
板凳
高个书呆子| | 2012-12-26 15:22 | 只看该作者
我来回复个,楼主给力

使用特权

评论回复
地板
zjwyczj|  楼主 | 2012-12-26 15:45 | 只看该作者
高个书呆子 发表于 2012-12-26 15:22
我来回复个,楼主给力

谢谢

使用特权

评论回复
5
09045407| | 2012-12-30 11:30 | 只看该作者
加油

使用特权

评论回复
6
ma411246470| | 2012-12-30 13:41 | 只看该作者
你讲的太好了

使用特权

评论回复
7
kenny11| | 2012-12-30 21:54 | 只看该作者

使用特权

评论回复
8
shinky| | 2012-12-31 11:21 | 只看该作者
不错,当初我也是没学好,曾经想做技术,没做出来。现在只有苦逼的卖芯片了。唉

使用特权

评论回复
9
嵌入式学者| | 2012-12-31 18:42 | 只看该作者
谢谢分享

使用特权

评论回复
10
centralcountry| | 2012-12-31 21:25 | 只看该作者
楼主的分享很实用,学习了,多谢。

使用特权

评论回复
11
明月小厨| | 2013-1-1 21:41 | 只看该作者
ADS还有人在用吗?

使用特权

评论回复
12
明月小厨| | 2013-1-1 21:42 | 只看该作者
ADS+ARM7真的非常烦人;汇编一点点都不懂,看的很累;

使用特权

评论回复
13
huangxz| | 2013-1-1 22:14 | 只看该作者
呵呵,每个人的必经之路,谁让我们走的是这条路啊

使用特权

评论回复
14
ma411246470| | 2013-1-2 14:50 | 只看该作者
我现在的公司就是叫我弄DSPC6727...然后没人代叫我自己学,公司的人都只会单片机和FPGA。第一次接触DSP,根本没头脑的在学,他给了一块自己画的板子,没有程序,叫我写驱动。我自己学了俩周多,没什么结果。很是愁人,是不我自己不行,还是这种环境不适合我啊,不知道怎么办了。求解啊!!!告诉我该怎么办!

使用特权

评论回复
15
sujx006| | 2013-1-2 22:56 | 只看该作者
我现在开始学arm,看来必须先学习硬件啊!楼主,现在学什么编译器好好啊?请教!

使用特权

评论回复
16
1018954083| | 2013-1-3 19:03 | 只看该作者
:lol:lol

使用特权

评论回复
17
zjwyczj|  楼主 | 2013-1-4 15:29 | 只看该作者
明月小厨 发表于 2013-1-1 21:41
ADS还有人在用吗?

当然有人用,你用的什么?IAR?MDK?还是DS-5?

使用特权

评论回复
18
zjwyczj|  楼主 | 2013-1-4 15:30 | 只看该作者
1018954083 发表于 2013-1-3 19:03

我是学ADS开始的,其实到最后各种编译器功能很多都差不多

使用特权

评论回复
19
zjwyczj|  楼主 | 2013-1-4 15:33 | 只看该作者
ma411246470 发表于 2013-1-2 14:50
我现在的公司就是叫我弄DSPC6727...然后没人代叫我自己学,公司的人都只会单片机和FPGA。第一次接触DSP,根 ...

哥们,要相信自己,公司环境很重要,我经历过的。

使用特权

评论回复
20
zjwyczj|  楼主 | 2013-1-4 15:34 | 只看该作者
明月小厨 发表于 2013-1-1 21:42
ADS+ARM7真的非常烦人;汇编一点点都不懂,看的很累;

多看看书,查查资料会学会的,慢慢来,每个人都有刚开始的时候

使用特权

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

本版积分规则

40

主题

204

帖子

2

粉丝