Jetson Nano扩展阅读1:使能硬件SPI

来自丢石头百科
Admin讨论 | 贡献2019年11月18日 (一) 14:28的版本 (摘要: Jetson Nano的40Pin接口SPI功能默认并未启用,本文小编将步步为迎,教你如何启动并使用硬件SPI。)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

一、前言 PC环境:Ubuntu18.04.2 LTS

JetsonNano环境:Ubuntu 18.04 LTS Jetson Nano的40Pin接口SPI功能默认并未启用,需手动修改设备树文件后写入根文件系统。因使用虚拟机刷写Nano易变砖,不建议用虚拟机。 二、重写设备树

使用非官方脚本文件来刷设备树,在PC端中点击图中Download ZIP下载脚本文件,github地址为https://github.com/rt-net/JetsonNano_DT_SPI,或点击右边附件下载<a class="attach" href="portal.php?mod=attachment&id=1586" target="_blank">JetsonNano_DT_SPI-master.zip



101914edum5xnxggzti0c5.png 下载后双击JetsonNano_DT_SPI-master.zip,解压到用户目录下


101949p7okfwod4paywxoo.png


102003ig8l83xxtj4mmax9.png

按下Ctrl+Alt+T打开终端,进入JetsonNano_DT_SPI_master目录,复制下面命令:

cd JetsonNano_DT_SPI_master/
./run.sh

输入用户密码,脚本开始自动下载根文件系统包和R32包。


102032z97h7ggz1177pmqg.png


若出现解压文件包错误,则先安装bzip2的1.0.6-8.1版本和支持库,复制下面指令进行安装,否则忽略下面一条命令:


sudo apt install bzip2=1.0.6-8.1 libbz2-1.0=1.0.6-8.1

下载根文件系统和R32包后,脚本自动替换设备树文件并写入根文件系统,接着界面提示Nano是否进入Recovery模式


102110gy1349jppe431szb.png


此时应将跳帽置Recovery引脚,J48引脚,MicroUSB接入PC,使用DC头供电


103737ytv7s573fy4nyae0.png


在终端输入y确认


103756j2gi3ll6msxseug2.png


刷写成功后如下图所示



103815vjz143rqb8li5jtl.png

此时可拔掉Recovery跳帽,MicroUSB,将跳帽置于40Pin的19和21引脚准备做Loopback测试。

103846nz4cl2ysyc3dccdl.png


三、SPI测试


Ubuntu下使用Termius等软件连接JetsonNano终端,使用wget命令下载spi_dev_test.c文件,复制下面指令:

wget https://raw.githubusercontent.com/raspberrypi/linux/rpi-3.10.y/Documentation/spi/spidev_test.c


104030a5v21sqd5t2t0tz0.png

使用vim打开并修改spidev_test.c文件,将32行的"spidev1.1"修改成"spidev0.0",不熟悉vim操作的用

户可参考 http://www.waveshare.net/study/portal.php?mod=view&aid=598 进行学习


104136q9bn19hnnhnj1mqi.png


编译执行刚才修改好的spidev_test.c文件,复制下面命令:

gcc -o spidev_test spidev_test.c
sudo ./spidev_test

104152z71lg7a1nun1qlmg.png


至此Jetson Nano的spi0可以使用了,下面测试Pioneer600的OLED功能,复制下面命令下载Pioneer例程

wget http://www.waveshare.net/w/upload/a/ad/Pioneer600_code.7z

安装解压工具并解压刚才下载的Pioneer600_code.7z文件,复制下面命令

sudo apt-get install p7zip
p7zip --uncompress Pioneer600_code.7z


104322lgh49ko0gongp9af.png


104344edm5u8vjdqm2mezr.png

解压后进入JetsonNano/OLED/python文件夹,复制下面命令令执行OLED显示:


cd JetsonNano/OLED/python/
sudo python3 waveshare.py


104432k18q8uwp3auzt1v1.png


104504dm2ua0varo82v8rx.png

其中Pioneer600的OLED与JetsonNano硬件连接如下图所示

<colgroup><col style="width: 155px;"/><col style="width: 166px;"/></colgroup><tbody></tbody>
OLED引脚 JetsonNano Board引脚
+3.3V 1
GND 6
CS 24
RES 35
DC 36
SCK 23
MOSI 19



104523j9vfcruvca7wvxuj.png


104534u4et7z0297144ea3.png

若未安装PIL库,OLED显示会失败,失败则先安装下面支持包,复制下面指令:

sudo apt-get install python3-dev python3-setuptools libtiff5-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev  tcl8.6-dev tk8.6-dev python3-tk
sudo apt-get install python3-pip
sudo pip3 install pillow




Tab标签: Jetson Nano

学习教程

入门教程

硬件SPI使用 配置