问题描述
我正在使用stm32mp157c-dk2板。我添加了对USB以太网小工具的支持(随附了简短补丁)。然后,当我启动开发板时,运行ping时会看到以下输出:
STM32MP> ping 10.0.0.1
using dwc2-udc,OUT ep2out-bulk IN ep1in-bulk STATUS ep3in-int
MAC f8:dc:7a:00:00:02
HOST MAC f8:dc:7a:00:00:01
RNdis ready
high speed config #2: 2 mA,Ethernet Gadget,using RNdis
USB RNdis network up!
CACHE: Misaligned operation at range [ddcfbcc4,ddcfbd04]
Using usb_ether device
CACHE: Misaligned operation at range [dbc3c678,dbc3c6f8]
CACHE: Misaligned operation at range [dbc3c678,dbc3c6f8]
host 10.0.0.1 is alive
是否有摆脱警告的方法?警告是否隐藏了真正的问题? 我看到了有关此问题的一些讨论和补丁,所以我不确定这里是否有问题。
谢谢!
补丁:
diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
index 3b677d339b..b46eec2e1c 100644
--- a/board/st/stm32mp1/stm32mp1.c
+++ b/board/st/stm32mp1/stm32mp1.c
@@ -699,6 +699,10 @@ int board_late_init(void)
/* for DK1/DK2 boards */
board_check_usb_power();
+#if defined(CONfig_USB_ETHER)
+ usb_ether_init();
+#endif
+
return 0;
}
diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h
index 587204cfb7..270d3f0058 100644
--- a/drivers/usb/gadget/gadget_chips.h
+++ b/drivers/usb/gadget/gadget_chips.h
@@ -161,6 +161,12 @@
#define gadget_is_max3420(g) 0
#endif
+#ifdef CONfig_USB_GADGET_DWC2_OTG
+#define gadget_is_dwc2(g) (!strcmp("dwc2-udc",(g)->name))
+#else
+#define gadget_is_dwc2(g) 0
+#endif
+
/**
* usb_gadget_controller_number - support bcdDevice id convention
* @gadget: the controller being driven
@@ -224,5 +230,7 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget)
return 0x24;
else if (gadget_is_max3420(gadget))
return 0x25;
+ else if (gadget_is_dwc2(gadget))
+ return 0x26;
return -ENOENT;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)