【从零到一的Raspberry】树莓派踩坑实录(一)系统安装与简单开发

写在前面

  本系列作为树莓派上手记录,同时将本人的踩坑以及参考进行记录汇总,必要时罗列出小组分工,作为《嵌入式软开》小组参考文件。

0 硬件准备

名称描述
树莓派3B支持wifi,包含了散热器、外壳、电源线等配件
网线感谢王emo同学提供的网线,用于SSH连接
TF卡闪迪32GB,可用16GB,这里用来存储树莓派系统
读卡器用来通过usb读写SD卡
PC一台最好是有网线插口的
USB扩网线口扩展坞(可选)轻薄本用,用来扩展出网线插口
显示屏HDMI(可选)经费原因,暂时没有

1软件准备

名称描述
windows系统win10 or 11
linux系统这里是ubuntu18.04
putty用于SSH连接
mobaxterm用于windows下SSH图形化SSH连接
交叉编译工具链具体见之后交叉工具链小节

2安装树莓派系统

进入树莓派软件下载网站https://www.raspberrypi.com/software/

点击
在这里插入图片描述
下载官方安装器的安装文件,
点进去然后下载,
下载完成后直接安装,安装好之后就有了Raspberry Pi Imager
在这里插入图片描述
这样一个树莓派安装工具。

此时,插入TF卡和TF卡读写器,然后首次使用先格式化TF卡,具体步骤如下
在这里插入图片描述选择擦除,然后选择SD卡选项选择我们的TF卡,最后点击写入就可以完成擦除。

之后再进行系统安装,没有特殊需要就选择第一个
在这里插入图片描述
目标选择TF卡,然后点击小齿轮进行高级设置
在这里可以先把SSH勾选上,填入SSH登录的用户名和密码,默认的用户名是pi,如果不想忘记就别改了
在这里插入图片描述然后点击Write就可以写入了。等待10~20分钟,就可以为TF卡写入树莓派操作系统,这个时候如果询问是否要格式化磁盘,选择否。

这个时候拔出并用读卡器重新插入TF卡,这时只有boot磁盘可见。打开boot磁盘,创建ssh(注意是小写,并且没有后缀),告诉系统需要开启SSH。

然后点击弹出磁盘,拔出TF卡。

这时就可以把TF卡插入到树莓派上了,注意卡槽的正反与形状是匹配的。

为树莓派接上电源线,按下电源线上的开关,这时候树莓派就已经打开了。

据说正在装系统,需要等待10分钟左右,等绿灯不再亮时系统就安装完毕了(这一点有待验证,反正我等了10分钟绿灯仿佛确实不亮了)

至此我们的树莓派系统已经安装完成。
下面我们拿出网线和USB转网口扩展坞(因为我是轻薄本),开始实现树莓派SSH连接。这是因为我们没有屏幕,需要通过命令行来操控系统,而SSH就是一种方式来将树莓派的命令行投影到PC上,使得PC可以通过屏幕上的命令行来对树莓派进行文件读写访问、状态查看与操控。

3 树莓派与电脑的有线连接

  SSH连接之前,需要让树莓派连上网络,从而让树莓派拥有IP地址。下面讲述如何让树莓派通过有线连接访问网络。

3.1 windows与树莓派的网线连接

  这里的教程是在windows上通过SSH访问树莓派的方法,参考了
https://blog.csdn.net/qq_49895299/article/details/119456981的方法。首先打开网络设置,
在这里插入图片描述  点击"更改适配器选项"
在这里插入图片描述
  然后用网线连接树莓派和电脑,为树莓派上电,我这里因为是轻薄本,所以网线通过扩展坞和电脑接在一起,网线另一端接在树莓派网口上。
  插上网线后与树莓派连接后,下面的更改适配器选项界面除了你的wifi应该会出现新的一个没有打叉的网络,比如我是在下图的基础上出现了一个以太网3(图上暂时没有显示出来)
在这里插入图片描述
  记住这个新出现的没有打叉的有线连接的名字(我这里叫以太网3),然后双击上图中的WLAN,选择属性
在这里插入图片描述
  在共享中把两个框都打上勾,并选择与树莓派有线连接的以太网名称
在这里插入图片描述  配置完成后点击确定。下面来寻找树莓派的IP

  win+R键输入cmd来运行cmd,windows11可以试试右键打开powershell
在这里插入图片描述
  输入arp -a
在这里插入图片描述
  如图中所示,10.0.225.16是本机(PC)的地址。而图上10.0.224.1是网关地址,10.0.231.255是广播地址。如果之前的都配置无误并且连着已经上电的树莓派,这时应该会出现以10.0.225开头的其他地址(除了本机地址、网关地址和广播地址之外的其他地址)。注意,由于网络连接的原因,你的网络不一定是10.0.225,可能是192.168.xxx,但是不影响,就按照以上步骤来做,找到树莓派的地址,ping一下,看看通不通,比如树莓派地址是10.0.224.30,在cmd中输入

ping 10.0.224.30

  看一下ping通不通,如果通的话会有响应,而不会一直卡着。如果不通就是前面步骤出问题了。
  找到树莓派网络地址之后,(这里假设是10.0.225.16,由于默认是DHCP动态分配地址,因此树莓派每次连上网线或者PC更换网络时需要重新查看地址),我们就可以使用SSH进行连接。
  NOTE:有时候重启PC会发现不了树莓派IP,这时候关闭网络共享,然后重新按照以上步骤设置一遍即可。
  关于寻找树莓派IP:
在这里插入图片描述
上面一段是WIFI的,打红圈的是PC ip,可以ipconfig查看,而下面一段是以太网的,打红圈的是树莓派ip,.1和.255结尾的是网关和广播,不是设备ip


3.2 Linux与树莓派的网线连接

参考这篇文章https://blog.csdn.net/yuejia2907/article/details/111569486
在linux下也是通过在terminal中输入arp -a找到树莓派开发板的地址。

4通过SSH,VNC访问树莓派

4.1SSH with Mobaxterm(仅仅支持windows)

  去mobaxterm官网下载mobaxterm
  对于mobaxterm软件的简单解释,还有SSH的简单解释,以及后文所示的如何传输文件等操作,这里交给负责的同学详述
  保持对树莓派的网线连接,假如按照上一节中,查询到树莓派的网络地址为192.168.137.4,打开mobaxterm,点击session
在这里插入图片描述  按顺序如下图操作,最后点击ok打开SSH
在这里插入图片描述
  打开之后输入用户名pi,密码123456,这是我们在第一节安装系统中设置的。成功之后我们就可以看到类似linux系统的树莓派的控制台了,可以在这里进行命令输入。此外,左侧是文件系统,可以为树莓派通过网络上传下载文件。至此,在windows PC上结合mobaxterm就完成了对树莓派的SSH连接。


4.2SSH with putty(both on win & linux)

  这里请负责的同学记录一下再linux下安装putty的记录和putty的简介。由于putty在windows和linux都可以用,但是windows上我们有更好的mobaxterm,因此只要在linux下安装一下putty即可。需要参考3.2节,在 linux有线连接的基础上进行探索。在linux中获取树莓派ip后再进行putty SSH连接。
在这里插入图片描述

  由于putty没有文像mobaxterm一样的文件传输UI,因此需要探索一下如何linux下使用putty传输文件到树莓派上。同时探索一些Linux其他的SSH工具(毕竟Putty显得太简陋了),这里尝试了FinalShell,安装的参考如下(介绍一下安装过程)
Linux安装FinalShell
在这里插入图片描述

4.3VNC with mobaxterm(Win)

参考这篇:树莓派使用MobaXterm实现SSH和VNC
实现效果如下
在这里插入图片描述

4.4VNC with Remmina(Linux)

  Ubuntu18.04自带了Remmina这个远程连接器,支持SSH、VNC等连接方式

在这里插入图片描述
  由于我们之前已经在树莓派中配置好了VNC,因此只要打开Remmina输入树莓派IP地址就可以直接VNC连接了,如下图所示。
在这里插入图片描述

5交叉编译

  交叉编译的定义是什么?这里不详述了,交给负责的同学。树莓派的交叉编译工具链有哪些,他们各自有什么不同,怎么安装,需要探索。我本人亲测arm-linux-eabi-gcc可用,但是树莓派提供的其他工具链可以用嘛?介绍树莓派github上所有的工具链,并尝试使用它们有什么区别,特别是arm-linaro-linux和arm-linux有什么区别等。负责的同学探索一下,可以参考以下内容并进一步探索。
https://blog.csdn.net/qq_48458789/article/details/123414776?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%A0%91%E8%8E%93%E6%B4%BE%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E5%B7%A5%E5%85%B7%E9%93%BE&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-123414776.142v59js_top,201v3control,213v1t3_esquery_v2&spm=1018.2226.3001.4187
  进入到数莓派工具github中,https://github.com/raspberrypi/tools,发现如下说明
在这里插入图片描述
  大意就是这个工具链已经不用了,现在仅仅需要gcc-arm-linux-gnueabihf就可以实现开发
  首先使用linux下简单建立一个hello.c文件,选择不同的工具链对其进行交叉编译。输入指令

file <目标文件>

来查看交叉编译生成文件类型(截图),目标文件是交叉编译时-o所指定的文件名。
  然后将生成文件传到树莓派中,这里参考4.2的步骤.
  需要探索一下windows下如何安装使用交叉编译器(即上述的树莓派的交叉编译器arm-linux-eabi-gcc),环境变量如何添加,如何在windows下进行交叉编译,下载到板子上,验证结果。

6交叉调试

  关于上次qemu-arm的交叉调试可以参考这篇,需要注意,树莓派的交叉调试可能与qemu有差别,负责的同学可以叙述一下大概区别
  https://www.cnblogs.com/liuhanxu/p/16245816.html
  在树莓派探索交叉调试之前,需要先建立一个文件用来交叉调试。你可以用arm-linux-eabi-gcc编译一个较为复杂的文件,比如编写几个函数,这样在交叉调试时不会太过于简单。此外,需要注意编译时加入什么参数让其可以输出调试信息,回顾 -g -Wal等参数。
  gdb交叉调试用的是什么工具?是不是gdb-multiarch?需要在树莓派上安装gdb-server吗?同时需要回顾gdb调试的一些常见的指令,如r,b,s等,这些不再赘述,由负责的同学实现。

7qemu-system-arm探索树莓派虚拟机

  最好是用双系统来进行实验.本人的设备是安装在机械硬盘上的ubuntu,在ubuntu里跑数莓派qemu还是较为卡顿,光开机就要花去差不多10分钟的时间.
  具体操作参考了<<树莓派 qemu模拟启动,构建arm环境;RASPBERRY PI ON QEMU>>
  首先去github上下载kernel:https://github.com/dhruvvyas90/qemu-rpi-kernel
  然后去清华镜像站里下载数莓派镜像:https://mirrors.tuna.tsinghua.edu.cn/raspberry-pi-os-images/raspios_armhf/images/raspios_armhf-2021-05-28/
  接着解压,mkdir新建一个文件夹,把这几个文件都放入新建的文件夹中
    kernel-qemu-5.4.51-buster

    versatile-pb-buster-5.4.51.dtb

    2021-05-07-raspios-buster-armhf.zip
  新建一个boot.sh文件,文件内容如下

qemu-system-arm
-M versatilepb
-cpu arm1176
-m 256
-drive “file=./2021-05-07-raspios-buster-armhf.img,if=none,index=0,media=disk,format=raw,id=disk0”
-device “virtio-blk-pci,drive=disk0,disable-modern=on,disable-legacy=off”
-net “user,hostfwd=tcp::5022-:22”
-dtb versatile-pb-buster-5.4.51.dtb
-kernel kernel-qemu-5.4.51-buster
-append ‘root=/dev/vda2 panic=1’
-no-reboot

  保存,同样存放在新建的文件夹下,并为其添加权限,chmod +x boot.sh
  然后执行 sh boot.sh就可以开启了
  需要注意,由于运行较慢,一开始图形化窗口是黑屏,需要耐心等待,过一会后出现命令行见面,仍需耐心等待,再过一段时间后才会出现数莓派图形界面.最终实现效果如下图所示
在这里插入图片描述

8小组分工安排

分工详述姓名
第二节+PPT汇总+展示跑通全部内容,VNC,qemu,交叉编译,SSH跨平台工具刘晨
第三节有线连接以及Linux下有线连接探索,包括对应内容文档和PPT,+报告汇总zjj
第四节软件与SSH,文件传输及其探索,包括对应内容文档和PPTgxr
第五节交叉编译,包括对应内容文档和PPTxlh
第六节交叉调试,包括对应内容文档和PPTlxr
第七节最好是双系统的同学,虚拟机探索,包括对应内容文档和PPTgdw
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值