芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 56|回复: 0

【AC820-ALDRM】【linux】配置usb从机

[复制链接]

该用户从未签到

27

主题

33

帖子

294

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
294
发表于 前天 09:30 | 显示全部楼层 |阅读模式

下面为将 AC820-安路飞龙开发板 配置为 “u盘“(usb从机 )操作流程

一、修改内核配置

CONFIG_USB_DWC2_DUAL_ROLE //重要,这里先到该选项路径下,修改为“ Gadget only mode”,可见下方 “CONFIG_USB_DWC2_DUAL_ROLE 提示”

CONFIG_USB_DWC2_PERIPHERAL=y
CONFIG_USB_CONFIGFS=y //先开启
CONFIG_CONFIGFS_FS=y
CONFIG_USB_GADGET=y
CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_MASS_STORAGE = M

CONFIG_USB_DWC2_DUAL_ROLE 提示:

1、CONFIG_USB_DWC2_DUAL_ROLE中修改模式(发现这么奇葩的选项,还只允许host,所以要修改)

image.png

修改为

image.png

二、设备树修改

为什么还要修改设备树?因为给的 FIFO 配置值 不对 与 不全所以要修改

//修改 anlogic-dr1m90.dts 设备树,USB节点

&usb_otg0 {
        //Yang,更改为从机
        //下面修改为修改代码
        dr_mode = "peripheral";
        g-np-tx-fifo-size = <32>;
        g-rx-fifo-size = <512>;
        g-tx-fifo-size = <256 256 256 64 64 64 16 16 16 16 16 16 16 16 16 16>;//原始代码会造成 FIFO 问题
        g-use-dma;


        //下面为原始代码
        //dr_mode = "host";
        //g-np-tx-fifo-size = <32>;
        //g-rx-fifo-size = <768>;
        //g-tx-fifo-size = <768 512 512 32 16 16 16 16 16 16>;
        //g-use-dma;
};

二、编译与移植

(1)编译

根据上面修改内核配置和设备树后,此时执行编译指令(./build.sh all)后,会生成 g_mass_storage.ko 文件;

(2)移植

根据下图,将该ko文件,移入到sd卡根文件 /lib/modules 中

image.png

(3)执行

开发板插上sd卡上电后,执行:

# 先到存放文件夹
cd  /lib/modules 
# 安装模块
insmod g_mass_storage.ko file=/dev/mmcblk0p1 removable=1

成功现象可见:

image.png

(4)用type-c线连接”USB slave“口 到电脑上,即可弹出:

image.png

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

GMT+8, 2025-5-29 04:43 , Processed in 0.267061 second(s), 35 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表