u-boot:缓存:范围内的操作未对齐

问题描述

我正在使用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 (将#修改为@)