100ask firefly-rk3288

出自 百问网嵌入式Linux wiki
前往: 導覽搜尋

BeginnerLearningRoute 005.png

firefly-rk3288簡介

SOC特徵

  • CPU:
    • Quad Core Cortex-A17 up to 1.8GHz
    • 32KB L1-Cache
    • 1MB L2-Cache
  • Internal SRAM
    • 96KB total
    • First 16KB used by Bootrom when bootup
  • GPU:
    • ARM Mali-T764 GPU, with TE, ASTC, AFBC technology
    • Quad core 3D Graphics engine
    • Dual core 2D Graphics engine
    • Comply with OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11
  • Display:
    • 4Kx2K@60fpsHDMI2.0
    • Up to 3840X2160 display resolution
    • Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1
  • Camera:
    • Support up to 5M pixels
    • 8bits/10bits/12bits raw data interface 
  • Memory:
    • Dual channels 64-bit DRAM controller
    • Support DDR3/DDR3L, LPDDR2, LPDDR3
  • Connectivity:
    • Embedded 13M ISP and MIPI-CSI2 interface
  • Audio:
    • I2S/PCM with 8 channels
RTENOTITLE

開發板特徵

正面視圖
反面視圖
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

快速使用

準備工作

開發板連接示意圖

要使用你的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

開發板連接示意圖請參考右邊的連接方式,連接後用MobaXterm串口工具進行登錄。

更新系統/燒寫img鏡像文件

請提前下載好配套的資料(本頁最開頭有下載連結),拷貝下列文件到到下載目錄:

Firefly-rk3288_board/firefly-rk3288_视频配套资料_2019.07.16/02_Images/Sdcard_img 目录下的sdcard.img


然後通過如下操作進行燒寫更新系統。

sd卡啟動

  • 1.安裝資料光碟下01_tools\SD Card Formatter 5.0.1 Setup.exe軟體,安裝完成後打開!
  • 2.使用SdCardFormatter格式化SD卡,格式化步驟如下如所示!
100ask am335x SD P 004.png 100ask am335x SD P 005.png 100ask am335x SD P 006.png
(1)選擇要格式化的SD卡,選中Quick format,點擊Format (2)在彈出的對話框中點擊是(Y) (3)等待格式化完成,在彈出的對話框中點擊確定
  • 3.安裝資料光碟下01_tools/ win32diskimager-1.0.0-install.exe軟體,安裝完成後打開!
  • 4.使用wind32diskimage燒寫存放在下載目錄的 sdcard.img 系統鏡像文件,燒寫步驟如下所示!
100ask am335x SD p 001.png 100ask am335x SD p 002.png 100ask am335x SD p 003.png
(1)選中需要燒寫的SD卡設備,點擊文件圖標選擇系統鏡像文件,最後點擊寫入按鈕開始燒寫 (2)此時彈出燒寫對話框,點擊Yes按鈕,繼續燒寫, 等待任務進度執行到100%) 燒寫成功後,彈出寫入成功,此時點擊OK

燒寫firefly官方系統

請參考頁面 更新/燒寫系統

體驗Arduino編程

在過去十年的教育培訓中,遇到很多程式設計師、計算機軟硬體愛好者。他們對硬體、驅動並不了解,
希望通過簡單的學習就能控制硬體,實現自己創意想法,而不是看硬體晶片手冊、編寫驅動、應用程式。
為此,我們在產品上編寫了一套基於Arduino的應用程式庫,讓用戶可以通過幾行簡單的代碼,實現對各種硬體模塊的控制。

介紹了LED燈、按鍵、紅外遙控、溫濕度傳感器、人體紅外檢測、超聲波測距、步進電機控制、OLED顯示、三軸加速度計、
實時時鐘、數模/模數轉換、GPS模塊等的基本使用,最後再示例了兩個實戰項目供讀者參考。

  • 使用方法請參考該連結,使用GIT下載文檔: 初學者學習路線
  • 使用GIT下載文檔後,請參考 01_使用Arduino操作體驗簡單開發/Firefly-RK3288開發板Arduino使用手冊.pdf

編譯100ask linux sdk系統

注意:此章節操作均在我們提供的資料光碟以及vmware ubuntu18.04進行過測試,確保其可用。如需自行安裝配置vmware ubuntu開發環境請參考Configuring_ubuntu

簡介:以下資源僅限於在百問網官方購買及百問網授權店鋪購買的開發板上使用,我們在官方的基礎上做了大量的定製化修改,精簡了系統,簡化下載以及編譯流程,更大的提升開發效率,系統不同於firefly官方。
如需為firefly-rk3288編譯ubuntu 以及Android系統請參考頁面 構建Linux-sdk 構建Android系統鏡像

獲取源碼

類別 國內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郵箱帳號和用戶名配置

book@100ask:~$  git config --global user.email "you@example.com"
book@100ask:~$  git config --global user.name "Your Name"

初次使用,需要配置用戶名和密碼才可以進行代碼同步,用戶名和密碼根據自己情況設定,也可以隨意設定

考慮到代碼倉庫過多,特使用repo工具管理代碼

  • repo工具獲取sdk
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

上面使用的repo管理為國內coding倉庫

設置工具鏈

交叉編譯工具鏈主要是用於在ubuntu主機上編譯並聲稱可以在其它平台上運行的系統。設置交叉編譯工具主要是設置PATH, ARCH和CROSS_COMPILE三個環境變量,下面介紹具體設置方法。

  • 永久生效

如需永久修改,請修改用戶配置文件, Ubuntu系統下,修改如下:

 vim ~/.bashrc

在行尾添加或修改:

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」命令後,該設置只對當前終端有效

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-
  • 手動指定

Make編譯時指定ARCH架構 CROSS_COMPILE交叉編譯工具鏈

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-

編譯uboot

  • 準備工作

安裝TFTP NFS服務請參考 Ubuntu環境配置,設置如下參數讓系統通過網絡掛載方式啟動,方便調試。
其中TFTP目錄假設為 /home/book/tftpboot NFS目錄假設為 /home/book/nfs_rootfs
注意:以下操作會破壞SD卡的數據,請先進行備份。

  • 編譯Firefly-rk3288開發板uboot命令
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
  • 單獨燒寫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
=> ping 192.168.1.111
=> setenv serverip 192.168.1.132
=> tftpboot 0x01f00000 rk3288-firefly.dtb; tftpboot 0x02000000 zImage; setenv bootargs root=/dev/nfs nfsroot=192.168.1.132:/work/rootfs_rk3288 rw ip=192.168.1.120; bootz 0x02000000 - 0x01f00000

執行 run netboot 命令後,uboot會自動根據設置的參數,下載複製到 /home/book/tftpboot目錄下的設備樹文件和內核文件以及掛載nfs文件系統。

編譯linux kernel

  • 準備工作

安裝TFTP NFS服務請參考 Ubuntu環境配置,設置如下參數讓系統通過網絡掛載方式啟動,方便調試。
其中TFTP目錄假設為 /home/book/tftpboot NFS目錄假設為 /home/book/nfs_rootfs

  • 編譯Firefly-rk3288開發板內核
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
  • 編譯內核模塊
 
book@100ask:~/100ask_firefly-rk3288/linux-4.4$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules

安裝內核模塊到nfs根文件系統

book@100ask:~/100ask_firefly-rk3288/linux-4.4$ sudo make ARCH=arm INSTALL_MOD_PATH=/media/rootfs  modules_install
  • uboot通過tftp方式下載內核

將編譯成功的zImage文件和設備樹rk3288-firefly.dtb文件,拷貝到ubuntu的/home/book/tftpboot 目錄下,
用以uboot通過tftp 方式進行下載並啟動系統。

編譯根文件系統

  • 準備工作

安裝TFTP NFS服務請參考 Ubuntu環境配置,設置如下參數讓系統通過網絡掛載方式啟動,方便調試。
其中TFTP目錄假設為 /home/book/tftpboot NFS目錄假設為 /home/book/nfs_rootfs

  • 文件系統特徵
配置文件 含義
100ask_firefly-rk3288_defconfig 文件系統版本(再默認版本支持了qt)
  • 編譯步驟
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 –jN		 /* N表示CPU的线程数,比如可以写4、8等以加快编译速度 */

注意:機器性能不同,編譯時間不同。性能差的電腦,有可能需要等待1 ~ 2個小時。

  • 編譯後生成文件介紹
 
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					<--内核镜像

buildroot詳細的使用介紹請參考Buildroot

  • 解壓文件系統nfs目錄

把使用buildroot構建得到的根文件系統nfs_rootfs/rootfs.tar.gz,複製、解壓到ubuntu的/etc/exports文件中指定的目錄里,即複製到/home/book目錄下,得到/home/book/nfs_rootfs下眾多文件:

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


更新日誌

2019.8.1更新說明

  • 首次發布
2019.8.7更新說明
  • 首次發布

獲取幫助與反饋建議

如果您有技術問題或錯誤報告,請訪問bbs.100ask.org論壇查找搜索,或發送郵件到 support@100ask.net,相關工作人員看到後會及時回復您。
我們在 頁面中總結了一些有用的主題,來幫助你快速解決一些常見問題。 對於網上購買客戶,如有問題請聯繫購買產品時的商家。


Lmaster

2 個月 前
分數 0
開始的標題錯誤:freifly(拼寫錯誤 firefly)

您未被允許發表評論。