网站首页 > 文章中心 > 其它

树莓派适合go语言吗

作者:小编 更新时间:2023-09-22 08:21:14 浏览量:304人看过

如何编译arm linux的go

注:本文选用树莓派做测试,因为树莓派是基于ARM平台的.

①.、编译工具配置

据说下个版本的golang编译工具要使用golang自己来写,但目前还是使用C编译工具的.所以呢,首先要配置好C编译工具:

安装完成后可以输入 gcc --version命令验证是否成功安装.

golang使用git版本管理工具,也可以使用git获取golang源代码.推荐使用这个方法,因为以后可以随时获取最新的golang源代码.

在终端cd到你想要安装golang的目录,确保该目录下没有名为go的目录.然后以下命令获取代码仓库:

git clone

大陆地区可能会获取失败,在不翻墙的情况下我试了几次都没成功,原因大家都懂的.好在google已经将golang也托管到github上面,所以也可以通过下面命令获取:

主要有GOROOT、GOOS、GOARCH、GOARM四个环境变量需要设置,先解释四个环境变量的意义.

主要代表golang树结构目录的路径,也就是上面git检出的go目录.一般可以不用设置这个环境变量,因为编译的时候默认会以go目录下src子目录中的all.bash脚本运行时的父目录作为GOROOT的值.为了保险起见,可以直接设置为go目录的路径.

分别代表编译的目标系统和平台,可选值如下:

GOOS GOARCH

freebsd arm

linux arm

netbsd arm

需要注意的是这两个值代表的是目标系统和平台,而不是编译源代码的系统和平台.树莓派的RaspBian是linux系统,所以这些GOOS设置为linux,GOARCH设置为arm.

export GOROOT=你的go目录路径

export GOOS=linux

export GOARCH=arm

环境变量配置完成自后就可以开始编译源代码.在go目录下的src子目录中,主要有all.bash和make.bash两个脚本(另外还有两个all.bat和make.bat脚本适用于window平台).编译实际上就是执行其中一个脚本,两者的区别在于all.bash在编译完成后还会执行一些测试套件.如果希望只编译不测试,可以运行make.bash脚本.使用cd命令进入go下src目录,执行./all.bash或者./make.bash命令即可开始编译.由于硬件情况不同,编译耗费的时间不同.在我的B型树莓派编译过程花费了将近半个小时,编译完成后执行的测试套件又花费了差不多一个小时,总共花费了一个半小时左右.

export PATH=$PATH:$GOROOT/bin

保存后同样执行source ~/.bashrc命令让环境变量生效.

至此,golang源代码编译安装成功.执行go version应该就能看到当前golang的版本信息,表示编译安装成功.

树莓派为什么采用python语言为主要开发语言

树莓派其实是一个小型的linux系统,功能非常强大的,除了python外,C、C◆◆、Java、perl,php、shell等编程语言都能用,连go语言都可以.

选择python是因为可读性强,容易上手,写代码有效率.

树莓派可以用go语言写吗

可以的.树莓派是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,树莓派可以用go语言写的.Go是Google的RobertGriesemer,RobPike及KenThompson开发的一种静态强类型、编译型语言.

# 手摸手教你使用 树莓派 go语言 点亮一个led

说明:这里笔者使用 gobot框架

官网:

执行下面命令:

命令执行完成后,会生成一个main的二进制文件,那个就是我们的程序

备注:如果你想编译其他版本的树莓程序?修改 GOARM 即可

备注:总结后面有上传脚本 ^?_?^

①请确保你已经连接到树莓派了

执行上传命令:

进入 /home/pi (就是你刚上传的文件路径)

运行它: ./main

good luck!

①上传文件的时候,请注意命令

在前一小节中介绍了点亮第一个LED灯,这里我们准备进阶尝试下,输出第一段PWM波形.(PWM也就是脉宽调制,一种可调占空比的技术,得到的效果就是:如果用示波器测量引脚会发现有方波输出,而且高电平、低电平的时间是可调的.)

这里爪爪熊准备写成一个golang的库,并开源到github上,后续更新将直接更新到github中,如果你有兴趣可以和我联系. github.com/dpawsbear/bear_rpi_go

我在很多的教程中都看到说树莓派的PWM(硬件)只有一个GPIO能够输出,就是 GPIO1 .这可是不小的打击,因为我想使用至少四个 PWM ,还是不死心,想通过硬件手册上找寻蛛丝马迹,看看究竟怎么回事.

根据以上两个图对比可以发现如下规律:

为了验证个人猜想是否正确,这里先直接使用指令的模式,模拟配置下是否能够正常输出.

小节:树莓派具有四路硬件输出PWM能力,但是四路中只能输出两个独立(占空比独立)的PWM,同时四路输出的频率均是恒定的.

因为拿到了手册,这里我想直接操作寄存器的方式进行设置,也是顺便学习下Go语言处理寄存器的过程.首先需要拿到pwm 系列寄存器的基地址,但是翻了一圈手册,发现只有偏移,没有找到基地址.

以下是demo(pwm) 源码

树莓派可以使用哪些系统

树莓派是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux.随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派.

树莓派虽小,但五脏俱全,和普通电脑无异.电脑能做的大部分事情,在树莓派上都能做,而树莓派以其低能耗、移动便携性、GPIO等特性,很多在普通电脑上难以做好的事情,用树莓派却是很适合的.

拓展资料:

树莓派由注册于英国的慈善组织"Raspberry Pi 基金会"开发,Eben-Upton/埃-厄普顿为项目带头人.

树莓派百度百科

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章