hi3559 linux 版本 如何 合入 使用usb adbd 工具
工欲善其事 必先利其器。hi3559 调试的时候 官方是给出的是 nft 的方式 ,这方式只能在有以太网卡的时候可以用 ,如果你的 evt 板没有 以太网卡 ,那就很不方便 。 有个高效的工具 adbd 可以 实现 高效的调试 。 所以 工具 也是一个很重要的 环节 ,hi3559 的 原厂提供的sdk 非常简陋,没有buildroot 工具箱 ,adbd 需要自己去移植,找了一个版本 2021.11 buildroot 版本。
一 ,移植 buildroot-2021.11 版本

需要把 编译器的版本信息给到 buildroot ,让buildroot 用能用海思的编译器工作 如上图所示,目前尝试 也就只有这个版本的adbd 可以用,buildroot 一旦 移植好了后 ,后续的 工程开发的所需要工具 都是一个 make 的事情 ,不需要自己去移植,一键生成 你配置好的 工具 。
二 linux 内核 的配置

在 USB Gadet 选项 的 funtion filesystem 配置完善,他的 理论 支撑就是 把 usb 的 控制器 传输端点 放到 用户层 ,adbd 可以 直接访问 usb 的传输端点 。
ko 加载 步骤如下
insmod libcomposite.ko
insmod usb_f_fs.ko
insmod gadgetfs.ko
insmod g_ffs.ko idVendor=0x1d6b idProduct=0x4e26 iSerialNumber="hisi"
mkdir -p /dev/usb-ffs/adb
mount -t functionfs adb /dev/usb-ffs/adb -o uid=3000,gid=3000
/dev/usb-ffs/adb 目录下有个 ep0 的端点 这个就是给adbd 使用的 usb 端点
Udc 是 deviecs usb 控制器,文件系统下 控制器就是 usb 的传输端点
三 ,adbd 运行的 时候遇到的问题
1,绑定不了 tcp 端口 5037 ,因为 lo 循环口没有 up ,adbd 需要去使用 lo 绑定 端口
所以 ifconfig lo up 需要这个指令把 lo up 起来
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)