智能车制作
标题: KL25终于有了自己的库,KL25库开源公布 [打印本页]
作者: bydes 时间: 2014-11-6 18:33
标题: KL25终于有了自己的库,KL25库开源公布
本帖最后由 bydes 于 2014-11-6 18:45 编辑
KL25终于有了自己的库,KL25库开源公布
[attach]71330[/attach]
[attach]71329[/attach]
[attach]71328[/attach]
[attach]71327[/attach]
[attach]71326[/attach]
[attach]71325[/attach]
[attach]71324[/attach]
[attach]71323[/attach]
[attach]71322[/attach]
[attach]71321[/attach]
[attach]71320[/attach]
[attach]71319[/attach]
[attach]71318[/attach]
[attach]71317[/attach]
[attach]71331[/attach]
一、库文件公布原由:对众多飞思卡尔智能车的学习爱好者而言,大家都知道一个芯片底层函数库的作用,对于一个新的芯片,如果没有封装好的底层函数库,我们就必须参考芯片的技术手册,一步步的来配置相应的寄存器,而这些寄存器的配置都是相当晦涩难懂与枯燥无味的。如果让一个初学者从这里开始学习智能车程序的编写,是相当艰难的,不是有相当大毅力的学习者可能在这步就停止了,大浪淘沙这里就滤掉了一大批。为了降低KL25学习的台阶,使更多飞思卡尔智能车的车友能迅速入门和使用这款cortex-m0+内核的控制芯片,我们耗费心力封装了专属于KL25的底层函数库,让车友们零基础也能很快的熟悉使用这款芯片。做过底层函数封装的开发者可能知道开发一个底层函数库的艰辛之处,但对于好多人来说可能不知道这其中是一个怎样的过程。每推出一款新的芯片,飞思卡尔官方其实都已经封装了相应的芯片底层库(图1-1),但是通常我们没有直接使用其官方的库,之所以有这种现象出现的原因,一则是因为官方给的库封装不是很完善和完整,二则是因为官方给的库不是很方便大家使用。[attach]71301[/attach]
图1-1 飞思卡尔官方KL25底层库
二、库文件参考及感谢相应开发者1、感谢王宜怀老师。在这次封装KL25的过程中我们参考了很多资料(图1-2),这其中首先要感谢王宜怀老师,因此我们在征求了王老师的意见后,我们的部分外设库都是参考借鉴的王宜怀老师开源给我们的资料(图1-3),[attach]71302[/attach]
图1-2 王宜怀老师提供的资料
图1-3 苏州大学王宜怀老师关于KL25的底层库
但有点美中不足的是,王宜怀老师封装的库都是用飞思卡尔的官方的CW编译器编译的(图1-4),但是相信大部分智能车的车友还是倾向于使用IAR编译器,所以我们把王宜怀老师所有的CW外设都移植到了IAR编译器中。
[attach]71304[/attach]
图1-4 CW编译环境下的库
为了保证KL25函数库的完整性,在王宜怀老师已有的外设库基础上,我们又添加了很多其他智能车制作必须的外设库(图1-5),务求保证我们的KL25函数库完善和完整,在一般单片机GPIO、ADC、PIT等功能外设模块的基础上,我们还添加了CCD、陀螺仪、舵机驱动、电机驱动、速度采集、OLED显示、捕食者摄像头、按键输入等必须外设的驱动代码,使用时用户只需要根据自己对引脚进行相应修改就好了。这样做的目的就是让智能车爱好者,可以直接调用相应的库,极大的方便了智能车爱好者对于底层的苦恼。
[attach]71305[/attach]
图1-5 蓝宙kl25完整封装库
2、感谢野火团队。为了保证使用的方便性,加之目前K60芯片在智能车制作过程中的广泛应用,因此我们库按照原来的K60函数库的形式进行封装,在K60底层函数库的封装过程中,我们参考了野火的《三天入门K60》,此次KL25函数库的封装过程我们也借鉴了一些野火封装K60库的方法来封装KL25,从而使KL25的使用和K60一样方便,为了感谢野火的开源精神,我们在库文件引用野火相关例程都做了引用野火的注释,大家可以例程中看见,再次感谢野火团队和火哥!同时蓝宙KL25封装后也第一时间进行了开源,大家一起来分享,希望更多的人参与到开源,一起将飞思卡尔做的更加简单方便!(图1-6)。[attach]71306[/attach]
图1-6 蓝宙封装库
3、感谢飞思卡尔技术人员。基于蓝宙和飞思卡尔的合作关系,为了保证代码的正确性,我们还就KL25库封装过程中遇到的很多问题和飞思卡尔的工程师进行了多次交流和沟通(图1-7),感谢飞思卡尔工程师对我们提供的大力支持。
[attach]71307[/attach]
图1-7 与飞思卡尔技术工程师邮件
本着库文件能够形成一个风格,让广大智能爱好者,能够进行良好的程序移植的原则。故按照野火K60的风格进行KL25代码的整理和梳理。因为都是ARM系列单片机,故有许多地方可以借鉴和参考。站在巨人的肩膀成长的更快。故有一些代码是在K60上做的修改,但是相信各位深入了解代码的人都知道。芯片变化比较大,故需要对照数据手册进行一一对照和勘误,中间我们向飞思卡尔公司的技术支持和王宜怀老师都多次进行咨询。才形成目前版本的KL25库。后续我们按照这个风格整理出更改的ARM系列单片机库,当然更希望飞思卡尔能出相关的库文件,这样对广大爱好者是更改的帮助。下面这些代码是参照野火K60代码:[attach]71308[/attach]
[attach]71309[/attach]
该文件中部分元文件是参考飞思卡尔CW10.3例程、野火K60的底层库、王宜怀老师库文件,当然中间的大多数是直接在苏州大学王宜怀老师的相关资料中进行修改得到了,因为文件较多,这里就不一一列举,比如[attach]71316[/attach]是参考野火进行更改[attach]71310[/attach]是参考苏州大学王老师的。
底层库标准较多,还有部分程序是参考飞思卡尔原文件,这里面就不列出来了。三、模块封装举例-捕食者摄像头库详解尽管在开源代码中添加了好多我们蓝宙特有的外设库,但是对于初学者而言,仍然存在看不懂我们写的代码的情况,为了使大家能更加透彻的理解我们的代码,后面我们将陆续讲解我们添加外设库的代码,以方便初学者更加方便和快捷的学习和使用我们的函数库,首先我以捕食者摄像头为例来说明。对于摄像头而言,最重要的几个信号脚莫过于行信号、场信号和数据引脚Y0~Y7了。但对于捕食者摄像头而言,我们添加了两根IIC的信号脚SCL和SDA,用于对捕食者摄像头的寄存器进行配置,我们之所以把捕食者摄像头寄存器的配置代码也开源出来是为了使我们的使用者能更灵活的配置和使用我们的摄像头,用户可以根据我们给出的捕食者摄像头的数据手册对捕食者摄像头的寄存器进行详细的配置以达到自己想要的效果。但灵活和复杂好像一直存在着互斥关系,我们给大家提供的灵活度越高,就意味着大家书写代码的任务量就会越大。在KL25的捕食者摄像头代码中,我们首先要关注的是捕食者摄像头的IIC配置部分(图1-8),我们代码中默认使用的是模拟IIC的程序,默认引脚为SDA----PTC11,SCL----PTC10,因为KL25输出和输入的寄存器不同,所以SDA的输出和输入我们分别配置为PTC的输出和输入寄存器。用户如果自己定义了其他的引脚可以在这里进行相应的修改。
[attach]71311[/attach]
图1-8 捕食者摄像头寄存器IIC配置
摄像头的寄存器配置完成后,我们就可以看到捕食者摄像头的行、场信号输出。程序中我们默认的行、场信号脚分别为PTA14和PTA17,如果大家定义的默认引脚与我们的默认程序与我们的不一致,需要更改引脚的的地方主要有三处(图1-9),首先是在main.c中修改行场中断的引脚,其次在landzopredator.c中修改行场信号的初始化引脚,最后需要在中断函数isr.c中修改中断的触发引脚号,如果需要定义的引脚没有事先进行中断定义,我们还需要重新再映射一下中断服务函数。
[attach]71312[/attach]
[attach]71313[/attach]
[attach]71314[/attach]
图1-9 捕食者摄像头行场信号脚
调整好行场信号脚,接下来我们可以调整摄像头的数据采集引脚,我们的KL开源例程采用DMA传输摄像头采集的数据,默认的数据传输引脚为PTD0~7,DMA触发引脚为PTA16(图1-10),如果大家需要改变数据传输的引脚只需调整PTD_BYTE0_IN即可,调整DMA的触发引脚则需要改变PTA16。
[attach]71315[/attach]
图1-10 捕食者摄像头Y0~Y7数据引脚
后续我们还会一一介绍其他外设的模块的代码例程。 本着开源的原则,埋头干事的原则,蓝宙公布一款单片机的库函数,让大家学习一款单片机更容易。热烈欢迎大家在该库上进行修改和发挥,进一步完善该库。蓝宙本次不但开源了KL25封装库,还同时开源了KL25系统板的相应资料。开源,让技术更加简单,希望能够为广大车友服务好,由于是第一版库资料,如果不足之处,或者大家有什么疑问或者建议,有问题欢迎通过站内信或联系蓝宙人员欢迎致电我司0553-5841830,我们将不断对库进行完善,给大家提供完整的飞思卡尔KL25开源库资料!
作者: 我们一起走过 时间: 2014-11-6 18:33
O(∩_∩)O哈哈~,沙发是我的啦
我们一起走过 于 2014-11-7 08:56 使用 抢沙发 抢夺本帖沙发
作者: bydes 时间: 2014-11-6 18:49
希望我们整理并编辑的KL25库对使用KL25的同学和老师有帮助!谢谢大家的支持!
作者: 浅醉 时间: 2014-11-6 18:50
沙发是我的。。。。哈哈哈。。。好多新技术啊
作者: bydes 时间: 2014-11-6 18:52
再次感谢王宜怀老师资料,野火团队MK60库以及飞思卡尔技术人员的支持才帮助我们完成了这次KL25库的整理,希望我们的开源行动利于大家更快的学习KL25单片机,让大家更快入门智能车比赛!
作者: 小纠结°_Foreve 时间: 2014-11-6 18:52
没抢到,伤心
作者: danielwan1994 时间: 2014-11-6 19:08
顶顶顶!支持蓝宙
作者: @求求 时间: 2014-11-6 19:08
KL25资料这么多啊,赶紧dowm一下,感谢蓝宙分享,新手,今年想用KL25,正愁没资料呢,谢谢蓝宙开源,赞一个!
作者: 泰庆电子 时间: 2014-11-6 19:08
赞!
作者: bydes 时间: 2014-11-6 19:09
浅醉 发表于 2014-11-6 18:50
沙发是我的。。。。哈哈哈。。。好多新技术啊
谢谢,我们将开源更多资料,方便大家学习!
作者: bydes 时间: 2014-11-6 19:10
小纠结°_Foreve 发表于 2014-11-6 18:52
没抢到,伤心
没事,下载到资料就行!
作者: bydes 时间: 2014-11-6 19:11
@求求 发表于 2014-11-6 19:08
KL25资料这么多啊,赶紧dowm一下,感谢蓝宙分享,新手,今年想用KL25,正愁没资料呢,谢谢蓝宙开源,赞一个 ...
我们会继续努力的,希望你们抓紧努力,你们的好成绩才是最好的回报!
作者: @求求 时间: 2014-11-6 19:14
bydes 发表于 2014-11-6 19:11
我们会继续努力的,希望你们抓紧努力,你们的好成绩才是最好的回报!
谢谢蓝宙,以后还希望多开源一些资料,我们这些新手迫切需要啊,为开源点赞!
作者: 洲洲0228 时间: 2014-11-6 19:14
谁抢了我的沙发,。。。。。。。。。。。多一种芯片,多一种选择。。。。。。。。:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol
作者: 芙筱粉贞 时间: 2014-11-6 19:21
可以好好学习一下啦,哈哈
作者: bydes 时间: 2014-11-6 19:22
芙筱粉贞 发表于 2014-11-6 19:21
可以好好学习一下啦,哈哈
同学你的热情我知道了,谢谢支持,真的!
作者: 浅醉 时间: 2014-11-6 19:28
新手来啰,感谢了
作者: 柳林省 时间: 2014-11-6 19:30
资料真的很全 是我见过给的最全的卖家了 非常值得信赖啊 以后绝对会一直来的。。。
作者: 那些花儿~ 时间: 2014-11-6 19:35
好多资料哦太给力了
作者: 傲凌 时间: 2014-11-6 19:38
顶
作者: Roy.. 时间: 2014-11-6 19:41
点赞
作者: Arive 时间: 2014-11-6 19:45
作者: D调华丽 时间: 2014-11-6 19:52
蓝宙这个方面还是可以的,能不能再多点开源资料,哈哈
作者: meng1qi2fan3@wh 时间: 2014-11-6 20:13
:):):)
作者: huhujiajia 时间: 2014-11-6 20:20
习惯KEIL了 不知道会不会推出KEIL版本的
作者: zxc131313 时间: 2014-11-6 20:30
有使用手册吗
作者: 763375164@qq.co 时间: 2014-11-6 20:38
:lol:lol:lol:lol:lol
作者: 努力生活 时间: 2014-11-6 20:52
谢谢蓝宙!
作者: 山外メ雲ジ_VCAN 时间: 2014-11-6 23:19
bydes 发表于 2014-11-6 18:52
再次感谢王宜怀老师资料,野火团队MK60库以及飞思卡尔技术人员的支持才帮助我们完成了这次KL25库的整理,希 ...
我们从来没有给过你们商业用途使用,我们的代码已经注明未经允许,不得用于商业用途,你删掉我们的版权声明,改成自己的,盗窃我们的劳动成果,你们这样子有意思吗?
拿我们开源的代码,改成是你们蓝宙开源,作为宣传,不觉得恶心吗?
[attach]71373[/attach]
作者: bydes 时间: 2014-11-7 00:13
努力生活 发表于 2014-11-6 20:52
谢谢蓝宙!
不用谢,不带任何商业目的,纯粹是为了学习!好好努力,学到东西才是王道!
作者: bydes 时间: 2014-11-7 00:14
zxc131313 发表于 2014-11-6 20:30
有使用手册吗
使用手册暂时还没有呢,后续拍视频吧!
作者: bydes 时间: 2014-11-7 00:14
柳林省 发表于 2014-11-6 19:30
资料真的很全 是我见过给的最全的卖家了 非常值得信赖啊 以后绝对会一直来的。。。
嗯,里面各种模块的例程,非常齐全,希望你喜欢!
作者: bydes 时间: 2014-11-7 00:16
那些花儿~ 发表于 2014-11-6 19:35
好多资料哦太给力了
太感谢了,希望继续支持我们!
作者: bydes 时间: 2014-11-7 00:17
D调华丽 发表于 2014-11-6 19:52
蓝宙这个方面还是可以的,能不能再多点开源资料,哈哈
后面继续开源资料,蓝宙智能车教学教育这块你放心,我们在全国已经建设了100多所高校的实验室,大量丰富的例程和资源,你也可以去摩尔吧看我们的免费视频教程!
作者: bydes 时间: 2014-11-7 00:18
泰庆电子 发表于 2014-11-6 19:08
赞!
哪儿都有你,呵呵,不过谢谢你的支持!
作者: 我们的故事很多 时间: 2014-11-7 08:54
我顶,我顶,我顶顶顶!!!!!!!!
作者: gsc617 时间: 2014-11-7 09:13
bydes 发表于 2014-11-6 18:52
再次感谢王宜怀老师资料,野火团队MK60库以及飞思卡尔技术人员的支持才帮助我们完成了这次KL25库的整理,希 ...
山外大神不是说你们蓝宙已经侵犯他们野火的代码版权了吗,你们还敢发布呀(佩服你们的勇气),
更劲爆的是也听说你们蓝宙公司要被山外大神收购了,是不是真的,要是真是这样倒也没什么关系了,
还分什么你我版权呀,你的就是我的,我的还是我的,反正都是一个公司了
作者: fighting001 时间: 2014-11-7 09:36
29楼亮了,我们这些初学者不关心商家之间的斗争,但是作为一个准备搞技术的菜鸟,觉得蓝宙这样做真的有些扯淡了,什么“一切为了学生,你们取得好成绩就是对我们最好的汇报”其实都是shit,各取所需而已,不必要打那么大的旗号,如果真正“埋头做事”,学长们也不会那样吐槽你们蓝宙了,每年都有新人进来,所以每年都能忽悠,恭喜你们。。。
PS:作为入门菜鸟,学长曾苦口婆心教过我“学习没有捷径,没有投机取巧,不要拿着商家的例程就以为是宝贝,因为你自己用心做的不但比他们的好,而且成长了你自己”。这句话分享给广大初学者。。。
在技术的道路上,我赞成脚踏实地。。。
作者: 葱葱哥 时间: 2014-11-7 10:09
顶顶顶!支持蓝宙
作者: bydes 时间: 2014-11-7 10:11
葱葱哥 发表于 2014-11-7 10:09
顶顶顶!支持蓝宙
谢谢,有你们的支持,才有前进的动力!
作者: zzt19931102 时间: 2014-11-7 12:40
我是个新手 请问底层库是哪一个 各位大神
作者: bydes 时间: 2014-11-7 13:57
zzt19931102 发表于 2014-11-7 12:40
我是个新手 请问底层库是哪一个 各位大神
每个里面都有底层库的,你下载下来就知道!
作者: D调华丽 时间: 2014-11-7 15:41
bydes 发表于 2014-11-7 00:17
后面继续开源资料,蓝宙智能车教学教育这块你放心,我们在全国已经建设了100多所高校的实验室,大量丰富的 ...
给个链接啊
作者: bydes 时间: 2014-11-7 15:51
D调华丽 发表于 2014-11-7 15:41
给个链接啊
你邮箱留下,这上面留外部链接也不好
作者: 杨先生 时间: 2014-11-7 16:04
留名
作者: 黑色枫夜 时间: 2014-11-7 17:07
赞啊
作者: bydes 时间: 2014-11-7 19:52
D调华丽 发表于 2014-11-7 15:41
给个链接啊
后面陆续放到智能车论坛里面!
作者: bydes 时间: 2014-11-7 19:53
黑色枫夜 发表于 2014-11-7 17:07
赞啊
谢谢支持蓝宙!
作者: bydes 时间: 2014-11-7 19:53
杨先生 发表于 2014-11-7 16:04
留名
谢谢,后面有新的资料也敬请关注!
作者: 沉默的萝卜 时间: 2014-11-7 20:13
赞!
作者: 【又一个黎明〗 时间: 2014-11-7 20:27
支持蓝宙!真好。
作者: wazyxfl 时间: 2014-11-7 20:35
棒极了
作者: bydes 时间: 2014-11-7 21:00
沉默的萝卜 发表于 2014-11-7 20:13
赞!
沉默的萝卜,谢谢你一直的支持!
作者: bydes 时间: 2014-11-7 21:00
【又一个黎明〗 发表于 2014-11-7 20:27
支持蓝宙!真好。
谢谢!
作者: bydes 时间: 2014-11-7 21:05
wazyxfl 发表于 2014-11-7 20:35
棒极了
谢谢!
作者: D调华丽 时间: 2014-11-7 22:23
bydes 发表于 2014-11-7 15:51
你邮箱留下,这上面留外部链接也不好
837852118@qq.com
作者: 小橙子 时间: 2014-11-7 23:22
真呵呵了
作者: 詹伟彬z 时间: 2014-11-8 14:12
bydes 发表于 2014-11-6 18:52
再次感谢王宜怀老师资料,野火团队MK60库以及飞思卡尔技术人员的支持才帮助我们完成了这次KL25库的整理,希 ...
对于你们这种行为 我表示呵呵呵呵呵呵
作者: 【又一个黎明〗 时间: 2014-11-8 16:52
支持 蓝宙哦
作者: 狂野的庄稼汉 时间: 2014-11-9 02:07
呵呵,山外牛X,写的库就是屌
作者: bydes 时间: 2014-11-10 08:20
【又一个黎明〗 发表于 2014-11-8 16:52
支持 蓝宙哦
谢谢支持!
作者: 【又一个黎明〗 时间: 2014-11-10 16:57
那个摄像头例程,为什么还是采集不出来图像。这是哪的问题啊/
作者: bydes 时间: 2014-11-10 17:22
【又一个黎明〗 发表于 2014-11-10 16:57
那个摄像头例程,为什么还是采集不出来图像。这是哪的问题啊/
可以先去联系一下技术客服,让他给你解决一下
作者: 【又一个黎明〗 时间: 2014-11-11 15:52
好的
作者: 清风123 时间: 2014-11-12 14:04
作者: 吕江涛 时间: 2014-11-13 12:37
为什么打开工程会出现这个??
作者: bydes 时间: 2014-11-13 15:15
吕江涛 发表于 2014-11-13 12:37
为什么打开工程会出现这个??
可以编译通过吗
作者: 吟咏 时间: 2014-11-13 15:28
作者: 吕江涛 时间: 2014-11-13 22:32
可以编译程序,但是下载程序没有成功?
作者: bydes 时间: 2014-11-14 08:36
可以联系一下我们的客服 会帮你解决
作者: 樹下聽雨ペ 时间: 2014-11-21 08:45
留名
作者: wjtgkwxt 时间: 2014-11-25 20:05
赞赞赞!!!顶顶顶!!!
作者: bigsun 时间: 2014-12-5 11:50
嗯,我也用kl25 的,好东西
作者: 风中溯 时间: 2014-12-7 18:48
挺好的,希望蓝宙可以推出更多的资料来方便我们用freescale单片机来进行嵌入式的学习
作者: 我★還是向日葵 时间: 2014-12-13 21:36
这个是怎么分的
作者: vegh 时间: 2014-12-29 19:46
有没sd卡的程序库
作者: vegh 时间: 2014-12-29 19:46
???
作者: xxxxxaoo 时间: 2015-1-14 21:08
...
作者: ♂_小激动 时间: 2015-1-27 09:19
:lol:lol:lol:victory::victory::victory:
作者: 箫声默 时间: 2015-1-28 09:55
作者: FAruba611 时间: 2015-3-29 17:12
:lol:lol
作者: tanzhi963 时间: 2015-5-7 12:29
不错不错 收藏下
作者: 让“孟”飞起来 时间: 2015-8-9 09:29
KL25做摄像头够用吗
作者: bydes 时间: 2015-8-9 10:11
够用的,蓝宙提供kl25摄像头的例程
作者: Itchy 时间: 2016-8-16 11:30
支持支持
欢迎光临 智能车制作 (http://111.231.132.190/) |
Powered by Discuz! X3.2 |