完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`前言: 最近看了看Google的Go语言,发现有点意思,这个开源的项目准备用golang来实现。 其实开发板本身的驱动程序已经实现了各个功能,但是有的时候在使用中有些麻烦,有可能需要修改dts文件重新编译内核才能够使用某个功能,所以打算开发这个UIO驱动的开源项目,方便程序的编写。当然,UIO也不是万能的,比如中断,目前我还没有找到好的方法,可以完全抛开内核版本的差异导致需要重新编译驱动来提供中断消息。 按照惯例首先还是先从Go语言的介绍、开发环境的安装开始,然后稍微讲解下本项目所涉及到的Go的语法,后面再来看看整个工程的文件组成及各个库的使用方法。 由于瑞芯微的开发参考手册一般不对个人开放,但是经过天启科技公司(后文简称Firefly)的努力,公布了全部源代码 及 部分的文档,使开发能够顺利进行,所以这个开源项目基于Firefly-RK3288开发板的Lubuntu环境下开发。 Go语言是谷歌2009发布的第二款开源编程语言, 专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程,而且可以在不损失应用程序性能的情况下降低代码的复杂性。 虽然Go尚未成熟,但谷歌旗下App Engine和其他部分产品已经开始使用go语言来编写,Go的网站就是用Go所建立。该软件是专为构建服务器软件所设计(如Google的Gmail)。Google认为Go还可应用到其他领域,包括在浏览器内执行软件,它将成为互联网时代的C语言。 Go可以编译为本地原生程序,编译后的程序已经包括了运行时库,单单一个文件在部署时直接扔到其他板子同种平台上即可直接运行,非常方便。同时使用Go建立的工程,只要不牵扯到操作系统特有的功能或接口,可以不做改动直接在Windows、Linux、ARM上编译,并且现在已经支持Android的开发(1.4版),预计下一版将支持IOS的开发。这些特点和Free Pascal是一样的。 Go目前欠缺的地方:暂时没有图形界面(官方未发布),暂时没有专用的开发工具(ARM Linux上则更少) 随着物联网技术的兴起,使用Go的高并发特性来实现控制服务器将会大大提高运行的性能简化开发的难度,而且可以作为一个节点控制着各种外设。这个节点设备甚至可以是ARM系统,并且核心越多性能越高,所以本次开发采用了高性能的Firefly-RK3288开发板进行开发。 提到Firefly-RK3288开发板,我不得不再次赞一下,这个开发板的设计非常用心,各种元件的安排不拥挤、不松散,赏心悦目。至于RK3288的性能就不用说了,同种方案的平板性能测试已经非常详细了。 OK,板子说完了,再说说Go语言编译环境吧。在Lubuntu下安装Go非常简单,可以直接从新立德里搜索安装。不过呢,这里的版本有点低,1.2x。现在1.4.2已经发布了,自己编译一下也不麻烦,而且这个板子的性能很高,包括所有的测试在内也就10分钟左右。 下载,到https://github.com/golang/go下载zip文件或者直接git,不习惯的话去http://golangtc.com/download直接下载tar.gz包也可以。 安装,最省事的方法是解压到/home/go里,然后进入到src目录,运行all.bash就开始自动编译了。大约10分钟左右,编译完成,打开/home里的.profile文件,在最后添加: 保存重启,Go的环境已经搭建好了。 接下来,安装一个比较方便一点的编辑环境吧。Go语言目前还没有专用的IDE开发环境,一般在Windows上或Linux使用LiteIDE、Ecplise、 SublimeText等,不过到了ARM环境下由于源里的版本比较低,用起来麻烦,所以在试了几个工具后发现gedit和Geany还可以。 这里就以Geany为例进行安装。还是到 新立德 搜索Geany,版本是1.23,默认已经支持Go的高亮和代码自动完成功能了。安装的东西很少很快 |
|
相关推荐
5 个讨论
|
|
只有小组成员才能发言,加入小组>>
1023 浏览 0 评论
【KV260视觉入门套件试用体验】四、KV260 视觉入门套件和固件更新
1595 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI Library体验之OCR识别
1194 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI 通过迁移学习训练自定义模型
1693 浏览 0 评论
【KV260视觉入门套件试用体验】KV260系列之Petalinux镜像+Resnet 50探索
1358 浏览 0 评论
【AMD KV260视觉入门开发套件试用】4、简单几步体验ubuntu 20.04.3 LTS运行人员检测应用
1649浏览 1评论
2020浏览 1评论
【KV260视觉入门套件试用体验】老刘记事儿KV260初体验之Micro-SD选型提速研究(三)
884浏览 1评论
【KV260视觉入门套件试用体验】KV260部署yolov3实现车辆和行人检测
2551浏览 1评论
【KV260视觉入门套件试用体验】基于KV260的人脸识别的实现与展示
890浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 15:49 , Processed in 0.473197 second(s), Total 52, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号