完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
飞凌RK3399的开发板,已经推出了一段时间,根据飞凌嵌入式技术服务部统计的客户问题反馈,整理了一份客户在使用RK3399开发板过程中经常遇到的几个问题,并提供了解决思路。
RK3399开发板简介: 飞凌嵌入式OK3399-C开发板采用瑞芯微公司国产CPU处理器 RK3399设计。性能强劲,具备2个ARM Cortex-A72内核,主频1.8GHz;4个ARM Cortex-A53内核,主频1.4GHz;GPU采用Mali-T864,支持OpenGL ES 1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11;RK3399开发板板载2GB LPDDR3 RAM,16GB eMMC ROM;RK3399开发板具备多种显示接口 ,包括HDMI 2.0 、MIPI-DSI 、eDP 1.3、DP 1.2,最大分辨率达4K,支持双屏同显、双屏异显;同时提供多种外设接口,如PCIe、USB3.0 Host,Type-C、MIPI-CSI、SPDIF、I2C、SPI 、UART 、ADC、PWM、GPIO 、I2S(支持8路数字麦克风阵列输入)和千兆以太网。 注:以下问题,均为在使用飞凌RK3399开发板过程中,遇到的一些问题及提供的解决思路,其它品牌RK3399开发板,用户可根据飞凌提供的解决思路,尝试解决。 一、RK3399修改调试串口波特率 RK3399调试串口默认波特率为1500000,但部分转换芯片最高支持115200,于是部分情况下就需要修改RK3399调试串口波特率 RK3399调试串口相关的设置均可在设备树中修改。 打开设备树:kernel/arch/arm64/boot/dts/rockchip/ok3399.dts 找到fiq_debugger字段: fiq_debugger: fiq-debugger { compatible = “rockchip,fiq-debugger”; rockchip,serial-id = <2>; rockchip,wake-irq = <0>; rockchip,irq-mode-enable = <0>; /* If enable uart uses irq instead of fiq / rockchip,baudrate = <1500000>; / Only 115200 and 1500000 */ pinctrl-names = “default”; pinctrl-0 = <&uart2c_xfer>; interrupts = }; 修改波特率需要修改baudrate的值,但只能修改内核阶段。 二、RK3399 Linux下修改各分区大小的方法 首先,解压源码,RK3399烧写以一个update.img的方式烧写,所以修改分区需要重新编译 打开源码目录下的/param/parameter.txt文件 看到如下内容: CMDLINE: mtdparts= rk29xxnand:0x00002000@0x00004000(uboot), 0x00002000@0x00006000(trust), 0x00002000@0x00008000(misc), 0x00010000@0x0000a000(boot), 0x00010000@0x0001a000(recovery), 0x00010000@0x0002a000(backup), 0x00020000@0x0003a000(oem), 0x00f00000@0x0005a000(rootfs), -@0x00f5a000(userdata:grow) RK3399 Linux的分区信息如上。 注意: 1、其格式为:分区大小+@+起始地址 2、在修改分区大小的时候必须要注意,修改某个分区要对应修改下一个分区的起始地址,以此类推。 3、后一个分区的起始地址为前一个分区的起始地址加上分区大小。 三、RK3399 Desktop版本命令行连接WiFi的方法 RK3399 Desktop版本使用Ubuntu文件系统,用NetworkManager网络管理器来控制网络连接。 在输入WiFi密码连接对应的WiFi后,会在/etc/NetworkManager/system-connections/目录下生成一个和WiFi名字对应的文件,内容是WiFi的配置信息。 仿照生成的配置文件,创建一个新文件sudo vi /etc/NetworkManager/system-connections/forlinx-test 内容按照实际WiFi进行设置,类似如下: [connection] id=forlinx uuid=a19cdac4-f704-498e-8802-32bbefdd0441 type=wifi permissions=user:forlinx:; [wifi] mac-address=C0:84:7D:12:8A:27 mac-address-blacklist= mode=infrastructure ssid=forlinx [wifi-security] auth-alg=open key-mgmt=wpa-psk psk=fl03123102650 [ipv4] dns-search= method=auto [ipv6] addr-gen-mode=stable-privacy dns-search= method=auto 红色字体涉及到的内容需要根据实际WiFi的情况调整,上述只是举例。 mac-address WiFi模块mac地址 ssid 要连接的WiFi名称 key-mgmt 要连接的WiFi加密方式 psk 要连接的WiFi的密码 创建好之后修改文件权限sudo chmod 600 /etc/NetworkManager/system-connections/forlinx-test 执行sync 重启RK3399开发板即可自动连接设定的WiFi 四、RK3399 Linux+QT版本开机应用程序自启动方法。 RK3399应用程序自启动 查看/etc/init.d目录时,会发现有许多以"K"开头,或者以"S"开头的脚本文件,这些文件在系统启动过程中都会自启动,S开头是开机启动,K开头是关机时运行。 Linux buildroot的桌面程序就是以/etc/init.d/S60matrix-browser脚本文件启动的。如果想在RK3399中自启动自己的程序就可以修改该文件,将RK3399启动的桌面程序替换为自己的应用程序即可。 步骤1:创建编译可以运行的helloworld qt程序,得到可在RK3399开发板上运行的bin文件helloworld 步骤2:将步骤1生存的helloworld拷贝到在RK3399开发板/usr/bin/目录下 步骤3:修改/etc/init.d/S60matrix-browser,代码修改如下,修改完保存退出: [root@rk3399:/]# vi /etc/init.d/S99matrix-browser #!/bin/sh #Start linux launcher… case “$1” in start) printf "Starting matrix-browser: " source /etc/profile.d/env.sh #/usr/bin/matrix-browser -no-sandbox --disable-gpu localhost >> /dev/null & /usr/bin/helloworld & ;; stop) #killall matrix-browser killall helloworld printf “stop finished” ;; *) echo “Usage: $0 {start|stop}” exit 1 ;; esac exit 0 步骤4:输入sync同步保存命令,重启RK3399开发板,就可以看到helloworld程序自动启动了。 五、RK3399 Desktop中安装Docker环境 步骤1. 安装必要的一些系统工具 $ sudo apt-get update $ sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common 步骤2. 安装 GPG 证书 $ curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - 步骤3. 写入软件源信息 $ sudo add-apt-repository “deb [arch=arm64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(l***_release -cs) stable” 步骤4. 更新并安装 Docker-CE $ sudo apt-get -y update 查找Docker-CE 的版本 $ apt-cache madison docker-ce 输出:docker-ce | 18.06.3ce3-0~ubuntu | http://mirrors.aliyun.com/docker-ce/linux/ubuntu/ trusty/stable amd64 Packages 安装指定版本的Docker-CE 例如: $ sudo apt-get -y install docker-ce=18.06.3ce3-0~ubuntu 再安装docker-ce的过程中,会产生以下错误信息,这是由于在内核在编译的时候没有打开docker支持。 docker相关配置没打开,使用附件的config替换arch/arm64/configs/rockchip_linux_defconfig,然后重新编译,烧写之后即可安装。 六、RK3399全编译afptool文件报错 在进行RK3399 Linux的编译过程中,产生如上报错是因为afptool是32位系统下的文件,在64位系统中无法运行。 执行以下命令,设置64位兼容32位程序: sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386 重新编译即可编译成功。 以上为近期整理出的RK3399问题及解决思路, 欢迎大家指正,交流。 |
|
|
|
只有小组成员才能发言,加入小组>>
771 浏览 0 评论
1146 浏览 1 评论
2527 浏览 5 评论
2858 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2709 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1054浏览 3评论
189浏览 2评论
453浏览 2评论
364浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
449浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 13:05 , Processed in 1.000343 second(s), Total 48, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号