【ARM原理学习】-LED灯点亮驱动编写

Makefile的作用是啥?mkv210-image.c的作用?

Makefile是用来管理工程的,在一个正式项目中,可能出现十几个c文件,不可能一个一个进行编译,影响工作效率,这样很所以此时就用Makefile。

书写规则:

目标:目标顶格写,后面是冒号,冒号后面是依赖;

依赖:依赖就是达成目标的原材料;

命令:命令前面一定是Tab,不能是顶格,更不能是多个空格;命令就是要生成目标要执行的动作。

     链接器得到的led.elf其实是我们的可执行文件,如果在操作系统下用led.elf完全就可以了,但是在裸机中,我们需要的是可以烧写的文件(也就是镜像文件),因此我们得先用led.elf来制作镜像文件,制造工具是交叉编译链中的arm-linux- objcopy.

arm-linux-objdump工具进行反编译(反汇编 ),将可执行文件翻译成汇编语言!

  SD卡启动时需要头校验,在led.bin前面加上16字节头校验就形成了210.bin

我们编译链接时只得到了led.bin,210.bin的得到和交叉编译工具链是完全无关的,由led.bin得到210.bin的过程是三星的S5PV210所特有的, 因此需要我们自己去完成,为此我们写了mkv210-image.c来完成,因此可以知道mkv210-image.c的作用就是增加头校验。

在正点原子的阿尔法裸机中,给bin文件加头校验的这个工作是由一个叫做imxdownload的软件直接完成的,他们将mkv210-image.c里所执行的功能直接封装成了一个软件,其最终目的是一样的

  以下是裸机启动过程与这部分知识的一个解读:

       

一步步点亮LED

     首先应该看硬件图,知道硬件LED对应的是哪一个GPIO,通过查阅硬件原理图可知,在三星的210中,有4个led灯,分别对应GPIO-* !

因为硬件是需要软件操作,其实就是用软件操作寄存器,然后查阅数据书册,了解与其相关的寄存器。

 后面的这个死循环可以用 b.来代替;代表当前这一句指令的地址,这个就是高大上的死循环!

如何实现灯的闪烁呢?

汇编中实现延时的原理就是,在程序需要延时的地方增加一些没有实际意义的废代码,以此来达到延时的要求。

bl指令可以实现函数调用;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值