原创 三星(s3c)2440启动代码(init.s)学习笔记

2009-7-2 21:20 2884 7 7 分类: MCU/ 嵌入式

今天看了一个天祥电子出的ARM视频,这个视频不是郭天祥老师讲的,而是另外一个人讲的


很显然,对于已经习惯郭天祥老师那种讲课风格的人来说,听另外一个人的课还真的很不习惯,讲课这人北方口音很重,由于我是南方人,他讲的有些词我还真没听懂,再者,从讲课的质量来说,显然这位讲课的老师对2440的启动代码也不是特别熟悉,有些地方讲得模棱两可,有的地方干脆一笔带过,对于初学者来说,这真是要命


然而大概的意思我还是听懂了:


三星2440启动代码全是由汇编写的,由于我的学习方向是ARM的C语言编程,所以对ARM的汇编指令不是很熟,要叫我逐条地分析这些启动代码我做不到,但是大概地说说启动代码的工作流程我还是知道一些的:


总的来说启动代码的作用就是为C语言搭建运行环境,因为里面有条语句是直接跳到C语言的Main函数(BL Main)


具体的工作流程是这样的:


1.关闭看门狗
2.屏蔽所有中断
3.设定系统时钟和主频
4.初始化内存和堆栈
5.建立中断服务程序                等等


对于初学者来说,自己编写启动代码估计是不可能的(牛人除外),所以我们每次编程的时候只需要把人家已经编写好的启动代码添加到工程中就可以了,如果有需要,可以对个别地方做细微的修改即可


由于本人是ARM初学者,刚刚接触启动代码,上述内容难免有疏漏之处,请大家斧正。。。。


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /3 下一条