當前位置:首頁 » 編程軟體 » rk3288編譯

rk3288編譯

發布時間: 2022-06-15 02:17:46

Ⅰ 使用RK3288開發,燒錄完畢,開機串口列印只有一半。

兩方面原因,你需要自己分析一下:
1、燒錄的程序和主控器調用的地址對應不上。比如主控本來是要去第10行調用程序,結果程序被燒錄到了第12行。就出現了你描述的,串口列印輸出不正常的現象。
2、對NAND Flash或者eMMC晶元燒錄中的壞塊位置或者分區地址有分配不正常現象,NAND 需要特別注意
3、確保你的硬體本身是好的,這是首要條件。

Ⅱ rk3288 編譯內核後 kernel.img和source.img在哪個目錄

配置bootloader裝載rnkeel和將Ramdisk裝入ram中,並將Ramdisk地址在系統啟動時傳給kernel

Ⅲ 哪裡找Mali-T764的OpenCL在linux下的binary

mali的那個SDK我用過,那個可以用來編譯出安卓下的opencl的binary。
如果需要在GNU/Linux上跑OpenCL的程序,需要兩方面的支持:
1.內核層OpenCL的支持,這個是mali官方給出來了,可以下得到。
不過聽說瑞芯微在哪個版本的內核已經加入了內核層OpenCL的支持,所以把mali提供的內核支持文件移植到我們內核中的工作就不用我們做了,瑞芯微做好了。本來他們就需要做,不然他們怎麼驗證他們的晶元GPU功能呢。
2.用戶層OpenCL的支持,這個必須得瑞芯微自己提供。也就是GNU/Linux下的OpenCL的binary、
mali官方給的公版似乎不能在RK3288實際的硬體上使用。
現在就是用戶層OpenCL的問題比較麻煩,非常需要瑞芯微整出這個東西來,不然,OpenCL的編程根本沒法往下搞。

Ⅳ 如何用安卓文件系統讀寫數據

  經過ARM板-RK3288和小米手機的測試。親測可以使用。

       博客中寫的欠缺的地方,無所謂,直接去看代碼,裡面的注釋很詳細。程序員看代碼就行了,每個函數全部封裝好了,廢話不多話。博客很長,大家慢慢看,看完一勞永逸,以後直接調我的函數就行了,但是講的很詳細,全部都是對比的來實現,方便大家的閱讀。

總體:大家依據直接餓的需求去看

      一、先大體的介紹一下理論部分,這里還是很重要的。

      二、常見的存儲數據的方式

       三、IO 文件流的讀取方式

       四、sharedPreference 存儲

       五、SQLite的存儲方式

       六、assets的存儲方式 

       七、res的存儲方式

       八、raw的存儲方式

       一、先大體的介紹一下理論部分,這里還是很重要的。

      安卓存儲文件、數據的地方: RAM、ROM、內存(內部存儲器)、APP程序裡面(Assets,raw,res),SD卡(早期的安卓的可以插卡,現在的不支持了,但是有些 arm板 嵌入式方向的還是帶卡槽的),總體上來說就是這些了,網路。

      接下來再細分:

       1、RAM、ROM 這些東西我們就別碰了,不然一大堆問題,Environment.getRootDirectory()  需要獲取root許可權,不合適

      2、內存和SD卡  大家得理解  Environment.getExternalStorageState()  代表的是什麼意思,不是插卡的SD卡,而是說你買了開發板、手機,廠家送你的存儲地方(直接你得讓他送你哈)。  這部分作為主要的存儲路徑,小數據和大數據都適用。

      3、SD卡,黑色那張卡,老古董,現在手機都沒有了,不建議大家使用,非要去使用,我也寫了相關的代碼(根據機型,不通用,切記,不能用不能怪我,這個只提供思路)。

     4、網路,請求自己的伺服器,讀取數據,URI的方式,httpClient    post 和 get 兩種請求數據的方式

      存儲的地方就這么多了。

     二、常見的存儲數據的方式

      1、sharedPreference,  將數據保存為 xml 的格式,

      2、資料庫  將SQLite的方式

      3、contentprovider  APP之間交互數據的方式。(這里不講,沒有用過,沒有發言權)

      4、文件的讀取(IO流) 和 java的操作類似。

      5、Android內部的存儲 assets,res, raw,  三者的區別

           assets 和 raw 是不會隨著 APP進行編譯, res下的文件會隨著app一起編譯,每次 shift+alt+x 都要等好久

           assets目錄下可以創建子文件夾     raw 不可以

 

              Ⅳ 如何入手學習android 底層開發

              android 底層開發學習:
              一、基於Android的CPU+GPU的異構編程開發,目前主要有以下幾種平台:
              1. OpenCL
              在桌面系統和大規模並行計算領域被普遍使用的一種底層API。最近一段時間,主流的晶元廠商的旗艦或准旗艦晶元都開始支持OpenCL1.1或者1.2標准,包括高通,三星, 聯發科,Rockchip等廠商的晶元,都可以找到OpenCL的支持。
              2. CUDA
              目前只有NVIDIA自己出的基於Tegra K1晶元的設備(NVIDIA Shield)支持CUDA,所以支持的面比較窄。
              3. RenderScript (RS)
              Google力推的異構編程,宗旨是由平台幫你選擇運行的處理器,也就是說你是不知道你的程序跑在CPU還是GPU上的,這是由系統的驅動來決定的。想法是美好的,可現實是開發者並不買RS的帳, 大家覺得RS的性能不可控,靈活性太差,其文檔之缺乏也被人詬病;此外,晶元廠商對於RS的優化都還普遍處於比較低階的水平,這些都導致了RS在實際應用中很少被用到。

              二、由於OpenCL的普及程度,以下部分只針對OpenCL展開。
              目前支持OpenCL的設備和晶元
              1. 支持OpenCL的GPU
              高通幾乎全系的GPU, 包括但不限於以下GPU (Adreno 305, 320, 330, 405, 420, 430, 530 ...)
              ARM Mali的6系和7系GPU, 比如T628, T760

              2014年以來較新的Imagination PowerVR GPU,比如G6430
              2. 支持OpenCL的晶元。以下是一個很粗略地列舉了主要的支持OpenCL的晶元。

              高通8064, 8974(驍龍800,801), 8084(驍龍805), 8994(驍龍810)等
              三星 Exynos獵戶座 5420, 5433 (內置ARM Mali GPU)
              聯發科 MT6752 (內置ARM Mali T760 GPU)
              瑞芯微 RK3288 (內置ARM Mali GPU)
              3. 支持OpenCL的手機和平板。 這個就數不勝數了,下面只隨手給出幾個例子以供參考。(注意:Google Nexus系列的手機或平板,雖然硬體上支持OpenCL,但因為刪掉了OpenCL的驅動程序,所以基本都不支持OpenCL;值得注意的是,據國外blog上報道,可以將相應的OpenCL驅動推送回設備以重新開啟OpenCL的支持, 詳見maxlv.net 的頁面)

              三星 Galaxy S4, S5, S6, Note 3, Note 4
              LG G2, G3, G4
              HTC One M7, M8, M9
              小米使用高通晶元的手機和平板
              魅族M1 Note
              台積電P90HD
              等等等等。。。。
              如果不確定手頭的設備是否支持OpenCL, 可以使用OpenCL-Z Android進行檢測,這款軟體可以顯示詳細的OpenCL的設備信息,同時運行micro-benchmark檢測設備的計算能力。
              三、需要掌握的知識:
              1. 簡單的GPU基本知識
              2. OpenCL並行程序設計
              3. Android NDK知識
              4. Android JNI介面的編寫
              5. 簡單的Android程序開發知識

              四、開發的步驟(這里只是步驟的精簡版本,只闡述操作,不進行解釋):
              1. 編寫OpenCL的C/C++程序實現GPU的核心計算代碼
              2. 用Android NDK編譯之前寫的C/C++代碼。這一階段可以在純C/C++環境下工作,可以編寫main函數測試實現的功能,用NDK將代碼編譯為可執行的代碼(BUILD_EXECUTABLE), 然後用ADB將可執行程序推送到設備上運行。運行可執行程序要求設備具有root許可權,如果沒有root許可權,可以通過Native Program Launcher (AndroidNativeLauncher · GitHub,可能需要翻牆) 這一工具在設備上執行二進制代碼。
              3. 上一階段測試結束,功能基本正常。開始編寫JNI介面。
              4. 開始編寫Android應用程序,使用JNI封裝native函數。編譯C/C++代碼成動態鏈接庫。
              5. 在Android程序里,以靜態方式載入上一步編譯的動態鏈接庫。
              6. 在需要的地方(比如點擊按鈕事件),調用相應的native函數,即可實現相應的功能。

              Ⅵ 怎麼能讓RK3288能有1920*1200P60顯示輸出

              HDMI版本 1.0-1.2a 1.3 1.4
              最高解析度 1920x1200p60 2560x1600p75 4095x2160p24
              (採用24bit/px色彩深度)

              最高解析度 N/A 2560x1600p60 4096x2160p24
              (採用30bit/px色彩深度)
              最高解析度 N/A 1920x1200p75 4096x2160p24
              (採用36bit/px色彩深度)
              最高解析度 N/A 1920x1200p60 1920x1200p60
              (採用48bit/px色彩深度)

              目前VGA 介面可支持2048x1536解析度,不過目前大部分DVI線不支持1920x1200以上解析度。

              Ⅶ rk3288 linux可以安裝jdk嗎

              准備工作
              編譯 Android 對機器的配置要求較高:
              64 位 CPU
              16GB 物理內存+交換內存
              30GB 空閑的磁碟空間用於構建,源碼樹另外佔用大約 8GB
              官方推薦 Ubuntu 12.04 操作系統,實際上也可以採用更新的操作系統版本,只需要滿足 http://source.android.com/source/building.html 里的軟硬體配置即可。
              編譯環境的初始化可參考 http://source.android.com/source/initializing.html 。
              安裝 JDK 6:
              sudo add-apt-repository ppa:webupd8team/java
              sudo apt-get update
              sudo apt-get install oracle-java6-installer

              Ubuntu 12.04 軟體包安裝:
              sudo apt-get install git gnupg flex bison gperf build-essential \
              zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
              libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
              g++-multilib mingw32 tofrodos gcc-multilib ia32-libs\
              python-markdown libxml2-utils xsltproc zlib1g-dev:i386

              Ubuntu 13.10/14.04 軟體包安裝:
              sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev \
              libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl \
              libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils \
              xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev \
              lib32readline-gplv2-dev gcc-multilib libswitch-perl

              安裝 ARM 交叉編譯工具鏈和編譯內核相關軟體包:
              sudo apt-get install gcc-arm-linux-gnueabihf \
              lzop libncurses5-dev \
              libssl1.0.0 libssl-dev

              下載 默認版 Android SDK
              注意:如果你在 2014-12-11 之前下載過源碼,請重新到雲盤下載並更新。
              由於 SDK 比較大,請選擇以下雲盤之一下載 firefly-rk3288_android4.4_git_20141211.tar.gz :
              網路雲盤
              Google Drive
              下載完成後先驗證一下 MD5 碼:
              $ md5sum /path/to/firefly-rk3288_android4.4_git_20141211.tar.gz
              firefly-rk3288_android4.4_git_20141211.tar.gz

              確認無誤後,就可以解壓
              mkdir -p ~/proj/firefly-rk3288
              cd ~/proj/firefly-rk3288
              tar xf /path/to/firefly-rk3288_android4.4_git_20141211.tar.gz
              git reset --hard
              git remote add bitbucket https://bitbucket.org/T-Firefly/firefly-rk3288.git

              以後就可以直接從 bitbucket 處更新:
              git pull bitbucket master:master

              也可以到 https://bitbucket.org/T-Firefly/firefly-rk3288/commits/branch/master 在線瀏覽源碼。
              另外,linux-rockchip 社區搭建了 Git 鏡像伺服器,詳見這里。 如果要下載源碼,請用以下命令(可選其它鏡像伺服器):
              git clone -b firefly/master git://git.us.linux-rockchip.org/rk3288_r-box_android4.4.2_sdk.git

              下載 PAD 版 Android SDK
              PAD版SDK是具有PAD特性的SDK,可用於調屏,TP,支持橫豎屏顯示等。
              由於 SDK 比較大,請選擇以下雲盤之一下載firefly-rk3288_pad_android4.4_git_20141218.tar.gz
              網路網盤
              Google Drive
              下載完成後先驗證一下 MD5 碼:
              $ md5sum /path/to/firefly-rk3288_pad_android4.4_git_20141218.tar.gz
              firefly-rk3288_pad_android4.4_git_20141218.tar.gz

              確認無誤後,就可以解壓: mkdir -p ~/proj/firefly-rk3288_pad
              cd ~/proj/firefly-rk3288_pad
              tar xf /path/to/firefly-rk3288_pad_android4.4_git_20141218.tar.gz
              git reset --hard
              git remote add bitbucket https://bitbucket.org/T-Firefly/firefly-rk3288.git

              以後就可以直接從 bitbucket 處更新:
              git pull bitbucket pad:pad

              也可以到 https://bitbucket.org/T-Firefly/firefly-rk3288/commits/branch/pad 在線瀏覽源碼。
              編譯內核
              編譯正式版(0930)開發板的內核:
              cd ~/proj/firefly-rk3288/kernel
              make firefly-rk3288_defconfig
              make -j8 firefly-rk3288.img

              編譯公測版(0809)開發板的內核:
              cd ~/proj/firefly-rk3288/kernel
              make firefly-rk3288_beta_defconfig
              make -j8 firefly-rk3288_beta.img

              編譯 Android
              編譯 Android:
              cd ~/proj/firefly-rk3288
              make -j8
              ./mkimage.sh

              燒寫分區映像
              上一步驟的 ./mkimage.sh 會重新打包 boot.img 和 system.img, 並將其它相關的映像文件拷貝到目錄 rockdev/Image-rk3288/ 中。以下列出一般固件用到的映像文件:
              boot.img :Android 的初始文件映像,負責初始化並載入 system 分區。
              kernel.img :內核映像。
              misc.img :misc 分區映像,負責啟動模式切換和急救模式的參數傳遞。
              recovery.img :急救模式映像。
              resource.img :資源映像,內含開機圖片和內核的設備樹信息。
              system.img :Android 的 system 分區映像,ext4 文件系統格式。
              請參照 如何升級固件 一文來燒寫分區映像文件。
              如果使用的是 Windows 系統,將上述映像文件拷貝到 AndroidTool (Windows 下的固件升級工具)的 rockdev\Image 目錄中,之後參照升級文檔燒寫分區映像即可,這樣的好處是使用默認配置即可,不用修改文件的路徑。
              打包成統一固件 update.img
              在 Windows 下打包統一固件 update.img 很簡單,按上一步驟將文件拷貝到 AndroidTool 的 rockdev\Image 目錄中,然後運行 rockdev 目錄下的mkupdate.bat 批處理文件即可創建 update.img 並存放到 rockdev\Image 目錄里。
              update.img 方便固件的發布,供終端用戶升級系統使用。一般開發時使用分區映像比較方便。

              Ⅷ rk3288 android6.0 hdmi輸出4k怎麼做的

              -
              怎麼能讓RK3288能有1920*1200P60顯示輸出
              得重新編譯固件吧

              Ⅸ Android 開發板有哪些如何選擇

              這里我只是給出我選購Android開發板的思路,供大家參考:

              (1) 一定要支持比較新的Android版本

              這里我把Android手機也算在Android開發板裡面吧。目前,支持Android源碼版本最好的手機/開發板應該就是Google的干兒子了(Nexus系列),官方最新源碼編譯好了就可以直接在上面跑了,唯一我覺得不太方便的就是手機的介面太有限,比如沒有串口、有線網口、豐富的GPIO等等,調試和擴展起來比較受限。

              如果不是購買官方源碼支持的Android設備/開發板,那麼你就需要開發板生產商提供對應的Android源碼(其實主要是patch包),因此,我舉得如果一個Android開發板只能提供Android 2.3版的源碼,建議你就不用考慮了。

              (2)最好選購比較熱門的開發板

              孤軍奮戰,遇到問題沒人交流是最痛苦的事兒了,因此,我會比較看重那些社區比較完善和活躍、關注度和開發者比較多的開發板,這里比較推薦一些開源硬體,如樹莓派,Beaglebone等等,國內國外都很火,不僅有很多大牛分享開發經驗,而且遇到問題也很容易在社區搜到解決方案。

              (3) 其他的綜合考慮

              對於我來說,上面兩個因素是我最看重的,當然,也還有其他的可以參考的因素,比如:價格,文檔資料,開發板的介面(串口、網路、USB OTG、HDMI等等),開發板的處理器廠商(TI?高通?Marvell?)開發板的性能(CPU、內存大小等)。

              3. Android開發板推薦

              根據上面我介紹的原則,我相信大家也很快能選中自己心儀的開發板,不過我相信肯定還是會有童鞋希望我能推薦一款,那麼這里就給大家推薦我自己購買的開發板吧。

              熱點內容
              內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:333
              編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:374
              linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:609
              java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:29
              linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:104
              砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:940
              安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:736
              為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:800
              網卡訪問 發布:2025-05-18 03:35:04 瀏覽:507
              接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:369