1、ADB
win+r输入sysdm.cpl,然后在系统属性中选高级,点环境变量,在系统变量里面找到path,选中之后编辑,新建选择我下载的adb.exe的路径,最后点确定。
接着win+r输入cmd进入终端,输入adb devices,如果显示.....device,代表连接正常,便可以通过adb shell进入板子系统
adb 命令是在你电脑(Windows)的命令行里用的,不是在开发板的 shell 里用的
| 用途 | 命令 | 说明 |
|---|---|---|
| 1. 查看连接设备 | adb devices |
列出所有连接的设备,状态为 device 表示正常。 |
| 2. 进入板子系统 | adb shell |
进入开发板的命令行环境(类似串口)。 |
| 3. 发送文件到板子 | adb push <本地路径> <板子路径> |
例如:adb push test.txt /sdcard/ |
| 4. 从板子拉取文件 | adb pull <板子路径> <本地路径> |
例如:adb pull /sdcard/log.txt D:\logs\ |
| 5. 安装 APK | adb install <apk路径> |
安装应用到开发板。 |
| 6. 卸载 APK | adb uninstall <包名> |
卸载应用(包名例如 com.example.app)。 |
| 7. 查看实时日志 | adb logcat |
显示系统日志,按 Ctrl+C 停止。可以用 `adb logcat |
| 8. 重启设备 | adb reboot |
正常重启开发板。 |
| 9. 重启到 Bootloader | adb reboot bootloader |
进入刷机模式(配合 fastboot 使用)。 |
| 10. 执行单条命令 | adb shell <命令> |
不进入交互终端,直接在板子上执行一条命令。例如 adb shell ls /data。 |
| 11. 查看设备状态 | adb get-state |
输出 device、offline 或 unknown。 |
| 12. 查看 ADB 版本 | adb version |
显示 ADB 工具版本。 |
| 13. 杀死 ADB 服务 | adb kill-server |
停止 ADB 后台服务,一般用于重启服务解决异常。 |
| 14. 截屏 | adb shell screencap /sdcard/screen.png adb pull /sdcard/screen.png |
先截屏保存到板子,再拉取到电脑。 |
| 15. 无线连接(高级) | adb tcpip 5555 adb connect 192.168.1.100:5555 |
先 USB 连接,执行 adb tcpip 5555 开启无线模式,然后拔线,用 adb connect IP:5555 无线连接。 |
常用命令
1、查看设备序列号
adb device
C:\Users\aston> adb devices
List of devices attached
397ec3c477064c11 device
2、使用adb工具连接设备(与板子建立连接)
adb shell
C:\Users\aston> adb shell
rk3568_r:/ $ ls
acct bin cache d data_mirror default.prop etc init.environ.rc lost+found mnt oem product sdcard sys system_ext
apex bugreports config data debug_ramdisk dev init linkerconfig metadata odm proc res storage system vendor
3、获取系统日志
# 查看全部日志
C:\Users\aston> adb logcat
# 仅查看部分日志
C:\Users\aston> adb logcat -s WifiStateMachine StateMachine
# 保存系统日志到电脑本地目录
C:\Users\aston> adb logcat -v time > your/target/path
4、安装 APK
#安装
C:\Users\aston> adb install "apk文件路径"
#重新安装
C:\Users\aston> adb install --r "apk文件路径"
5、将文件拷贝到主板
#让ADB设备端切换到root权限模式
C:\Users\aston> adb root
#重新挂载文件系统,将设备改为可读可写
C:\Users\aston> adb remount
C:\Users\aston> adb push "本地路径" "主板系统路径"
6、将主板文件拷贝到本地
#让ADB设备端切换到root权限模式
C:\Users\aston> adb root
#重新挂载文件系统,将设备改为可读可写
C:\Users\aston> adb remount
C:\Users\aston> adb pull "主板系统文件路径" "本地路径"
2、传文件
现在我在Windows下面下载了一个压缩包,我需要传到ssh下的Linux系统当中
1、先在Linux下执行ip a查看ip地址,假设为192.168.1.100
2、在Windows打win+r输入cmd进入终端
3、在终端当中执行scp D:\path\to\your\sdk.tar.xz android003@192.168.1.100:~/

4、回到ssh终端输入ls -lh ~/检查文件是否传好
3、HDC
HDC(HarmonyOS Device Connector) 是鸿蒙生态中专为开发者打造的命令行调试工具。它就像是你连接、调试和管理鸿蒙设备的万能钥匙,作用和安卓世界里的ADB类似
| 功能模块 | 主要用途 | 典型使用场景 |
|---|---|---|
| 设备连接与管理 | 连接设备、查看设备状态等 | 连接设备后,第一时间验证连接是否成功。 |
| 应用管理 | 安装 (.hap/.app)、卸载鸿蒙应用 |
将自己开发的应用或调试包安装到设备上进行测试。 |
| 文件传输 | 在电脑和设备之间双向传输文件 | 将构建好的应用包传给设备,或从设备拉取日志文件进行分析。 |
| 系统调试 | 执行命令、查看日志 (hilog)、重启设备 |
调试应用逻辑、获取系统运行日志、排查问题。 |
| 服务控制 | 启动、停止、重启 hdc 服务进程 |
当 hdc 连接出现异常时,可以通过重启服务来解决。 |
常用命令
| 命令 | 说明 |
|---|---|
hdc list targets |
查看已连接的设备列表 |
hdc shell |
进入设备命令行环境 |
hdc install <hap路径> |
安装 HAP 应用包 |
hdc uninstall <包名> |
卸载指定包名的应用 |
hdc file send <本地> <设备> |
推送文件到设备 |
hdc file recv <设备> <本地> |
从设备拉取文件到本地 |
hdc hilog |
查看设备实时日志 |
hdc shell hilog -r |
清空日志缓冲区 |
hdc shell reboot |
重启设备 |
hdc kill |
停止 hdc 服务进程 |
hdc start |
启动 hdc 服务进程 |
hdc tconn <设备IP> |
通过网络连接鸿蒙设备 |
hdc smode |
进入超级模式(获取 root 权限) |
hdc smode -r |
退出超级模式 |
hdc version |
查看 hdc 工具版本号 |
hdc help |
显示所有命令的帮助信息 |
4、GIT
Git 是目前最流行的分布式版本控制系统 ,简单说就是帮你记录代码或文件的每一次修改历史 ,方便你回溯、协作、分支管理。
| 命令 | 说明 |
|---|---|
git init |
在当前目录初始化一个新的 Git 仓库 |
git clone <url> |
从远程仓库下载整个项目到本地 |
git status |
查看当前文件状态(哪些修改了、哪些未跟踪) |
git add <file> |
将文件添加到暂存区(准备提交) |
git add . |
添加所有修改/新增的文件 |
git commit -m "说明" |
提交暂存区的修改,并写上本次改动说明 |
git log |
查看提交历史记录 |
git diff |
查看当前修改与上次提交的差异 |
git branch |
列出所有分支,* 表示当前分支 |
git checkout <分支名> |
切换到指定分支 |
git checkout -b <新分支名> |
创建并切换到新分支 |
git merge <分支名> |
将指定分支合并到当前分支 |
git pull |
从远程仓库拉取最新代码并合并(= git fetch + git merge) |
git push |
将本地的提交推送到远程仓库 |
git remote -v |
查看当前配置的远程仓库地址 |
.gitignore |
文件列表,告诉 Git 忽略哪些文件(不提交) |
4.1、Git 的核心概念
| 概念 | 通俗解释 |
|---|---|
| 仓库 (Repository) | 就是你的项目文件夹,但被 Git 管起来了。里面有一个隐藏的 .git 目录,记录所有历史。 |
| 提交 (Commit) | 一次"存档"。每次 commit 会记录当前所有文件的快照,并附上一段说明(比如"修复了 ADC 读取 bug")。 |
| 分支 (Branch) | 一条独立的开发线。默认主线叫 master 或 main。你可以从主线拉出一个分支,在新分支上改代码,不影响主线。 |
| 暂存区 (Stage) | 你改完文件后,需要先 git add 把文件"放进暂存区",然后 git commit 才会把暂存区的内容正式存档。 |
| 远程仓库 (Remote) | 放在服务器上的仓库(比如 GitHub、GitLab、Gitee)。用于多人协作或备份。 |
4.2、第一次使用 Git 的配置(只需做一次)
告诉 Git 你是谁,这样每次 commit 会记录作者信息。
bash
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git config --global user.name "zhangsan"
git config --global user.email "zhangsan@example.com"
4.3、Git 的基本使用流程(最常用命令)
假设你有一个文件夹 my_project,里面有一个 main.c
1、初始化仓库(让Git开始管理这个文件夹)---- 会生成一个隐藏的.git文件夹
bash
cd my_project
git init
2、查看状态
它会告诉你哪些文件被修改了、哪些还没被 Git 跟踪
bash
git status
3、添加文件到暂存区
bash
git add main.c # 只添加这一个文件
git add . # 添加当前目录下所有新文件/修改
4、提交(存档)
-m 后面是本次提交的说明,一定要写清楚改了什么。
bash
git commit -m "第一次提交,实现了 ADC 读取功能"
5、查看提交历史
会显示每次 commit 的哈希值、作者、时间、说明。
bash
git log
4.4、分支操作
当你需要尝试新功能时,建议新建一个分支:
bash
git branch new_feature # 创建分支
git checkout new_feature # 切换到新分支
# 或者一条命令创建并切换:
git checkout -b new_feature
在新分支上修改代码、add、commit。如果新功能做好了,想合并回主分支:
bash
git checkout master # 先切回主分支
git merge new_feature # 将 new_feature 合并到 master
如果新功能不想要了,直接删除分支:
bash
git branch -d new_feature
4.5、回到历史版本
假设你提交了 3 次,现在想回到第 1 次的状态。
首先查看日志,找到那个 commit 的哈希值(比如 a1b2c3d)
bash
git log --oneline
然后有两种方式:
1、只是看看,不破坏后续提交(推荐):
bash
git checkout a1b2c3d
git checkout master //看完后回到最新
2、彻底回到那个版本,丢弃之后的修改
bash
git reset --hard a1b2c3d
4.6、与远程仓库配合
你可以在 GitHub / Gitee 上创建一个空仓库,然后:
1. 把本地仓库推送到远程
bash
git remote add origin https://github.com/yourname/my_project.git
git push -u origin master
2. 从远程仓库克隆(下载)到本地
bash
git clone https://github.com/yourname/my_project.git
3. 拉取远程最新代码
bash
git pull
4. 推送本地提交到远程
bash
git push
4.7、具体案例

第一步:创建项目并初始化仓库
bash
# 创建一个工作目录
mkdir adc_project
cd adc_project
# 初始化 Git 仓库
git init
第二步:编写第一个版本并提交
创建adc_read.c
cpp
#include <stdio.h>
int main() {
FILE *f = fopen("/sys/bus/iio/devices/iio:device0/in_voltage2_raw", "r");
if (!f) return -1;
int raw;
fscanf(f, "%d", &raw);
fclose(f);
printf("ADC raw: %d\n", raw);
return 0;
}
现在查看状态:
bash
git status
添加并提交第一个版本:
bash
git add adc_read.c
git commit -m "版本1: 基本功能,读取ADC原始值"
第三步:创建第二个版本(增加电压换算)
修改 adc_read.c,增加电压换算(假设参考电压1.8V,10位ADC):
cpp
#include <stdio.h>
int main() {
FILE *f = fopen("/sys/bus/iio/devices/iio:device0/in_voltage2_raw", "r");
if (!f) return -1;
int raw;
fscanf(f, "%d", &raw);
fclose(f);
float voltage = raw * 1.8 / 1023.0;
printf("ADC raw: %d, voltage: %.2f V\n", raw, voltage);
return 0;
}
查看修改:
bash
git status
添加并提交:
bash
git add adc_read.c
git commit -m "版本2: 增加电压换算功能"
第四步:创建第三个版本(增加循环和定时)
修改 adc_read.c,让它每秒读一次,连续读10次:
cpp
#include <stdio.h>
#include <unistd.h>
int main() {
for (int i = 0; i < 10; i++) {
FILE *f = fopen("/sys/bus/iio/devices/iio:device0/in_voltage2_raw", "r");
if (!f) return -1;
int raw;
fscanf(f, "%d", &raw);
fclose(f);
float voltage = raw * 1.8 / 1023.0;
printf("[%d] raw: %d, voltage: %.2f V\n", i+1, raw, voltage);
sleep(1);
}
return 0;
}
添加并提交:
bash
git add adc_read.c
git commit -m "版本3: 增加循环读取,每秒一次,共10次"
第五步:查看提交历史
bash
git log --oneline
会输出类似:
bash
d4e5f6g (HEAD -> master) 版本3: 增加循环读取,每秒一次,共10次
b2c3d4e 版本2: 增加电压换算功能
a1b2c3d 版本1: 基本功能,读取ADC原始值
第六步:回退到某个版本(假设你想回到版本2)
bash
git checkout b2c3d4e # 使用版本2的commit哈希的前7位
此时文件内容变回版本2的代码。你可以编译测试。
如果想回到最新版本:
bash
git checkout master
第七步:创建分支做实验(比如尝试修改电压计算公式)
bash
git checkout -b try_new_formula # 创建并切换新分支
修改 adc_read.c,把电压公式改成 raw * 1.8 / 1024.0。提交:
bash
git add adc_read.c
git commit -m "尝试新的电压公式: 除以1024"
如果实验成功,合并回 master:
bash
git checkout master
git merge try_new_formula
如果不成功,直接删除分支:
bash
git branch -d try_new_formula
第八步:推送到远程仓库(备份或协作)
先在 GitHub/Gitee 上创建一个空仓库(不要生成 README),然后
bash
git remote add origin https://github.com/yourname/adc_project.git
git push -u origin master
以后每次提交后,只需 git push

