瑞芯微 RK3399 android7.1 wifi 兼容软硬件注意事项

时间:2024-04-07 21:15:42

  RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。

    盈鹏飞科技最新研发的RK3399安卓主板,搭载了最新android7.1 系统,4G DDR3内存,32G EMMC 存诸等...RK3399开发板主板尺寸为:146*102mm,设计有非常丰富的接口,板载5路UART,支持USB3.0高性能设备接口, WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太网等;可扩展模块包括4G模块、Camera(1300万、500万)等应用类功能模块。

     RK3399安卓主板为消费类电子、智能终端、MID、无线通讯、医疗设备、工业控制等行业产品的应用开发而设计,超强的视频处理能力,超高清视频输出优势,口丰富、性能稳定。支持Android\Linux\Ubuntu系统,软件支持完善,开放源代码适合企业二次开发带高清显示的商显广告机、自助售货机、教育终端等,可降低研发门槛,缩短产品研发周期。

瑞芯微 RK3399 android7.1 wifi 兼容软硬件注意事项

瑞芯微 RK3399 android7.1 wifi 兼容软硬件注意事项

RK3399 android7.1 wifi 兼容软硬件注意事项

    目前发布的 SDK 一套固件可以兼容 sdio 2.0 和 sdio 3.0 wifi, sdio2.0 clk 最高跑 50M,sdio 3.0 clk最高跑 150Mwifi 自动兼容方案可以做到一套固件兼容多个 wifi,特别需要注意:SDIO wifi io 参考电压,sdio 2.0 wifi 和 sdio 3.0 wifi 在硬件设计有下面两种选择:(强烈推荐第一种参考设计)

    1.硬件对于 sdio wifi 动态设计的板型

也即是支持 sdio3.0 wifi 模块 wccio_wl 设计为 1.8v, 支持 sdio2.0 的 wifi 模块 wccio_wl 设计为 3.3v

     2.硬件上所有 wifi wccio_wl 统一为 1.8v,但内核软件需要如下修改(注意红色字体部分):

         kernel/drivers/mmc/host/rk_sdmmc.c

         void dw_mci_sdio_switch_iovel(struct mmc_host *mmc, int enable)

         {

             struct dw_mci_slot *slot = mmc_priv(mmc);

             struct dw_mci *host = slot->host;

             const struct dw_mci_rockchip_priv_data *priv = host->priv;

 

             switch (priv->ctrl_type) {

             case DW_MCI_TYPE_RK322XH:

                      regmap_write(host->grf, RK322XH_GRF_SOC_CON4,

            -                              (enable << 3) | ((1 << 3) << 16));

            +                             (1 << 3) | ((1 << 3) << 16));

                    if (enable)

                          host->bus_hz = 150000000;

                    else

                           host->bus_hz = 50000000; break;

                     default:

                              pr_info("%s not switch iovel.\n", mmc_hostname(host->mmc));

                      }

                      }

wifi ko 编译注意事项

  本章节主要说明内核网络相关配置修改,对应 wifi ko 驱动的编译方法。

  wifi ko 要跟内核网络配置编译出的 kernel.img 一致,如果内核有修改网络配置,以 RK3328为例,若需要支持 VLAN,内核 rk322xh_android-7.1_defconfig 需要打开内核如下配置:

CONFIG_VLAN_8021Q=y

CONFIG_VLAN_8021Q_GVRP=y

CONFIG_VLAN_8021Q_MVRP=y

  如上修改后 wifi ko 必须重新编译,可以按照如下两种方法进行编译 ko,建议使用方法 1方法 1执行脚本后会先 make wifi ko,再将 wifi ko 拷贝到源码 vendor/rockchip/common/wifi/modules 目录,最后编译 android  并生成固件,方法 2  只会重新编译 ko,并拷贝到源码

vendor/rockchip/common/wifi/modules 目录。

方法 1:android 根目录执行:

souce build.sh

方法 2:android 根目录执行:

lunch rk3328_box-userdebug   && souce device/rockchip/common/build_wifi_ko.sh

    注意:每次修改了内核网络配置,都需要重新编译 ko如果没有修改网络配置(使用 RK 发布 SDK默认的网路配置),编译一次 ko 后,以后系统可以通用这些 ko,采用以上方法系统也会编译出 ko, git status 同样会看到新编译的 ko, git status 查看结果如下:

瑞芯微 RK3399 android7.1 wifi 兼容软硬件注意事项

红色方框部分表明是新编译出来的 wifi ko,建议用 git add 命令合入到工程。

     盈鹏飞嵌入式专注于Atmel、TI、NXP、Rockchip等平台产品的研发。公司团队拥有超过10年的ARM软硬件开发经验,拥有智能家居、人机界面、工业缝纫机、电力采集器等多个成功案例;公司2005年成立至今,主要从事工业控制领域开发,先后开发了以ARM9- AT91SAM9G45、Cortex-A8-335x 、A7- i.MX6UL 、A9-I.MX6Q为主控的各种方案,深入WINCE/LINUX 嵌入式系统开发多年,产品以高稳定性,高可靠性获得客户的信赖!2017年我们再出发,依赖工业控制领域多年的设计造诣,公司以创"芯"科技,智造双赢为经营理念,先后开发了以RK3288、RK3399 等处理器为应用的ANDROID解决方案,承接项目定制、BSP以及APP开发,为客户提供专业化的量身定制广告机、消费类电子等解决方案。