匿名
未登录
登录
百问网嵌入式Linux wiki
搜索
查看“100ask firefly-rk3288”的源代码
来自百问网嵌入式Linux wiki
名字空间
页面
讨论
更多
更多
页面选项
Read
查看源代码
历史
←
100ask firefly-rk3288
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
该页面已被保护以防止编辑和其他操作。
您可以查看与复制此页面的源代码。
{{Template:DownloadMethod}} =[[rk3288 | rk3288 soc介绍]]= <span style=" font-size:1.5rem;color:#ff0000; "> [[rk3288 | rk3288 soc特征介绍]]</span> =firefly-rk3288简介= ==开发板特征== [[File:100ask_firefly-rk3288_02.png|thumb|right|frameless|750px|正面视图]] [[File:100ask_firefly-rk3288_04.png|thumb|right|frameless|750px|反面视图]] {| border="0" cellpadding="1" cellspacing="1" class="wikitable" style="text-align: left; background-color: rgba(255,255,255,0.2); " |- !colspan="2"| Firefly-RK3288参数 |- | 主控芯片|| *Rockchip RK3288 (28纳米HKMG制程) |- | 处理器|| *ARM® Cortex™-A17 四核 1.8GHz |- | 图形处理器|| *ARM® Mali-T760 MP4 支持OpenGL ES 1.1/2.0 /3.0, OpenVG1.1, OpenCL, Directx11 *内嵌高性能2D 加速硬件 *支持4K H.264 和 10bits H.265视频解码,1080P 多格式视频解码 *1080P 视频编码,支持H.264,VP8 和MVC |- | 内存|| *2GB 双通道DDR3 (Plus版为4GB) |- | 存储器|| *16GB 高速eMMC (Plus版为32GB) *MicroSD (TF) 卡 |- | 电源管理|| *ACT8846 PMU芯片 |- | 以太网|| *10/100/1000Mbps以太网 (Realtek RTL8211E) |- | 无线网络|| *集成二合一WiFi模块(AP6335): *WiFi 2.4GHz/5GHz双频 支持802.11a/b/g/n/ac协议 *Bluetooth 4.0(支持BLE) |- | 视频|| *支持多路视频高清输出: *1 x HDMI 2.0 , 支持4K@60帧输出 *1 x VGA,支持1080P输出 *1 x MIPI、1 x EDP、2 x LVDS 液晶屏显示接口 |- | 音频|| *1 x HDMI音频输出 *1 x 耳麦接口,用于音频输入输出 *1 x SPDIF 数字音频接口,用于音频输出 *1 x 麦克风,用于音频输入 *1 x I2S ,用于音频输入输出 |- | 摄像头|| *1 x MIPI-CSI摄像头接口 (最高支持13Mpixel ) |- | USB|| *2 x USB2.0 HOST,1 x USB2.0 OTG *在板背面保留4组USB2.0接口 |- | 红外|| *1 x 红外接收头,支持红外遥控功能 |- | LED|| *1 x 电源状态LED (蓝色) *1 x 自定义LED (绿色) |- |按键 || *1 x 复位键 *1 x 电源键 *1 x 升级键 |- | 调试 || *1 x 调试串口,用于开发调试 |- |电源 || *DC5V - 2.5A ( 通过DC4.0*1.7mm座供电) |- |尺寸 || *118mm × 85mm |} =快速使用= ==准备工作== [[File:100ask_firefly-rk3288_05.png|thumb|right|frameless|700px|开发板连接示意图]] 要使用你的firefly-rk3288开发板,请提前准备好以下资源: * 一台可以上网的windows电脑 * firefly-rk3288开发板 * microSD卡/TF卡: Class10或以上的 8GB SDHC卡 * 一个5v/3A的DC接口电源适配器 * 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镜像文件== ===破坏板载系统=== {{redtext|'''注意:'''拿到开发板后需先破坏板载安卓系统,才可正常启动SD卡系统镜像}}<br> 请先连接并打开开发板串口界面,上电启动后进入系统,执行以下命令,执行完成后断电重启。 <syntaxhighlight lang="bash"> shell@firefly:/ $ su shell@firefly:/ # mkdosfs /dev/block/mmcblk0 shell@firefly:/ # sync </syntaxhighlight> 请提前下载好配套的资料(本页最开头有下载链接),拷贝下列文件到到下载目录:<br> <code>Firefly-rk3288_board/firefly-rk3288_视频配套资料_2019.07.16/02_Images/Sdcard_img</code> 目录下的<code>sdcard.img</code> <br> 然后通过如下操作进行烧写更新系统。<br> ===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 |} ===烧写firefly官方系统=== 请参考页面[[ Firefly-rk3288_build_Android-5.1#MaskRom.E6.A8.A1.E5.BC.8F.E7.83.A7.E5.86.99.E7.B3.BB.E7.BB.9F | 更新/烧写系统 ]] ==体验Arduino编程== 在过去十年的教育培训中,遇到很多程序员、计算机软硬件爱好者。他们对硬件、驱动并不了解,<br> 希望通过简单的学习就能控制硬件,实现自己创意想法,而不是看硬件芯片手册、编写驱动、应用程序。<br> 为此,我们在产品上编写了一套基于Arduino的应用程序库,让用户可以通过几行简单的代码,实现对各种硬件模块的控制。<br> <br> 介绍了LED灯、按键、红外遥控、温湿度传感器、人体红外检测、超声波测距、步进电机控制、OLED显示、三轴加速度计、<br> 实时时钟、数模/模数转换、GPS模块等的基本使用,最后再示例了两个实战项目供读者参考。<br> <br> *使用方法请参考该链接,使用GIT下载文档:[[BeginnerLearningRoute | 初学者学习路线 ]]。 *使用GIT下载文档后,请参考 '''01_使用Arduino操作体验简单开发/Firefly-RK3288开发板Arduino使用手册.pdf''' =编译100ask linux sdk系统= <div style="color:#F00; font-size: 1.1em">注意:此章节操作均在我们提供的资料光盘以及vmware ubuntu18.04进行过测试,确保其可用。如需自行安装配置vmware ubuntu开发环境请参考[[Configuring_ubuntu ]]</div> 简介:以下资源仅限于在百问网官方购买及百问网授权店铺购买的开发板上使用,我们在官方的基础上做了大量的定制化修改,精简了系统,简化下载以及编译流程,更大的提升开发效率,系统不同于firefly官方。<br> 如需为firefly-rk3288编译ubuntu 以及Android系统请参考页面[[firefly-rk3288_build_linux | 构建Linux-sdk]][[firefly-rk3288_build_Android-5.1 | 构建Android系统镜像]] 。 ==获取源码== {| 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_firefly-rk3288_uboot || https://github.com/100askTeam/firefly-rk3288_uboot |- |linux kernel|| https://dev.tencent.com/u/weidongshan/p/100ask_firefly-rk3288_kernel|| https://github.com/100askTeam/firefly-rk3288_kernel |- |根文件系统|| https://dev.tencent.com/u/weidongshan/p/100ask_firefly-rk3288_buildroot|| https://github.com/100askTeam/firefly-rk3288_buildroot |} git邮箱账号和用户名配置 <syntaxhighlight lang="bash"> book@100ask:~$ git config --global user.email "you@example.com" book@100ask:~$ git config --global user.name "Your Name" </syntaxhighlight> 初次使用,需要配置用户名和密码才可以进行代码同步,用户名和密码根据自己情况设定,也可以随意设定 考虑到代码仓库过多,特使用repo工具管理代码<br> *repo工具获取sdk <syntaxhighlight lang="bash"> book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git book@100ask:~$ mkdir -p 100ask_firefly-rk3288 && cd 100ask_firefly-rk3288 book@100ask:~/100ask_firefly-rk3288$ ../repo/repo init -u https://dev.tencent.com/u/weidongshan/p/manifests/git -b linux-sdk -m rk3288/firefly-rk3288_linux_release.xml --no-repo-verify book@100ask:~/100ask_firefly-rk3288$ ../repo/repo sync -j4 </syntaxhighlight> 上面使用的repo管理为国内coding仓库 ==设置工具链== 交叉编译工具链主要是用于在ubuntu主机上编译并声称可以在其它平台上运行的系统。设置交叉编译工具主要是设置PATH, ARCH和CROSS_COMPILE三个环境变量,下面介绍具体设置方法。 * 永久生效 如需永久修改,请修改用户配置文件, Ubuntu系统下,修改如下: <syntaxhighlight lang="bash"> vim ~/.bashrc </syntaxhighlight> 在行尾添加或修改: export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabihf- export PATH=$PATH:/home/book/100ask_firefly-rk3288/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin * 临时生效 执行完“export”命令后,该设置只对当前终端有效 <syntaxhighlight lang="bash"> book@100ask:~$ export PATH=$PATH:/home/book/100ask_firefly-rk3288/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin book@100ask:~$ export ARCH=arm book@100ask:~$ export CROSS_COMPILE=arm-linux-gnueabihf- </syntaxhighlight> * 手动指定 Make编译时指定ARCH架构 CROSS_COMPILE交叉编译工具链 <syntaxhighlight lang="bash"> book@100ask:~$ export PATH=$PATH:/home/book/100ask_firefly-rk3288/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin book@100ask:~$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- </syntaxhighlight> ==编译uboot== *准备工作 安装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卡的数据,请先进行备份。''' *编译Firefly-rk3288开发板uboot命令 <syntaxhighlight lang="bash"> book@100ask:~$ cd ~/100ask_firefly-rk3288/uboot2017.09 book@100ask: ~/100ask_firefly-rk3288/uboot2017.09 $ make distclean book@100ask: ~/100ask_firefly-rk3288/uboot2017.09 $ make 100ask_firefly-rk3288_defconfig book@100ask: ~/100ask_firefly-rk3288/uboot2017.09 $ make book@100ask: ~/100ask_firefly-rk3288/uboot2017.09 $ ./make.sh trust book@100ask: ~/100ask_firefly-rk3288/uboot2017.09 $ ./make.sh uboot book@100ask: ~/100ask_firefly-rk3288/uboot2017.09 $ ./make.sh loader </syntaxhighlight> *单独烧写uboot 使用dd命令烧写img镜像文件到TF卡中。 book@100ask:~/100ask_firefly-rk3288/uboot2017.09$ sudo dd if=idbloader.img of=/dev/sdb seek=64 book@100ask:~/100ask_firefly-rk3288/uboot2017.09$ sudo dd if=uboot.img of=/dev/sdb seek=16384 book@100ask:~/100ask_firefly-rk3288/uboot2017.09$ sudo dd if=trust.img of=/dev/sdb seek=24576 * nfs启动系统 注意: '''serverip'''为你的ubuntu IP 地址 '''ipaddr '''为你给开发板设置的IP地址,设置IP完成后可以通过 ping 命令来确认是否连通。 其中'''rootpath '''指定的是ubuntu下解压的firefly-rk3288文件系统所在目录。 => setenv ipaddr 192.168.1.112 => setenv serverip 192.168.1.132 => tftpboot 0x01f00000 rk3288-firefly.dtb; tftpboot 0x02000000 zImage; setenv bootargs root=/dev/nfs nfsroot=192.168.1.132:/home/book/nfs_rootfs,vers=3 rw ip=dhcp; bootz 0x02000000 - 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> *编译Firefly-rk3288开发板内核 <syntaxhighlight lang="bash"> book@100ask:~/100ask_firefly-rk3288$ cd linux-kernel book@100ask:~/100ask_firefly-rk3288/linux-4.4$ make mrproper book@100ask:~/100ask_firefly-rk3288/linux-4.4$ make 100ask_firefly-rk3288_defconfig book@100ask:~/100ask_firefly-rk3288/linux-4.4$ make zImage book@100ask:~/100ask_firefly-rk3288/linux-4.4$ make dtbs </syntaxhighlight> *编译内核模块 <syntaxhighlight lang="bash"> book@100ask:~/100ask_firefly-rk3288/linux-4.4$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules </syntaxhighlight> 安装内核模块到nfs根文件系统 <syntaxhighlight lang="bash"> book@100ask:~/100ask_firefly-rk3288/linux-4.4$ sudo make ARCH=arm INSTALL_MOD_PATH=/media/rootfs modules_install </syntaxhighlight> *uboot通过tftp方式下载内核 将编译成功的'''zImage'''文件和设备树'''rk3288-firefly.dtb'''文件,拷贝到ubuntu的<code>/home/book/tftpboot</code> 目录下,<br> 用以uboot通过tftp 方式进行下载并启动系统。 ==编译根文件系统== *准备工作 安装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> *文件系统特征 {| class="wikitable" |- ! 配置文件 !! 含义 |- | 100ask_firefly-rk3288_defconfig || 文件系统版本(再默认版本支持了qt) |} *编译步骤 <syntaxhighlight lang="bash"> book@100ask:~/100ask_firefly-rk3288$ cd buildroot2018.02 book@100ask:~/100ask_firefly-rk3288/buildroot2018.02$ make clean book@100ask:~/100ask_firefly-rk3288/buildroot2018.02$ make 100ask_firefly-rk3288_defconfig book@100ask:~/100ask_firefly-rk3288/buildroot2018.02$ make menuconfig book@100ask:~/100ask_firefly-rk3288/buildroot2018.02$ make all </syntaxhighlight> '''注意:机器性能不同,编译时间不同。性能差的电脑,有可能需要等待1 ~ 2个小时。''' *编译后生成文件介绍 <syntaxhighlight lang="bash" > 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> buildroot详细的使用介绍请参考[[Buildroot]] *解压文件系统nfs目录 把使用buildroot构建得到的根文件系统nfs_rootfs/rootfs.tar.gz,复制、解压到ubuntu的/etc/exports文件中指定的目录里,即复制到/home/book目录下,得到/home/book/nfs_rootfs下众多文件: <syntaxhighlight lang="bash"> book@100ask:~/100ask_firefly-rk3288/buildroot2018.02/output/images$ cp -rf nfs_rootfs/ ~ book@100ask:~/100ask_firefly-rk3288/buildroot2018.02/output/images$ cd ~/nfs_rootfs book@100ask:~/nfs_rootfs$ sudo tar -zxvf rootfs.tar.gz </syntaxhighlight> =更新日志= {| 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;" | |} =获取帮助与反馈建议= *如果您有技术问题或错误报告,请访问bbs.100ask.org论坛查找搜索或发帖提问,相关工作人员看到后会及时回复您。<br> *对于网上购买客户,如有问题请联系购买产品时的商家。<br> *如您发现Wiki网站有任何表达错误或者建议请发送邮件到 support@100ask.net ,我们会及时更改处理。<br> <div style="border: 1px solid #A7D7F9; "><comments /></div> [[Category:ROCKCHIP]][[Category:Rk3288]] [[Category:LinuxKernel4.x]]
该页面使用的模板:
模板:DownloadMethod
(
查看源代码
)
模板:Redtext
(
查看源代码
)
返回至
100ask firefly-rk3288
。
导航
导航
WIKI首页
官方店铺
资料下载
交流社区
所有页面
所有产品
MPU-Linux开发板
MCU-单片机开发板
Linux开发系列视频
单片机开发系列视频
所有模块配件
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志