匿名
未登录
登录
百问网嵌入式Linux wiki
搜索
查看“100ask roc-rk3399-pc”的源代码
来自百问网嵌入式Linux wiki
名字空间
页面
讨论
更多
更多
页面选项
Read
查看源代码
历史
←
100ask roc-rk3399-pc
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
该页面已被保护以防止编辑和其他操作。
您可以查看与复制此页面的源代码。
*百度网盘链接:https://pan.baidu.com/s/1OYJc0Apx6DcdGtbTI5KQqw 提取码:3vp2<br> *请根据自己购买的开发板下载相应的资料光盘:<br> [[File:BeginnerLearningRoute_005.png|300px]] =roc-rk3399-pc简介= ==SOC特征== {| border="0" cellpadding="1" cellspacing="1" |- | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: ** Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: ** Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX ||[[File:RK3399 Block Diagram.png|right|]] |} ==开发板特征== [[File:100ask_roc-rk3399-pc_02.png|thumb|right|frameless|700px|正面视图]] [[File:100ask_roc-rk3399-pc_03.png|thumb|right|frameless|700px|背面视图]] {| border="0" cellpadding="1" cellspacing="1" class="wikitable" style="text-align: left; background-color: rgba(255,255,255,0.2); " |- !colspan="2"| roc-rk3399-pc 开发板参数列表 |- | 主控芯片 || *Rockchip RK3399 (28纳米HKMG制程) |- | 处理器 || *六核ARM® 64位处理器,主频高达1.8GHz *基于big.LITTLE大小核架构,双核Cortex-A72(大核)+四核Cortex-A53(小核) |- | 图形处理器|| *ARM Mali-T860 MP4 四核GPU *支持OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11 *支持AFBC(帧缓冲压缩) |- | 视频处理器|| *支持4K VP9 and 4K 10bits H265/H264 视频解码,高达60fps *1080P 多格式视频解码 (WMV, MPEG-1/2/4, VP8) *1080P 视频编码,支持H.264,VP8格式 *视频后期处理器:反交错、去噪、边缘/细节/色彩优化 |- | 电源管理|| *RK808-D PMU芯片 |- | 内存 || *4GB LPDDR4 双通道64位RAM |- | 存储器|| *板载SPI flash(16M Byte) *16GB/32GB/128GB 高速eMMC(可选) *支持MicroSD (TF) 卡、U盘扩展 *支持扩展板M.2 M-Key 扩展SSD |- | 以太网|| *千兆以太网(RJ45接口) |- | WiFi/蓝牙|| *通过扩展板 M.2 E-Key接口(提供SDIO 3.0信号) |- | 显示|| *HDMI2.0支持4K 60Hz显示,支持HDCP 1.4/2.2 *DisplayPort 1.2(最高支持4K 60Hz) *支持eDP 1.3 *支持MIPI-DSI(双通道) *支持双屏显示(Type-C + HDMI),支持 4K + 2K输出 |- | 音频|| *1 x HDMI音频输出、DP音频输出 |- | 摄像头|| *双路MIPI CSI接口(同时支持双路摄像头) |- | USB|| *USB 2.0 Host × 3 *Type-C × 2 |- | 调试|| *调试串口 × 1,用于开发调试 |- | 按键 || *Recovery × 1 *Power × 1 |- | 红外|| * 1路红外接收头,支持红外遥控功能 |- | RTC|| *RTC实时时钟 x 1,板载电池座 |- | 电源|| *POE+(802.3 AT,输出功率 30W) *Type-C PD 2.0电源控制芯片、支持宽电压输入(5V-15V) *双节电池供电(7.4V锂电) |- | 双Type-C|| *支持 4K@60fps输出(不支持同时输出) *TypeC0接口:支持 DisplayPort 1.2 + Power Delivery 2.0+ USB3.0 OTG +USB2.0 Host、 *使用一根Type-C线,即可同时实现的板子供电和DP输出。 *TypeC1 接口:支持DisplayPort 1.2 + USB3.0 HOST+ USB2.0 HOST, 支持对外供电 |} ==软件支持== ==模块支持== *adxl345 *dac *dh11 *ds18b20 *eeprom *gps *irda *oled *步进电机驱动模块 *超声波 *人体红外感应 =快速使用= ==准备工作== [[File:100ask_roc-rk3399-pc_04.png|thumb|right|frameless|700px|开发板连接示意图]] 要使用你的roc-rk3399-pc开发板,请提前准备好以下资源: * 一台可以上网的windows电脑 * roc-rk3399-pc开发板 * microSD卡/TF卡: Class10或以上的 8GB SDHC卡 * 一个12v/2A的TYPE C接口电源适配器 * VMware-player-15.1.5.exe * Vmware ubuntu 18.04 64位虚拟机镜像 * win32diskimager-1.0.0-install.exe * MobaXterm_Portable_v11.0.zip 开发板连接示意图请参考右边的连接方式,连接后用<code>MobaXterm</code>串口工具进行登录。<br> ==更新系统/烧写img镜像文件== 请提前下载好配套的资料(本页最开头有下载链接),拷贝 <code>02_images\</code> 目录下的'''sdcard.img'''到下载目录,让后通过如下操作进行烧写更新系统。 ===sd卡启动=== *1.安装资料光盘下<code>01_tools\SD Card Formatter 5.0.1 Setup.exe</code>软件,安装完成后打开!<br> *2.使用'''SdCardFormatter'''格式化SD卡,格式化步骤如下如所示! {| class="wikitable" style="text-align: center; background-color: rgba(255,255,255,0.2)" |- | [[image:100ask_am335x_SD_P_004.png | 300px ]] | [[image:100ask_am335x_SD_P_005.png | 300px]] | [[image:100ask_am335x_SD_P_006.png | 300px ]] |- | (1)选择要格式化的SD卡,选中Quick format,点击Format || (2)在弹出的对话框中点击是(Y) || (3)等待格式化完成,在弹出的对话框中点击确定 |} *3.安装资料光盘下<code>01_tools/ win32diskimager-1.0.0-install.exe</code>软件,安装完成后打开!<br> *4.使用'''wind32diskimage'''烧写存放在下载目录的<code> sdcard.img</code> 系统镜像文件,烧写步骤如下所示!<br> {| class="wikitable" style="text-align: center; background-color: rgba(255,255,255,0.2)" |- | [[image:100ask_am335x_SD_p_001.png | 400px ]] | [[image:100ask_am335x_SD_p_002.png | 400px ]] | [[image:100ask_am335x_SD_p_003.png ]] |- | (1)选中需要烧写的SD卡设备,点击文件图标选择系统镜像文件,最后点击写入按钮开始烧写 || (2)此时弹出烧写对话框,点击Yes按钮,继续烧写, 等待任务进度执行到100%) || 烧写成功后,弹出写入成功,此时点击OK |} ==体验Arduino编程== 在过去十年的教育培训中,遇到很多程序员、计算机软硬件爱好者。他们对硬件、驱动并不了解,希望通过简单的学习就能控制硬件,实现自己创意想法,而不是看硬件芯片手册、编写驱动、应用程序。<br>为此,我们在产品上编写了一套基于Arduino的应用程序库,让用户可以通过几行简单的代码,实现对各种硬件模块的控制。<br> 介绍了LED灯、按键、红外遥控、温湿度传感器、人体红外检测、超声波测距、步进电机控制、OLED显示、三轴加速度计、实时时钟、数模/模数转换、GPS模块等的基本使用,最后再示例了两个实战项目供读者参考。<br> *使用方法请参考,配套资料<code>00_UserManual</code>目录下<code> Firefly-RK3288应用手册V1.1.pdf </code> pdf文档。<br> *或者点击右侧文档在线下载 [[:File:100ASK_AM335X应用手册_V1.0.zip | Firefly-RK3288应用手册V1.1.pdf ]],下载后解压即可阅读。 =编译100ask linux sdk系统= <div style="color:#F00; font-size: 1.1em">注意:以下所有操作均在我们提供的资料光盘以及vmware ubuntu18.04进行过测试,确保其可用。如需自行安装配置vmware ubuntu开发环境请参考[[Configuring_ubuntu ]]</div> 简介:以下资源仅限于在百问网官方购买及百问网授权店铺购买的开发板上使用,我们在官方的基础上做了大量的定制化修改,精简了系统,简化下载以及编译流程,更大的提升开发效率,系统不同于firefly官方。<br> 如需为roc-rk3399-pc编译ubuntu 以及Android系统请参考参考页面[[roc-rk3399-pc_build_linux | 构建Linux-sdk]][[roc-rk3399-pc_build_Android-7.1 | 构建Android-7.1系统]] [[roc-rk3399-pc_build_Android-8.1 | 构建Android-8.1系统]]。 ==获取源码== {| class="wikitable" style="text-align: left; background-color: rgba(255,255,255,0.2)" |- ! 类别 !! 国内coding仓库 !! 国外github仓库 |- |u-boot|| https://dev.tencent.com/u/weidongshan/p/100ask_roc-rk3399-pc_uboot || https://github.com/100askTeam/roc-rk3399-pc_uboot |- |linux kernel|| https://dev.tencent.com/u/weidongshan/p/100ask_roc-rk3399-pc_kernel|| https://github.com/100askTeam/roc-rk3399-pc_kernel |- |根文件系统|| https://dev.tencent.com/u/weidongshan/p/100ask_roc-rk3399-pc_buildroot|| https://github.com/100askTeam/roc-rk3399-pc_buildroot |} git邮箱账号和用户名配置 git config --global user.email "you@example.com" git config --global user.name "Your Name" 初次使用,需要配置用户名和密码才可以进行代码同步,用户名和密码根据自己情况设定,也可以随意设定 *repo工具配置 考虑到代码仓库过多,特使用repo工具管理代码<br> book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git book@100ask:~$ mkdir -p 100ask_roc-rk3399-pc && cd 100ask_roc-rk3399-pc book@100ask:~/100ask_roc-rk3399-pc $ ../repo/repo init -u https://dev.tencent.com/u/weidongshan/p/manifests/git -b linux-sdk -m rk3399/roc-rk3399-pc_linux_release.xml --no-repo-verify book@100ask:~/100ask_roc-rk3399-pc $ ../repo/repo sync -j4 *上面使用的repo管理文件xml为国内coding仓库 https://dev.tencent.com/u/weidongshan/p/manifests/git/tree/linux-sdk *如果使用Github仓库管理文件xml请查看 https://github.com/100askTeam/manifests/blob/linux-sdk/README.md ==设置工具链== 交叉编译工具链主要是用于在ubuntu主机上编译并声称可以在其它平台上运行的系统。设置交叉编译工具主要是设置PATH, ARCH和CROSS_COMPILE三个环境变量,下面介绍具体设置方法。 * 永久生效 如需永久修改,请修改用户配置文件, Ubuntu系统下,修改如下: vim ~/.bashrc 在行尾添加或修改: export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- export PATH=$PATH:/home/book/100ask_roc-rk3399-pc/ToolChain-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin * 临时生效 执行完“export”命令后,该设置只对当前终端有效 book@100ask:~$ export PATH=$PATH:/home/book/100ask_roc-rk3399-pc/ToolChain-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin book@100ask:~$ export ARCH=arm64 book@100ask:~$ export CROSS_COMPILE=aarch64-linux-gnu- * 手动指定 Make编译时指定ARCH架构 CROSS_COMPILE交叉编译工具链 book@100ask:~$ export PATH=$PATH:/home/book/100ask_roc-rk3399-pc/ToolChain-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin book@100ask:~$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- [命令] ==编译u-boot== *准备工作 安装TFTP NFS服务请参考[[Configuring_ubuntu#.E7.8E.AF.E5.A2.83.E9.85.8D.E7.BD.AE | Ubuntu环境配置]],设置如下参数让系统通过网络挂载方式启动,方便调试。<br> 其中TFTP目录假设为<code> /home/book/tftpboot</code> NFS目录假设为<code> /home/book/nfs_rootfs</code><br> '''注意:以下操作会破坏SD卡的数据,请先进行备份。''' *编译Roc-rk3399-pc开发板uboot命令 book@100ask:~$ cd ~/100ask_roc-rk3399-pc/uboot2019.01 book@100ask: ~/100ask_roc-rk3399-pc/uboot2019.01$ make distclean book@100ask: ~/100ask_roc-rk3399-pc/uboot2019.01$ make 100ask_roc-rk3399-pc_defconfig book@100ask: ~/100ask_roc-rk3399-pc/uboot2019.01$ make book@100ask: ~/100ask_roc-rk3399-pc/uboot2019.01$ ./make.sh trust book@100ask: ~/100ask_roc-rk3399-pc/uboot2019.01$ ./make.sh uboot book@100ask: ~/100ask_roc-rk3399-pc/uboot2019.01$ ./make.sh loader *单独烧写uboot 使用dd命令烧写img镜像文件到TF卡中。 book@100ask:~/100ask_roc-rk3399-pc/uboot2019.01$ sudo dd if=idbloader.img of=/dev/sdb seek=64 book@100ask:~/100ask_roc-rk3399-pc/uboot2019.01$ sudo dd if=uboot.img of=/dev/sdb seek=16384 book@100ask:~/100ask_roc-rk3399-pc/uboot2019.01$ sudo dd if=trust.img of=/dev/sdb seek=24576 * nfs启动系统 注意: '''serverip'''为你的ubuntu IP 地址 '''ipaddr '''为你给开发板设置的IP地址,设置IP完成后可以通过 ping 命令来确认是否连通。 其中'''rootpath '''指定的是ubuntu下解压的Roc-rk3399-pc文件系统所在目录。 => setenv serverip 192.168.1.132 => setenv ipaddr 192.168.1.112 => tftpboot 0x01f00000 rk3399-roc-pc.dtb; tftpboot 0x02080000 Image; setenv bootargs root=/dev/nfs nfsroot=192.168.1.132:/home/book/rootfs,vers=3 rw ip=192.168.1.120; booti 0x02080000 - 0x01f00000 执行''' run netboot 命令后,uboot会自动根据设置的参数,下载复制到<code> /home/book/tftpboot</code>目录下的设备树文件和内核文件以及挂载nfs文件系统。 ==编译linux kernel== *准备工作 安装TFTP NFS服务请参考[[Configuring_ubuntu#.E7.8E.AF.E5.A2.83.E9.85.8D.E7.BD.AE | Ubuntu环境配置]],设置如下参数让系统通过网络挂载方式启动,方便调试。<br> 其中TFTP目录假设为<code> /home/book/tftpboot</code> NFS目录假设为<code> /home/book/nfs_rootfs</code><br> *编译roc-rk3399-pc开发板内核 book@100ask:~/100ask_roc-rk3399-pc$ cd linux-4.4 book@100ask:~/100ask_roc-rk3399-pc/linux-4.4$ make mrproper book@100ask:~/100ask_roc-rk3399-pc/linux-4.4$ make 100ask_roc-rk3399-pc_defconfig book@100ask:~/100ask_roc-rk3399-pc/linux-4.4$ make Image book@100ask:~/100ask_roc-rk3399-pc/linux-4.4$ make dtbs *编译内核模块 book@100ask:~/100ask_roc-rk3399-pc/linux-4.4$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules *安装内核模块到nfs根文件系统 book@100ask:~/100ask_roc-rk3399-pc/linux-4.4$ sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/rootfs modules_install *uboot通过tftp方式下载内核 将编译成功的'''Image'''文件和设备树'''rk3399-roc-pc.dtb'''文件,拷贝到ubuntu的<code>/home/book/tftpboot</code> 目录下,<br> 用以uboot通过tftp 方式进行下载并启动系统。 =更新日志= {| border="1" style="background:transparent;" | style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" | {| class="wikitable toccolours mw-collapsible mw-collapsed" style="text-align:left; width:auto; overflow:auto;" !colspan="2" | ===2019.8.1更新说明=== |- | *首次发布 |} {| class="wikitable toccolours mw-collapsible mw-collapsed" style="text-align:left; width:auto; overflow:auto;" !colspan="2" |2019.8.7更新说明 |- | *首次发布 |} | style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" | | style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" | |} =反馈建议= <div style="border: 1px solid #A7D7F9; "><comments /></div> ==编译根文件系统== {| class="wikitable" |- ! 配置文件 !! 含义 |- | 100ask_roc-rk3399-pc_defconfig|| 默认文件系统版本 |} book@100ask:~/100ask_roc-rk3399-pc$ cd buildroot2018.02 book@100ask:~/100ask_roc-rk3399-pc/buildroot2018.02$ make clean book@100ask:~/100ask_roc-rk3399-pc/buildroot2018.02$ make 100ask_roc-rk3399-pc_defconfig book@100ask:~/100ask_roc-rk3399-pc/buildroot2018.02$ make menuconfig book@100ask:~/100ask_roc-rk3399-pc/buildroot2018.02$ make –jN /* N表示CPU的线程数,比如可以写4、8等以加快编译速度 */ 编译后生成文件介绍 <syntaxhighlight lang="c" > buildroot2018.02 ├── output ├── images ├── idbloader.img <--u-boot镜像 ├── nfs_rootfs <--打包并压缩的根文件系统,适用于NFSROOT启动 │ └── rootfs.tar.gz ├── rk3288-firefly.dtb <--设备树文件 ├── rootfs.ext2 ├── rootfs.ext4 -> rootfs.ext2 <--ext2格式根文件系统 ├── rootfs.tar <--打包后的根文件系统 ├── sdcard.img <--完整的SD卡系统镜像 ├── trust.img <--u-boot镜像 ├── u-boot.bin ├── u-boot-dtb.img ├── uboot.img <--u-boot镜像 └── zImage <--内核镜像 </syntaxhighlight> [[Category:ROCKCHIP]][[Category:Rk3399]] [[Category:LinuxKernel4.x]]
该页面使用的模板:
模板:DownloadMethod
(
查看源代码
)
模板:Redtext
(
查看源代码
)
模板:TalkGroup
(
查看源代码
)
返回至
100ask roc-rk3399-pc
。
导航
导航
WIKI首页
官方店铺
资料下载
交流社区
所有页面
所有产品
MPU-Linux开发板
MCU-单片机开发板
Linux开发系列视频
单片机开发系列视频
所有模块配件
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志