嵌入式应用开发之模块驱动移植教程

        前言:本篇主要面向小白的小伙伴,提供一些基础的模块移植教程,不涉及预处理指令类的移植教程。

#为什么要移植驱动

        这个问题,可以来说是显而易见的,在标准库的开发过程中,如果重新写一个模块的驱动,从串行通信开始写起,这是一个非常浪费时间的过程。

        于是这个操作就来了,移植别人已经写好的,模块驱动程序直接调用,现有驱动里面的库,去对模块进行开发,也就是占在巨人的肩膀上。

      这个移植使用标准库的话,能很大程度的节省写码时间,当然如果需要,熟悉这些通信的底层流程,不建议搞移植。

#移植有什么缺点  

        这种模块移植,是有缺陷的,讲个比方,就像连连看,找相同,相同芯片型号的可以移植,或者对标系列芯片的也可以移植,因为底层寄存器都是一样的。

        但是不同系列芯片,硬件驱动是不能移植的,移植程序也是这个样子的,同系列或者对标系列的芯片可以移植,不同系列芯片,有着不同的寄存器,不同的配置,不能进行相互移植驱动。

        不仅仅芯片需要对标,模块型号也需要进行对标,相同的才能进行相互移植驱动,通常会将模块商家,或者同行,提供的驱动进行移植应用。

        可能有的小伙伴会问不同系列的怎么移植,这种没有商家提供资料,找不到资料的,要么自己写,要么找型号有一点点差异的现有驱动,去改驱动里面的指令拿着数据手册定义的寄存器地址,还有一些预处理带位操作。

#移植涉及概念

        hardware文件:这个文件通常用来放置模块的驱动,这里有每个模块对应的  源文件(.c) 头文件(.h),这些文件里面放置着模块的驱动函数,当然有的工程模版不这样命名,命名虽然不一样,大家要有这么的一个概念。

       KEIL5中添加源文件:这里笔者个人习惯只添加,源文件不添加头文件,同时添加源文件还有头文件都可以的,或者只添加源文件,在KEIL5中添加源文可以看到源文件还有头文件里面的代码。

        引入头文件路径:每个模块的驱动,在hardware文件夹下都是,小的文件夹,每个文件夹的路径都要被引入,如果没有引入驱动文件目录就会进行报错,如下图所示。     

原文:..\..\app\main.c(11): error:  #5: cannot open source input file "rtc.h": No such file or directory

#移植外设驱动的过程

        首先准备好,被移植驱动的工程,开发的工程

        

        然后打开被移植工程文件,在hardware文件夹下,找到存放模块外设驱动的文件,一般是hardware(翻译硬件)文件,这里移植的是嘉立创的驱动,是放在bsp这个文件夹下面的, 这里笔者移植的是一个舵机驱动板的驱动

        打开文件复制,头文件(.c)还有源文件(.h),在开发工程bsp文件夹目录下,创建一个相同的文件夹名字(pca),放置复制过来的文件

      在工程文件的MDK文件夹目录下打开项目工程,在KEIL5的左侧添加源文件,同时添加头文件目录。

        右键之后,添加对应的源文件,添加源文件头文件都行,个人习惯添加源文件。

        添加完成之后,最后关闭。

        然后添加头文件路径

        选择玩之后,我们一路点ok  ok  编译完成之后,没有报错,就能进行调用,这个是简单的模块移植过程

                        欢迎指正,希望对你,有所帮助!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值