查看: 1935|回复: 0

[经验] RK3399嵌入式开发板以太网字节对齐问题解决方法

[复制链接]
  • TA的每日心情
    慵懒
    2017-10-13 15:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2017-10-16 18:48:57 | 显示全部楼层 |阅读模式
    分享到:
            RK3399的CPU采用big.LITTLE大小核架构双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。
           友坚科技最新研发的RK3399开发板,搭建了最新android7.1 系统,4G DDR3内存,32G EMMC 存诸,搭配8.4寸高清IPS屏。RK3399开发板主板尺寸为:155*104mm,设计有非常丰富的接口,板载3路TTL UART,2路USB2.0接口,一路USB3.0接口,WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太网等;可扩展模块包括4G模块、Camera(1300万、500万)等应用类功能模块。

    3399接口.JPG


    字节对齐问题
    注意:此部分只针对 kernel 3.0 的平台
    由于 RK 芯片的 USB 驱动内部没有处理字节对齐问题,所以所有调用 USB 传输接口的驱动必
    须自行处理好字节对齐。若发现 kernel 的 log 中打出 USB 相关报错,请确认如下补丁是否已经打
    上。SDK 默认已经打上下述补丁。此外,若使用供应商提供的驱动代码,也需要参照下述补丁在驱
    动中调用 USB 传输接口的地方做相应处理。
    diff --git a/kernel/drivers/net/usb/usbnet.c
    b/kernel/drivers/net/usb/usbnet.c
    old mode 100644
    new mode 100755
    index d1ab169..809f416
    --- a/kernel/drivers/net/usb/usbnet.c
    +++ b/kernel/drivers/net/usb/usbnet.c
    @@ -1103,6 +1103,28 @@ netdev_tx_t usbnet_start_xmit (struct
    sk_buff *skb,
    }
    }
    }
    +
    +
    + length = ((unsigned long)skb->data) & 0x3;
    + if (length) {
    + if (skb_cloned(skb) ||
    + ((skb_headroom(skb) < length) &&
    + (skb_tailroom(skb) < (4-length)))) {
    + struct sk_buff *skb2;
    + /* copy skb with proper alignment */
    + skb2 = skb_copy_expand(skb, 0, 4,
    GFP_ATOMIC);
    + dev_kfree_skb_any(skb);
    + skb = skb2;
    + if (!skb)
    + goto drop;
    + } else {
    + /* move data inside buffer */
    + length = ((skb_headroom(skb) >= length) ?
    0 : 4)-length;
    + memmove(skb->data+length, skb->data,
    skb->len);
    + skb_reserve(skb, length);
    + }
    + }
    +
    length = skb->len;
    if (!(urb = usb_alloc_urb (0, GFP_ATOMIC))) {

           RK3399嵌入式开发板以太网字节对齐问题解决方法友坚科技专注于三星、瑞芯微、飞思卡尔平台产品的研发,是三星、瑞芯微、飞思卡尔在中国最具实力的方案公司之一。公司研发、生产的平板、开发板,连续多年销量稳居第一。公司定位于中高端产品的研发,具有多年的嵌入式产品研发经验;基于A15-Exynos5260、A53_S5P6818、A9-S5P4418、A9-Exynos 4412、A8-S5PV210、ARM11-S3C6410、ARM9-S3C2416 、RK3188、RK3288、RK3399、IMX6Q等处理器,开发了系列化产品,为客户提供了全面的产品选择及专业化的量身定制MID解决方案
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-26 06:15 , Processed in 0.128416 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.