[其他相关] 【2024 DigiKey 创意大赛】环境搭建

1084504793   2024-8-25 10:17 楼主

    在收到开发板前就开始准备一些配件,如树莓派需要的内存卡、HDMI线和电源。由于之前没有接触过树莓派和ESP32,所以环境搭建比较曲折,尤其是树莓派系统的烧录。

    先来说一下树莓派系统烧录遇到的问题。在网上也查了很多的资料或视频,都是按照教程的方式使用官方软件制作系统,但是上电后发现树莓派的指示灯先亮红灯,之后红灯灭绿灯闪烁4次,熄灭一段时间后,绿灯又再次闪烁4次,就这样反反复复的,和网上说的长亮是不一样的。树莓派接上HDMI线后,发现屏幕不亮,显示的是没有信号。刚开始以为是接的显示器是电脑显示器,没有网上常用的7英寸专用显示器,所以怀疑是树莓派识别的显示器是不支持的,没有输出HDMI信号,所以在网上查了如何强制显示。后来根据网上的教程修改config.txt文件的内容,但是还是没有任何效果。后来不断地换其他的系统,如32位的(刚开始制作的是64位的),无桌面版的等等,换完之后也是修改config.txt文件内容进行尝试,但是没有任何的变化。就这样浪费了很多的时间。后来感觉灯闪烁是有规律的,随意也查了下指示灯亮或闪烁表示什么,在这个文章中树莓派 ACT LED 指示灯闪烁模式代表的状态 | 树莓派实验室 (nxez.com)也终于知道是因为start*.elf 文件未找到。有了眉目就开始找解决办法,无意见知道制作系统的软件可以修复boot文件,我还以为是我制作的内存卡的文件是boot文件且因为损坏才导致的,所以就在系统烧写完成后就点击boot修复功能,但是一直失败。不过文章写的最多的是内存卡的格式必须是FAT32的,但我买的是64G,FAT32最大支持32G,所以也用了技术文档的内存卡格式设置软件再重新制作系统,但是还是没有效果。所以又在网上买了32G的内存卡,并且也是带有系统的。收到货后就立马试了一下,但是和之前的现象也是一样的,然后就问售后该如何解决,说是接上网线试试,但是接上网线后网口的灯是没有亮的。中间也想着用串口试试,看看打印是什么内容。但是串口不能用杜邦线接,引出的针脚也有串口,所以试了一下,一直打印乱码,换了所有的波特率也是显示乱码。

    最后无意见将擦除完的内存卡烧写一下boot修复文件试试,竟然发现烧写成功了。内存卡用的是64G的,用官方软件擦除的。烧写成功后,没有做其他的事,就直接装到树莓派上,发现指示灯频繁闪烁,直至因闪烁频繁而感觉一直是长亮,因为有些文章说树莓派读取内存卡的文件绿灯会闪烁。在烧写完修复文件后,也是好奇看了文件内容,发现没有多少的文件。打开config.txt文件后写有若boot修复成功后,HDMI接的显示屏会显示绿色。所以接个显示屏看看效果,发现果真是显示绿色的。然后拔出内存卡,烧写正式的64为Raspberry Pi OS系统。树莓派插上内存卡,接上显示器上电后发现指示灯长亮,显示器正常显示树莓派的桌面。写了这么多就是想分享一下自己解决问题的思路和经验,也希望对大家有所帮助。不过现在回想起来要是刚开始就擦除完内存卡数据后就烧写boot修复文件就不会这么曲折了,但是第一次接触树莓派,以为boot引导系统是在内存卡上的,因为我看设备芯片也没发现有什么存储数据的芯片,所以一直以为是内存卡的问题,还以为树莓派不支持这种内存卡。后来才在一些技术文档中才知道boot引导程序是在树莓派上的EEPROM上,可能是在散热片下,这个就以后考究了。

    树莓派烧写boot引导系统的方法。

image.png  

image.png  

    接下来是ESP32环境的搭建。这次我选择Arduino环境开发ESP32,因为觉得该环境相对来说比较简单,上手快。之前也是没有接触ESP32和Arduino,所以Arduino环境支持ESP32开发也是用了两天的时间,主要消耗在ESP32支持包的下载。不过可以借鉴某个机构的ESP32开发教程,其中就有快速搭建Arduino环境的教程,可以说是分分钟的事。

ESP32的Arduino环境搭建如下图

image.png  

回复评论 (2)

最后无意见将擦除完的内存卡烧写一下boot修复文件试试,竟然发现烧写成功了。

之前哪些失败是怎么回事呢

点赞  2024-8-25 21:42
引用: Jacktang 发表于 2024-8-25 21:42 最后无意见将擦除完的内存卡烧写一下boot修复文件试试,竟然发现烧写成功了。 之前哪些失败是怎么回事呢 ...

内存卡已经安装好系统后是不能刷boot修复文件的,必须是空卡才可以。

点赞  2024-9-12 15:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复