qq7643066 发表于 2019-8-1 11:44

RK3399高性能主板方案介绍-使用说明

本帖最后由 qq7643066 于 2019-8-1 11:45 编辑

该平台是基于Big.Little大小核架构的低功耗高性能处理器,它包括双核Cortex-A72、 4核Cortex-A53以及独立的NEON协处理器,可应用于计算机、手机、个人移动互联网,数字多媒体设备。RK3399内置多种功能强大的嵌入式硬件引擎,为高端应用提供了优异的性能。 支持多格式视频。新创云智能科技公司推出了基于RK3399处理器的XCY-3399主板,RK3399作为RK3288的升级版,XCY-3399主板引出了RK3399的绝大部分功能,并支持包括Android、Linux、ChromiumOS等多款操作系统,性能优越。

1、图纸设计
原厂的demo板采用cadence画原理图,我们一般在此基础上进行增减即可。



2、layout部分采用allegro设计



3、软件调式3.2 SDK编译
3.2.1 JDK安装
Android7.1 系统编译依赖于 JAVA 8。编译之前需安装 OpenJDK。
安装命令如下:
sudo apt-get install openjdk-8-jdk
配置 JAVA 环境变量,例如,安装路径为/usr/lib/jvm/java-8-openjdk-amd64,可在终端
执行如下命令配置环境变量:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
SDK 带有 Open JDK8 的配置脚本,在工程根目录下,命名为 javaenv.sh。
可直接执行以下命令,配置 JDK:
source javaenv.sh
uboot 编译:
cd u-boot
make rk3399_defconfig
make ARCHV=aarch64
kernel 编译:
cd kernel
make ARCH=ARM64 rockchip_defconfig -j8
make ARCH=arm64 rk3399-xinchuangyun-lvds.img -j12
android 编译:
source build/envsetup.sh
lunch rk3399_all-userdebug
make -j12
./mkimage.sh
编译完成3.3 LVDS调式1、先看lvds线路设计

实际上是MIPI转LVDS的过程,加了tc358775这颗芯片实现我们已经拿到了该芯片补丁,直接手动打上

然后进入dts配置控制引脚<span]      status = "okay";<span]      panel@0 {<span]                compatible ="simple-panel-dsi";<span]               <span]                //power-supply = <&vcc_lcd>;<span]                //enable-gpios = <&gpio2 9GPIO_ACTIVE_HIGH>; // tc35 stby 2_b1<span]                dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |<span]                dsi,format = <MIPI_DSI_FMT_RGB888>;<span]
<span]      prepare-delay-ms = <6>;               <span]      delay,power = <10>;<span]
<span]      disable-delay-ms = <20>;               <span]      size,width = <120>;<span]
      status = "okay";<span]
                display-timings {                        native-mode = <&timing1>;
                        timing0: timing0 {                              clock-frequency = <141000000>;                              hactive = <1920>; //<1080>;                              vactive = <1080>; //<1920>;                              //hback-porch = <118>;                              //hfront-porch = <118>;                              hback-porch = <18>;                              hfront-porch = <18>;                              vback-porch = <2>;                              vfront-porch = <12>;                              hsync-len = <4>;                              vsync-len = <4>;                              hsync-active = <0>;                              vsync-active = <0>;                              de-active = <0>;
                              pixelclk-active = <0>;配置屏的参数修改完成后编译,生成img固件
2、烧录下图蓝线为USB升级口

下图xcy-3399主板有recover、reset按键,按住recover键不放 同时按一下reset,系统进入升级模式

当由于某种原因比如烧录错误固件导致uboot引导失败的时候,需要强行进入升级模式,需要把下面2个测试点用镊子短接在一起,然后插入12V电源。


LVDS完美显示

更多精彩教程可以进入www.sunychip.com的开发教程版块进行了解

qq7643066 发表于 2019-11-5 19:33

RK3399完整原理图

qq7643066 发表于 2019-8-1 11:46

qq7643066 发表于 2019-8-1 11:47


eddy2019 发表于 2019-8-5 14:29

这种板子市场价多少啊

qq7643066 发表于 2019-8-11 18:16

eddy2019 发表于 2019-8-5 14:29
这种板子市场价多少啊

要看配置了,最近ddr行情变化大

qq7643066 发表于 2019-8-11 18:22



其他PCB源文件太大,发不出来

幽魂 发表于 2019-8-13 11:30

rk3399 那个开发板 编译不通过,怎么搞

幽魂 发表于 2019-8-13 11:31

发下rk3399 软件开发指南

qq7643066 发表于 2019-9-14 20:46

上传一份rk3399主板规格书

dufanghua 发表于 2019-9-27 14:47

你们是做方案的公司吗?

qq7643066 发表于 2019-10-15 14:01

幽魂 发表于 2019-8-13 11:31
发下rk3399 软件开发指南

加我发给你啊

幽魂 发表于 2019-10-16 14:28

支持

幽魂 发表于 2020-2-1 15:25

资料拿到了

qq7643066 发表于 2020-2-2 19:22

RK3399 板卡调试4G模块的资料分享
android 7.1 "移动网络" 选项 不存在问题。
1、celluar networks 字符串定义
首先在设置APK的资源文件去找到这一串字符
      
Mobile networks
2、network_settings_title引用
packages/apps/Settings/src/com/android/settings/WirelessSettings.;" /> private static final String KEY_MOBILE_NETWORK_SETTINGS = "mobile_network_settings";   
把 network_settings_title赋值给 KEY_MOBILE_NETWORK_SETTINGS,再跟进一下 KEY_MOBILE_NETWORK_SETTINGS这个变量吧。

在相同的文件中我们找到:
RemovMobile Network Settings if it's a wifi-only device.   
if (Utils.isWifiOnly(getActivity())) {   
getPreferenceScreen().removePreference(findPreference(KEY_MOBILE_NETWORK_SETTINGS));   
}   
getSystemService(Context.CONNECTIVITY_SERVICE);获得网络连接服务,然后判断是否支持TYPE_MOBILE,现在判断应该是不支持,也就是if判断中:Utils.isWifiOnly(getActivity())=1

所以把“移动网络”的选项移除,现在我们就重点去分析Utils.isWifiOnly(getActivity()),找到不显示的原因,也就是if()中的判断条件,跟进这段代码
3、我们去看下ifWifiOnly()是何方神圣?
packages/apps/Settings/src/com/android/settings/Utils.;" /> .import android.net.ConnectivityManager;
   
.public static boolean isWifiOnly(Context context) {
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(
Context.CONNECTIVITY_SERVICE);
return (cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE) == false);
.}
Utils.isWifiOnly(getActivity())=1也就是

cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE) = false,可是我们现在要的值是true,为什么会出现false呢,我们继续往下看cm.isNetworkSupported
4、 再分析isNetworkSupported
frameworks/base/core/java/android/net/ ConnectivityManager.java
.public boolean isNetworkSupported(int networkType) {
.try {
.return mService.isNetworkSupported(networkType);
.} catch (RemoteException e) {}
.return false;
.}
07.}

继续跟进 mService.isNetworkSupported这个函数的实现
5、 mService.isNetworkSupported的实现
\frameworks\base\core\java\android\net

   public boolean isNetworkSupported(int networkType) {
         try {
             return mService.isNetworkSupported(networkType);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
   }

6、到最后是device\rockchip\common\overlay\frameworks\base\core\res\res\values\config.xml

      
   
         "wifi,1,1,2,-1,true"
         "mobile,0,0,0,-1,true"
         "mobile_mms,2,0,2,60000,true"
         "mobile_supl,3,0,2,60000,true"
         "mobile_dun,4,0,2,60000,true"
         "mobile_hipri,5,0,3,60000,true"
         "mobile_fota,10,0,2,60000,true"
         "mobile_ims,11,0,2,60000,true"
         "mobile_cbs,12,0,2,60000,true"
         
         "bluetooth,7,7,0,-1,true"
         
         "ethernet,9,9,9,-1,true"要注意这里
   

      
      
   
         "0,1"
         "1,1"
         "7,1"
         "9,1" 注意这里
   
7、最好要开启rild相关的资源,这是4G模块就可以加载成功。
在boardconfig.mk文件增加此功能
BOARD_HAVE_DONGLE:=true
在android7.1可以成功利用4G模块上网

幽魂 发表于 2020-2-10 21:05

加油 加油 加油

qq7643066 发表于 2020-5-5 18:41

rk3399编译
kernel
make ARCH=arm64 rockchip_defconfig
make -j8 ARCH=arm64 rk3399-firefly-android-sunchip.img

android
source build/envsetup.sh
lunch rk3399_all-userdebug
make -j32
./mkimage.sh

qq7643066 发表于 2020-5-6 11:14

uboot
make rk3399_box_defconfig
make ARCHV=aarch64 -j8

sw10086 发表于 2020-5-7 09:50

开发定制需要多久 开发费用多少呢

qq7643066 发表于 2020-6-9 08:55

sw10086 发表于 2020-5-7 09:50
开发定制需要多久 开发费用多少呢

28天出样品
页: [1] 2
查看完整版本: RK3399高性能主板方案介绍-使用说明