嵌入式系统驱动开发流程(一)

       为系统运行适配平台的cpu内核为ppc603,cpu型号为mpc8247。嵌入式系统驱动开发,这里,我所专注的层次为bsp层。万事万物皆有开头,而这里关于系统bsp层的开头就“住在”start.s文件中,今天就来一探其中的究竟。

文件最开头定义的是堆栈的大小,为64k。

接下来所做的工作是对核的几个关键寄存器进行初始化,如下图所示:

图中的注释已经阐述的比较明白了,对于每种寄存器在这里就不展开具体介绍,大家如果感兴趣可以去看相关的说明手册。

接下来,到比较关键的部分了,话不多说,先上张截图压压惊

要熟悉start.s中的流程,还需要了解powerpc平台中的汇编语言,以上有几个指令这里还是介绍一下分别为:li 、mflr、lwz、stw。

li:立即数加载指令,何谓立即数相当于高级语言中的常量,它是直接出现在指令中的数,不用存储在寄存器中或存储器中的数(度娘说的),所以这里, li r0, 0,意思是将r0中的值设置为0。

mflr:Move From Link Register,取出链接寄存器的值。这里,mflr r4,意思是将链接寄存器中记录的地址放入r4中,也就是说r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值