Jetson nano 系统安装

2023-05-16

Contents

  • Jetson Nano
  • 在 EMMC 上安装镜像
  • U 盘启动和 TF 卡启动
    • U 盘启动 (复制 eMMC 上系统)
    • TF 卡启动
  • 设置远程登录系统
  • SDK 安装
    • 使用 SDK Manager 安装
    • 使用指令安装
  • Linux 操作基础
  • 文件传输、系统备份
  • 风扇配置
  • AI 环境搭建
    • PIP3 安装
    • 安装机器学习领域重要的安装包
    • 设置 CUDA 环境
    • Tensorflow GPU 环境搭建
    • Pytorch 环境搭建
  • 硬件控制
    • Jetson-IO - 端口使能
    • 修改设备树使能端口
  • Camera
    • IMX219-83 Stereo Camera
    • Intel RealSense D435i (深度相机)
      • 安装 SDK 和 pyrealsense2
      • Python codes
  • 更多资料
  • References

我是直接购买的微雪 Jetson nano 开发板,它基于 Jetson Nano Module 核心板,提供与官方的 Jetson Nano Developer Kit (B01) 几乎一模一样的外设接口、大小及厚度

Jetson Nano

Jetson Nano Module 参数

在这里插入图片描述


JETSON-IO-BASE-A 底板资源

在这里插入图片描述

  • (1) 模组卡座:插入 Jetson Nano 核心板
  • (2) SD 卡扩展卡槽:可以接入 SD 卡做 SD 卡扩展,支持从 SD 卡启动系统
  • (3) M.2 Key E 接口:可接入 AC8265 无线网卡
  • (4) 1.25mm 风扇接口
  • (5) PoE 管脚:不含 PoE 模块
  • (6) 40 PIN GPIO 扩展接口:兼容树莓派引脚,方便就树莓派外设
  • (7) 2.54mm 风扇接口
  • (8) Micro USB 接口:可用于 5V 电源输入或者 USB 数据传输
  • (9) 千兆以太网端口:10/100/1000 Base-T 自适应,接入 PoE 模块可支持 PoE 供电
  • (10) 4 路 USB 3.0 接口支持从 USB 启动系统
  • (11) HDMI 高清接口
  • (12) DisplayPort 接口
  • (13) DC 电源接口:可用于 5V 电源输入
  • (14) 2 路 MIPI CSI 摄像头接口

在 EMMC 上安装镜像

如果购买的是微雪提供的带核心板的 Nano 套件,出厂的时候就已经预先烧好了 JetPack4.6 镜像在 emmc 上,且已经设置了 SD 卡识别,可以跳过这一步。如果需要修改 SD 卡启动,请查看使用手册修改启动路径即可

  • 安装过程可参考 系统环境搭建 和 在 EMMC 上安装镜像

U 盘启动和 TF 卡启动

  • 我们可以额外地烧录系统到 U 盘或者 TF 卡,然后从 U 盘或者 TF 卡启动系统 (因为 EMMC 容量较小,所以有必要把系统装在 U 盘或 TF 卡上)。U 盘启动或 TF 卡启动都是先启动核心板里的 EMMC 上的系统,再由核心板的系统引导到 U 盘上启动或 TF 卡上启动,因此在准备 U 盘启动或者 TF 卡启动时,必须先确保成功烧录 EMMC 系统。核心板里的系统可以使用虚拟机中的 SDK Manager 来烧录系统;TF 卡系统可以使用 Win32DiskImager 来烧录系统;U 盘里的系统使用虚拟机烧录

U 盘启动 (复制 eMMC 上系统)

系统安装

  • 将 U 盘接入 Jetson Nano,查看 U 盘的设备号, 例如 sda,打开 Jetson Nano 终端输入
ls /dev/sd*
  • 格式化 U 盘
sudo mkfs.ext4 dev/sda
  • 修改启动路径. 找到语句 APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0, 将 mmcblk0p1 修改为 sda 保存
sudo vi /boot/extlinux/extlinux.conf
  • 挂载 U 盘
sudo mount /dev/sda /mnt
  • 复制系统到 U 盘
sudo cp -ax / /mnt
  • 复制完成后卸载 U 盘(不是拔掉 U 盘)
sudo umount /mnt/
  • 重启系统
sudo reboot

TF 卡启动

设备树时能 SD 卡

  • 在 Ubuntu 主机安装 dtc 软件
sudo apt-get install device-tree-compiler
  • 进入 HW Imager 内核路径下,反编译 dts 源文件
# 若使用的 SDK Manager 软件请使用以下命令
cd ~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb #(针对不同jetpack,修改对应路径)
dtc -I dtb -O dts -o tegra210-p3448-0002-p3449-0000-b00.dts tegra210-p3448-0002-p3449-0000-b00.dtb
# 若使用的资源包请使用以下命令
cd sources_nano/Linux_for_Tegra/kernel/dtb
sudo dtc -I dtb -O dts -o tegra210-p3448-0002-p3449-0000-b00.dts tegra210-p3448-0002-p3449-0000-b00.dtb
  • 修改设备树
sudo gedit tegra210-p3448-0002-p3449-0000-b00.dts
  • 找到 sdhci@700b0400 部分,将 status = "disable" 改成 status = "okay",并在下面添加 TF 信息
cd-gpios = <0x5b 0xc2 0x0>;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
            
no-mmc;
uhs-mask = <0xc>;

在这里插入图片描述

  • 编译 dtb 文件
sudo dtc -I dts -O dtb -o tegra210-p3448-0002-p3449-0000-b00.dtb tegra210-p3448-0002-p3449-0000-b00.dts
  • 烧录系统,Jetson Nano 需进入 recovery 模式,连接到 Ubuntu 电脑
# 若使用的 SDK Manager 软件请使用以下命令:
cd ~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra
sudo ./flash.sh jetson-nano-emmc mmcblk0p1
# 若使用的资源包请使用以下命令:
cd sources_nano/Linux_for_Tegra
sudo ./flash.sh jetson-nano-emmc mmcblk0p1
  • 断开 USB 线和跳帽,进行 Jetson Nano 开机配置
  • 检查 SD 卡是否被识别. 如果有识别到 mmcblk1p1 设备,说明 SD 卡被正常识别了
sudo ls /dev/mmcblk*

安装系统 - 直接复制 eMMC 上系统 (该操作会格式化 TF 卡 )

  • 格式化 SD 卡 (如果出现提示已有文件系统就需要先卸载 SD 卡 sudo umount /media/(这里按下 Tab 键自动补全))
sudo mkfs.ext4 /dev/mmcblk1
  • 挂载 SD 卡
sudo mount /dev/mmcblk1 /mnt
  • 复制系统到 SD 卡(该过程没有信息打印请耐心等待)
sudo cp -ax / /mnt
  • 复制完成后卸载 SD 卡(不是拔掉 SD 卡)
sudo umount /mnt/

下载其他镜像

  • 也可以直接在 Github 下载 Jetson nano 镜像进行烧录,例如 A Jetson Nano - Ubuntu 20.04 image with OpenCV, TensorFlow and Pytorch (User: jetson; Password: jetson).

修改从 SD 卡启动系统 (可选)

sudo vi /boot/extlinux/extlinux.conf
  • 找到语句 APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0, 将 mmcblk0p1 改成 mmcblk1, 保存,然后重启系统即可

扩容镜像

  • 注意,如果 SD 卡是 64G 的,在进入系统后,打开终端,输入 df -h,查看磁盘大小,若空间大小显示小于 64G,可以按如下方法扩容镜像
cd /usr/lib/nvidia/resizefs/
sudo chmod 777 nvresizefs.sh
sudo ./nvresizefs.sh
sudo reboot

设置远程登录系统

  • 先用网线确保 Jetson nano 和主机在同一局域网下,再用 MobaXterm 远程登录即可。也可以用 NoMachineVNC 登录远程桌面,可参考 NoMachine 登录 和 配置 VNC 服务器

SDK 安装

  • 前面的系统安装的时候只是安装了基本的系统,其他的 JetPack SDK 组件,比如 cuDNN, CUDA, TensorRT, Computer Vision 等都需要在系统正常启动后进一步安装,这里提供安装 SDK 组件的步骤说明。若要安装该部分,请保证是在以 TF 卡或者 U 盘为主系统的情况下,因为下载内容可能会导致 EMMC 磁盘容量告急

使用 SDK Manager 安装

  • 用 USB 数据线连接 Jetson Nano 的 Micro USB 接口到 Ubuntu 主机 (不需要设置 nano为 recovery 模式),Ubuntu 主机电脑运行 sdkmanager 指令打开 SDK Managaer
  • 类似于前面烧录系统的操作,不同的是,在步骤 2 中,不勾选 OS 选项,而是勾选 SDK 选项, 然后 continue 到安装.在下载资源之后,会弹窗提示填写用户名和密码,填写 nano 系统的用户名和密码即可

使用指令安装

sudo apt update
sudo apt install nvidia-jetpack

Linux 操作基础

  • 可参考 Linux 操作基础

文件传输、系统备份

  • 可参考 配置

风扇配置

  • 系统自带温控系统,不必要情况可以不需要手动控制
# 风扇转速调节
# 255 是最大转速,0 是停止
sudo sh -c 'echo 255 > /sys/devices/pwm-fan/target_pwm'
# 获取 CPU 温度,可以通过程序智能控制风扇
cat /sys/class/thermal/thermal_zone0/temp

AI 环境搭建

  • 下面操作基于 JetPack4.6 系统镜像,Python 版本为 Python3.6,TensorFlow 版本为 2.5.0,Pytorch 版本为 1.9.0 为例

PIP3 安装

  • Jetson Nano 中默认安装了 Python3.6 版本,这里直接安装 PIP3
sudo apt update
sudo apt-get install python3-pip python3-dev
# 默认安装的 PIP 是 9.01 版本,需要把它升级到最新版
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade --force-reinstall pip
sudo reboot
# 查看 pip3 版本
pip3 -V
  • 为了防止出现 “Illegal instruction (core dumped)” 报错,需要在 ~/.bashrc 最后添加
echo "export OPENBLAS_CORETYPE=ARMV8" >> ~/.bashrc

安装机器学习领域重要的安装包

sudo apt-get install python3-numpy
sudo apt-get install python3-scipy
sudo apt-get install python3-pandas
sudo apt-get install python3-matplotlib
sudo apt-get install python3-sklearn

设置 CUDA 环境

注意:需要先进行 SDK 安装来安装 CUDA

  • 设置环境变量
sudo vim .bashrc
export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2
# 查看 CUDA 版本
nvcc -V

Tensorflow GPU 环境搭建

  • 可参考 Tensorflow GPU 环境搭建

Pytorch 环境搭建

  • 下载依赖库
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev libopenblas-base libopenmpi-dev
  • 登录英伟达官网下载 Pytorchv1.9.0 安装包 后进行安装
sudo pip3 install torch-1.9.0-cp36-cp36m-linux_aarch64.whl 
  • Torchvision 版本要与 Pytorch 版本相匹配,我们前面安装的 Pytorch 版本为 1.9.0,Torchvision 安装 v0.10.0 版本
pip3 install torchvision==0.10.0

硬件控制

  • 可参考 硬件控制

Jetson-IO - 端口使能

  • 所有 Jetson 扩展板上都会带有 40-pin GPIO 接口,我们可以按需求使能其中的 Special Function I/O (SFIO) (e.g. I2C, I2S, SPI, and so on). 这些端口的默认配置 (绝大多数端口都被默认设置为了 GPIO) 都被存储在了 Jetson 的 Flash 中,在之前我们需要经过复杂的步骤才能对这些端口功能进行重新配置,但从 JetPack 4.3 开始,我们可以使用 Jetson-IO 更轻松地进行端口配置

Warning: Jetson-io.py 无法支持 Jetson Nano B01 带 emmc 模组版本,因此用户无法通过 jetson-io.py 来直接配置 40PIN 引脚

sudo /opt/nvidia/jetson-io/jetson-io.py

在这里插入图片描述

在这里插入图片描述


使能 SPI

  • Configure Jetson 40pin Header ⇒ \Rightarrow Configure header pins manually ⇒ \Rightarrow 按回车使能 SPI1 (pins 19,21,23,24,26) ⇒ \Rightarrow Back
    在这里插入图片描述可以看到,此时 main menu 中已经显示新的端口配置了,SPI 用到的 5 个端口都已被使能
    在这里插入图片描述
  • 最后保存配置并重启即可完成配置:Save Pin changes ⇒ \Rightarrow Save and reboot to reconfigure pins

修改设备树使能端口

  • 对于无法使用 Jetson-IO 的情况,就只能直接修改设备树文件来使能端口 (下面的操作需要重装系统,请谨慎操作)

资源下载 (Jetpack 4.6.2)

  • 如果之前用 SDK Manager 安装过系统镜像,可以直接在上面修改设备树。 如果没有的话,需要参考以下资源下载部分先进行操作
  • 在 ubuntu 电脑新建一个文件夹
sudo mkdir sources_nano
cd  sources_nano
  • 下载以下两个资源包
wget https://developer.nvidia.com/embedded/l4t/r32_release_v7.2/t210/jetson-210_linux_r32.7.2_aarch64.tbz2
wget https://developer.nvidia.com/embedded/l4t/r32_release_v7.2/t210/tegra_linux_sample-root-filesystem_r32.7.2_aarch64.tbz2
  • 解压资源
sudo tar -xjvf jetson-210_linux_r32.7.2_aarch64.tbz2
cd Linux_for_Tegra/rootfs/
sudo tar -xjvf ../../tegra_linux_sample-root-filesystem_r32.7.2_aarch64.tbz2
cd ../
sudo ./apply_binaries.sh  # 若出现报错按照系统提示操作,然后再次输入该行命令

修改设备树

  • 安装 dtc 工具
sudo apt-get install -y device-tree-compiler
  • 反编译出 dts 文件
cd kernel/dtb
sudo dtc -I dtb -O dts -o tegra210-p3448-0002-p3449-0000-b00.dts tegra210-p3448-0002-p3449-0000-b00.dtb
  • 修改 dts 文件
sudo cp tegra210-p3448-0002-p3449-0000-b00.dts tegra210-p3448-0002-p3449-0000-b00-bak.dts
sudo gedit tegra210-p3448-0002-p3449-0000-b00.dts
  • 找到 spi@7000d400{} 部分,在其中的 spi@0 结构和 spi@1 结构分别添加语句 status = “okay”
    在这里插入图片描述
  • 找到 spi1 的引脚设置,将其中的 nvidia,function 改为 spi1, nvidia,tristate 改为 0x0, nvidia,enable-input 改为 0x1. 如图, 五个引脚都要操作
    在这里插入图片描述
  • 保存文件,并重新编译为 dtb. 注意,如果你还需要修改 SD 卡等操作,请一起在设备树中进行修改
sudo dtc -I dts -O dtb -o tegra210-p3448-0002-p3449-0000-b00.dtb tegra210-p3448-0002-p3449-0000-b00.dts

重新烧录系统

  • 将 nano 设置为 recovery 烧录模式,接入 ubuntu 电脑。注意,这里不支持只更新 dtb 分区,因此需要重新烧录整个系统,烧录系统后需要重新做开机配置,因此,请提前将 HDMI 屏幕和键盘连接到 nano 上
cd ../../
sudo ./flash.sh jetson-nano-emmc mmcblk0p1

加载内核模块

pip install spidev
echo "sudo modprobe spidev" >> ~/.bashrc
source ~/.bashrc

测试 SPI

  • 加载 spidev
git clone https://github.com/rm-hull/spidev-test
cd spidev-test/
gcc spidev_test.c -o spidev_test
  • 用一根排线将 nano 40PIN 的 19 和 21 号引脚短接,运行程序测试,如果中断打印信息 RX 和 TX 可以正常的发送和接受信息即可
./spidev_test -v -D /dev/spidev0.0 -p "Test"

在这里插入图片描述

Camera

IMX219-83 Stereo Camera

硬件连接

  • 将两条摄像头排线,金属面朝向散热板插入 Jetson Nano 开发套件上的摄像头接口

测试摄像头

  • 打开终端,输入以下指令查看设备是否被正常识别到,如果出现 video0 和 video1 就是正常的
ls /dev/video*

测试 video 0

DISPLAY=:0.0 nvgstcapture-1.0 --sensor-id=0

测试 video 1

DISPLAY=:0.0 nvgstcapture-1.0 --sensor-id=1

如果摄像头拍摄效果偏红的话,可以按照一下步骤操作

# 下载 camera-override.isp 文件,解压到特定文件夹
wget http://www.waveshare.net/w/upload/e/eb/Camera_overrides.tar.gz
tar zxvf Camera_overrides.tar.gz 
sudo cp camera_overrides.isp /var/nvidia/nvcam/settings/

# 安装文件
sudo chmod 664 /var/nvidia/nvcam/settings/camera_overrides.isp
sudo chown root:root /var/nvidia/nvcam/settings/camera_overrides.isp

Intel RealSense D435i (深度相机)

安装 SDK 和 pyrealsense2

  • 可以使用 pyrealsense2 包来方便地使用 Intel RealSense 深度相机,但 Intel 并没有在 arm 平台上编译 python 包,因此需要自行编译源码
git clone https://github.com/IntelRealSense/librealsense.git
# install necessary packages
sudo apt-get install libxrandr-dev
sudo apt-get install libxinerama-dev
sudo apt-get install libsdl2-dev
mkdir build
cd build
# cmake 时需要下载一个 github 仓库,因此需要确保网络可以访问 github
cmake ../ -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3.6
make -j4
sudo make install
# 把下面的命令写入 ~/.bashrc
export PATH=$PATH:~/.local/bin
export PYTHONPATH=$PYTHONPATH:/usr/local/lib
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.6/pyrealsense2

Test

# First import the library
import pyrealsense2 as rs

# Create a context object. This object owns the handles to all connected realsense devices
pipeline = rs.pipeline()
pipeline.start()

Python codes

  • ref: Sample Code for Intel® RealSense™ Python Wrapper
  • 如果要获取颜色图和深度图的话,可以参考 align-depth2color.py,它将深度图和颜色图一一对应,这样可以输出颜色图上每个像素点对应的实际深度

更多资料

  • 可参考 资料

References

  • waveshare Jetson-nano-dev-kit wiki
  • A Jetson Nano - Ubuntu 20.04 image with OpenCV, TensorFlow and Pytorch
  • SPI on Jetson – Using Jetson-IO
  • jetson-io.py がすぐに終了するときの解決策
  • Ubuntu/Jetson Nano问题解决“Illegal instruction(core dumped)”
  • IMX219-83 Stereo Camera
  • librealsense - Python Wrapper
  • Ubuntu —— librealsense编译报错:The RandR headers were not found 等类似报错解决方案汇总
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetson nano 系统安装 的相关文章

随机推荐

  • 深度学习 --- 径向基神经网络RBF详解

    上一节我们基本上打开了深度学习的大门 xff0c 其实下一步应该是卷积神经网络即CNN了 xff0c 但是呢卷积神经网络的最后一层采用的是径向基神经网络 xff0c 为了以后到CNN不用再费力气将RBF和保持CNN的整体性和连贯性 xff0
  • 深度学习 --- 卷积神经网络CNN(LeNet-5网络详解)

    卷积神经网络 xff08 Convolutional Neural Network xff0c CNN xff09 是一种前馈型的神经网络 xff0c 其在大型图像处理方面有出色的表现 xff0c 目前已经被大范围使用到图像分类 定位等领域
  • 深度学习 --- 优化入门二(SGD、动量(Momentum)、AdaGrad、RMSProp、Adam详解)

    另在一篇文章中 xff0c 我们介绍了随机梯度下降的细节以及如何解决陷入局部最小值或鞍点等问题 在这篇文章中 xff0c 我们看看另一个困扰神经网络训练的问题 xff0c 即病态曲率 虽然局部最小值和鞍点可以阻止我们的训练 xff0c 但是
  • NLP ---文本情感分析

    前面几节我们详细的研究了文本分析的相关算法 xff0c 本节将简单介绍一下基于文本的情感分析方面的内容 xff0c 本节更多是论述方面的内容 xff0c 这个方向的算法基本都是我们前面学过的 xff0c 原理就不详细的讲解了 xff0c 如
  • boost跨平台 c++_跨平台c++/boost/asio 简单的HTTP POST请求 客户端模型

    include include include include include usingboost asio ip tcp using std string int post const string amp host const str
  • curl初学者教程

    curl初学者教程 一 查看网页源码 直接在curl命令后加上网址 xff0c 就可以看到网页源码 我们以网址www sina com为例 xff08 选择该网址 xff0c 主要因为它的网页代码较短 xff09 xff1a curl ww
  • Ubuntu16.04编译时,‘cout’在此作用域中尚未声明(gcc和g++的区别)

    cout 在此作用域中尚未声明 的错误的解决方法 以下是几种解决方法 xff1a 首先在要包含iostream头文件 在 include下面加入 using namespace std 或者在cout cin endl等调用前加上std 编
  • c语言编写按键的中断和查询方式的区别,中断程序和查询方式的区别

    中断程序在程序开始定义中断入口地址 xff0c 初始化中必须打开中断允许位 xff0c 程序运行时不用判断溢出状态位 xff0c 溢出后硬件清零 xff1b 查询方式在程序运行时必须判断溢出状态位 xff0c 溢出后须软件清零 查询方式 x
  • c语言结构体大小端转换,数组到结构体转换和联合体与位段结合中的大小端问题...

    移植驱动代码时发现工程中使用了如下形式的代码 typedef struct BlkTestTag uint16 t m u1Var1 uint8 t reserve 2 uint32 t m u4Var2 BlkTest uint8 t t
  • 道路分割 matlab,:MATLAB差分进化算法在道路图像阈值分割中的应用7068

    xff1a MATLAB差分进化算法在道路图像阈值分割中的应用7068 盐城师范学院MATLAB差分进化算法在道路图像阈值分割中的应用摘 要文章对以MATLAB为基础的数字图像处理技术进行研究 xff0c 在这一技术主要研究了差分进化算法
  • java htmlparser 下载_htmlparser.jar下载_htmlparser.jar官方下载-太平洋下载中心

    htmlparser jar是一款十分常用的用于java开发项目研发的htmlparser jar包 下载htmlparser可以让您的Java项目开发变得更加顺畅 合理的使用htmlparser框架可以让您的工作更加顺畅 软件截图1 基本
  • python接口自动化测试

    一 以登录为例 xff0c cookie验证 1 打开登录页面 输入用户名密码 点击登录 前端进行密码加密 调用登录接口 xff0c 传入用户名和加密后的密码 和数据库进行验证 2 打开登录页面 输入用户名密码 点击登录 调用登录接口 xf
  • Android实验2:简易计算器

    1 完成一个计算器的设计 xff0c 可以以手机自带的计算器为参考 设计过程中 xff0c 注意考虑界面的美观性 xff0c 不同机型的适应性 xff0c 以及功能的完备性 2 注意结合Activity的生命周期 xff0c 考虑不同情况下
  • Android实验3:学习使用ListView

    学习使用ListView 1 实现一个列表 xff0c 其中显示班级学号姓名 xff0c 提供添加功能 xff0c 如需要删去某一项 xff0c 长按该项 xff0c 通过弹出菜单显示删除功能 MainActivity java impor
  • Android实验6:数据存储和访问

    分别使用sqlite3工具和Android代码的方式建立SQLite数据库 在数据库建立完成后 xff0c 编程实现基本的数据库添加和删除功能 创建一个学生管理的APP xff0c 基本信息包含学生姓名 xff0c 班级 xff0c 学号
  • Android实验5.1:使用线程

    package com example myapplication import android content Intent import android os Handler import android support v7 app
  • EDIMAX AC1200 Linux Driver

    使用的wifi网卡是EDIMAX AC1200 双频USB无线网卡 环境是ubuntu 20 04 xff0c 使用计算机为Khadas VIM3 安装过程如下 xff1a Prepare required packages sudo ap
  • 解决树莓派3b+刷mate彩虹屏的方法(亲测可用)

    官方说明要改很多东西 xff0c 麻烦且不实用 其实就是启动文件引导有问题 我们只要将原版系统boot里的四个文件复制到mate的boot里即可 见下图 然后启动树莓派 成功 文件下载地址 https download csdn net d
  • VSCode编写C++程序的配置方法

    1 安装mingw xff08 自行下载 xff0c 配制环境变量 xff09 xff0c 使用gcc v检测是否安装成功 2 VScode 文件 打开文件夹 xff0c 选择一个文件夹作为工作区 3 工作区内新建一个文件夹 vscode
  • Jetson nano 系统安装

    Contents Jetson Nano在 EMMC 上安装镜像U 盘启动和 TF 卡启动U 盘启动 复制 eMMC 上系统 TF 卡启动 设置远程登录系统SDK 安装使用 SDK Manager 安装使用指令安装 Linux 操作基础文件