本帖最后由 fbhsy 于 2019-10-16 17:41 编辑
----之“逐飞RT1064库” 各位车友好,此次开源带来的是继“逐飞RT1021库”开源后的又一个福利,自此,逐飞科技已经开源了KEA库,LPC库,RT1021库。这次带来的是RT1064的开源库。其实发帖前,库已经在git上开源,这次发帖是想通过论坛正式公布一下,同时,逐飞RT1064的核心板也已经同步销售,完全适配该开源库的各项应用,想撸RT1064的可以入手核心板啦,随后也会发布一款适配RT1064的彩色摄像头(“凌瞳”彩摄),希望大家多多支持逐飞科技,这也是我们不断的做开源服务的动力。 我们做开源库的目的是为了让前期比较盲目的初学者能通过我们开源库快速上手,不被门槛拦在外面,讲真,如果按照目前的智能车竞赛难度以及NXP主推的MCU的复杂程度来看(比如RT1064),小白还是挺困难的,想尽快入门,想尽快的把高性能单片机使用起来,的确需要多查阅一些资料,去学习怎么使用这些高性能单片机的资源,我们做的工作也仅限于方便初学者能多一条路子把单片机用起来。同时,我们鼓励学有余力的车友们自己开发底层,这个过程会让你积累很多嵌入式开发的技能和知识。接下来开始分享介绍今天的主角——“逐飞RT1064库”。
版权声明:该开源库版权归成都逐飞科技有限公司所有,欢迎各位使用并传播该库程序,修改内容时务必保留逐飞科技的版权声明。未经允许不得用于商业用途或变相获利。
“逐飞RT1064库”使用官方的SDK作为最底层。然后将各个模块使用SDK的函数进行二次封装,提升易用性。当大家觉得库的功能不满足的时候就可以自己调用SDK的函数来实现更多其他的功能。建议大家通过我们的库来学习官方的SDK怎么使用,当自己学会怎么使用官方的SDK之后也可以直接使用SDK,这样的好处是没有多余的代码,降低自己代码的体积。我们并不希望用户只会用我们的库,只是通过这种方式降低前期学习门槛,只是提供一种入门学习渠道,引导初学者学习到更多的东西。
目前的“逐飞RT1064库”能实现芯片中如下功能模块的使用: ADC、FLASH、GPIO、IIC、IOMUXC、PIT、PWM、QTIMER、SPI、SYSTICK、UART、CAMERA_FLEXIO、CAMERA_CSI。 以下几个模块单独说明下:
GPIO模块 GPIO模块包含了通用IO控制与GPIO中断功能相关的函数。 FLASH模块 在车模调试的时候,经常需要保存一些参数,但是保存在RAM里面掉电就会丢失,一般大家的做法是保存在EEPROM里面。但是RT系列没有EEPROM,因此我们使用FLASH来模拟EEPROM。将数据保存在FLASH中掉电不会丢失。但是需要注意,我们的写的程序也是存在FLASH中的,因此在使用FLASH的时候最好从最后一个扇区开始使用。 PWM模块 一共有四个PWM模块,每个模块可以输出8路PWM信号。 QTIMER模块 一共有四个QTIMER模块,每个模块可以实现两路正交解码编码器的采集,对于有四路编码器需求的H车来说也是个不错的选择,同时逐飞正交解码编码器比带方向输出的编码器便宜20大洋,对于节省成本来说这个资源挺实用的。 CAMERA_FLEXIO模块 这个模块是通过FLEXIO实现的摄像头采集方案,一般不需要用户自己调用。只需要调用摄像头初始化即可直接使用。 CAMERA_CSI模块 RT1064具有专用于图像传感器的接口,CSI(CMOS Sensor Interface)接口内嵌DMA,不用占用单片机的DMA外设通道。
对于“逐飞i.MX RT1064开源库”在设计之初我们就是为了能够提供一个高性能的RT1064核心板给大家,因此我们从以下几个方面来提升RT1064的性能。 1.外置SDRAM加速: 该开源库将用户代码+中断函数+中断向量表在上电后自动加载到外置SDRAM。相较于官方库,可以实现更加迅速的中断响应及中断处理速度。极大地提升了运行速度。 2.优化TCM空间分配: 对于RT系列单片机内部的RAM分为ITCM、DTCM、OCRAM,但是仅仅只有ITCM、DTCM可以运行在600M的频率,OCRAM只有150M的频率,可以看出TCM的速度是最快的。因此库将DTCM的空间从默认的128KB提高到了448KB,可以提供更多的高性能TCM空间。便于保存更多更大的变量或数组。 3.指定代码运行位置: 提供了简单的方法以指定代码在不同的RAM内运行,当计算一些多而复杂的运算时,可以将代码放入ITCM内以获得最高的运行速度。具体可以参考开源库内的库例程。 4.支持快速GPIO与ROM API: 对快速GPIO提供了支持,快速GPIO最高能达到150M的IO翻转速率,以此实现更高的IO操作速率。提供了ROM API的支持,可以方便的操作片内的Flash以实现保存数据。
整个库和之前LPC54606、RT1021库一样支持IAR与MDK打开, 方便不同使用习惯的小伙伴们选择不同的编译环境。 库支持MDK软件和IAR软件打开,但是需要注意的是MDK使用得是5.24版本,IAR使用的8.32.4版本的。大约百分之95以上的同学都是选择的MDK或者IAR软件。只有极少数的同学选择使用GCC、MCUX等IDE。因此该开源库基本可以满足绝大多数同学的使用需求。 库的编写风格简单,只需要调用相应的函数即可使用芯片的对应功能,每个函数写有详细注释信息,前期的很多不明白,看看汉字注释就明白了。另外,我们还专门编写了库的使用例程,为大家展示了单片机各个模块如何使用。
话不多说,上干货,开源库的码云链接如下:
这也是我们第一次使用git进行开源,相较于使用百度网盘具有下载速度更快(不用开会员哦),方便用户随时进行同步。同时也方便我们更新和管理,以后的开源都会放在码云上。 里面包含入门教程,便于大家快速上手。
本期的库介绍就到这里了,大家在使用库的过程中如果遇到什么BUG,请及时联系我们!我们将尽快修复。PS:通过QQ群联系我们更方便,也方便大家讨论交流,QQ群技术交流平台(逐飞科技_智能车部落:179029047(已满,请加2群)逐飞科技_智能车2部:244861897),另外,不用两个群都加,加其中之一就行,如果发现库有BUG、或不足、或对库有什么建议,可以在群里提问或发表建议,也可与管理员私聊,保障该开源库有什么缺陷时可以及时得到解决。然后再分享给各位,形成良性循环。 最后,当然是欢迎大家购买逐飞新出的RT1064核心板以及其他硬件产品,你们的支持是我们开源的动力。再次感谢车友们的厚爱!
|