RK3399有三种启动模式:1、Normal模式;2、Loader模式;3、MaskRom模式。

Normal模式是正常的启动过程,各个组件依次加载,直到正常进入系统。

Loader模式会让bootloader进入升级状态,等待主机命令,用于固件升级等。Firefly-RK3399要进入Loader模式,需要在bootloader启动时检测到RECOVERY(恢复)键被按下,并且USB处于和PC连接的状态。

MaskRom模式是设备变砖的最后一条防线,用于bootloader损坏时进行系统修复。一般情况下是不用进入MaskRom模式的,只有在设备进入不了Loader模式(bootloader校验失败,读取不了IDR块,或bootloader损坏)、SD卡启动也失效的情况下,BootRom代码才会进入MaskRom模式。此时BootRom代码等待主机通过USB接口传送bootloader代码,传送完成后进行加载并运行,并进入Loader模式。

这块toybrick recovery按键没有接出来,核心板上有个maskrom按键可以进入maskrom模式。

  

串口登录,fedora系统登录用户名:toybrick,密码:toybrick


配置好网络后,通过auth脚本完成网络验证,要不不能上网

用dnf安装qt

dnf check-update

dnf install qt5-devel

qt5在fedora28上 qDebug 没输出:

vi /usr/share/qt5/qtlogging.ini

改为如下内容

[Rules]

*.debug=true

qt.qpa.*=false

qt.qpa.xcb.xcberror.warning=false

其中第一条是打开debug,第二条是屏蔽qt.qtp开头的一些调试信息

查看QLoggingCategory 可以找到详细的描述。 好像fedora 的配置文件路径不是标准的。。。

播放视频无法解码 

把所有插件都装上

dnf install gstreamer1-plugins*

dnf search rockchip

可以找到一堆mpp drm相关的

 ​


查看dnf 安装包内容

dnf repoquery -l librockchip_mpp-tests

 ​

直接调用

播放文件, 还是卡。

gst-launch playbin uri=file:///path/to/test.avi

【视频开发】Gstreamer中一些gst-launch常用命令

 ​

更新固件后,最终安装命令:


dnf install gstreamer1-plugins-base mesa-dri-drivers gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer-rockchip gstreamer1-libav-1.14.1-1.fc28

其中最重要的是gstreamer1-libav ,包含各种解码


声音播放,要求音频耳机口输出,默认是hdmi输出

发现qt后端是PulseAudio,用pactl设置输出sink

//hdmi输出

[toybrick@localhost audiodevice]$ pactl set-default-sink 0

//耳机输出

[toybrick@localhost audiodevice]$ pactl  set-default-sink 2 

 ​

5.13 切换音频默认输出设备
5.13.1 设置默认的输出设备

编辑文件 /etc/pulse/default.pa,修改 set-default-sink 的值,值为0时表示从HDMI出声,1则表示从耳机接口出声,如下所示:

set-default-sink 0
5.13.2 播放时临时切换

这种方法仅对当前的播放进程有效:

打开菜单 "Sound & Video" -> "PulseAudio Volume Control", 在界面上点击 "Built-in Audio Stereo" 按钮切换不同的输出设备,比如在HDMI与耳机接口之间切换。

其实也可用命令