PIXNET Logo登入

馴龍窩

跳到主文

贊助馴龍窩->
歡迎來到馴龍窩
這邊記錄馴龍窩生活上的點點滴滴,方便日後回憶
也希望能一同紀錄在生命中重要的人事物

部落格全站分類:生活綜合

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 9月 30 週一 201910:37
  • 利用 Arduino + Can Bus shield v2.0 製作CAN BUS測試平台


話說目前都在研究CAN BUS
然後,就想到一個 [如何讓產線方便測試CAN BUS ] 的想法
(繼續閱讀...)
文章標籤

CuteParrot 發表在 痞客邦 留言(0) 人氣(9,772)

  • 個人分類:CAN BUS
▲top
  • 9月 26 週四 201919:52
  • compile libsocketcan and canutils for Android 9



compile libsocketcan and canutils for Android 9
 
以下紀錄如何在 linux x86 64 unbutu 16.04下compile compile libsocketcan and canutils for Android 9\
 
==前置作業==
.下載及安裝 android-ndk-r20
至網站 https://developer.android.com/ndk/downloads ,下載
因作業系統是 ubuntu 16.04屬於 linux,所以下載 android-ndk-r20-linux-x86_64.zip
解壓縮檔案,目錄為o:\tools\android-ndk-r20\
 
根據我的電腦環境,環境cross compile的環境變數
#=== Android P NDK env setup ==
export NDK=/home/bgbg2/tools/android-ndk-r20/toolchains/llvm
export TOOLCHAIN=$NDK/prebuilt/linux-x86_64
export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
 
 
==libsocketcan-0.0.11==
.從網站 https://public.pengutronix.de/software/libsocketcan/ 下載  libsocketcan-0.0.11
務必下載 libsocketcan-0.0.11 ,因為此版才有支援 aarch64-linux-android
解壓縮到目錄 o:\tools\test1\libsocketcan-0.0.11\
切換到此o:\tools\test1\libsocketcan-0.0.11\目錄內,mkdir out 建立 out folder,但不要切換進去,維持在o:\tools\test1\libsocketcan-0.0.11\
執行環境設定
export NDK=/home/bgbg2/tools/android-ndk-r20/toolchains/llvm
export TOOLCHAIN=$NDK/prebuilt/linux-x86_64
export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
 
執行 configure
#./configure --host=aarch64-linux-android --prefix=/home/bgbg2/tools/test1/libsocketcan-0.0.11/out
 
#make
#make install
 
檔案產生在 o:\tools\test1\libsocketcan-0.0.11\out\lib\libsocketcan.a  libsocketcan.la  libsocketcan.so  pkgconfig
使用 file libsocketcan.so 檢查檔案elf格式
--
file libsocketcan.so
libsocketcan.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, not stripped
--
確定檔案的確為 ARM 64 for Android.
 
==canutils-4.0.6==
至網站 https://public.pengutronix.de/software/socket-can/canutils/v4.0/ 下載canutils-4.0.6.tar.bz2
 
解壓縮 tar -xvf canutils-4.0.6.tar.bz2 到路徑 /tools/test1/canutils-4.0.6
 
如果直接執行 configure
./configure --host=aarch64-linux-android --prefix=/home/bgbg2/tools/test1/canutils-4.0.6/out libsocketcan_LIBS=-lsocketcan LDFLAGS=-L/home/bgbg2/tools/test1/libsocketcan-0.0.11/out/lib libsocketcan_CFLAGS=-I/home/bgbg2/tools/test1/libsocketcan-0.0.11/out/include CFLAGS=-I/home/bgbg2/tools/test1/libsocketcan-0.0.11/out/include
 
會出現
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking build system type... x86_64-unknown-linux-gnu
checking host system type... Invalid configuration `aarch64-linux-android': machine `aarch64-linux' not recognized
configure: error: /bin/sh config/autoconf/config.sub aarch64-linux-android failed
錯誤訊息
 
為了讓 canutils-4.0.6 也支援 arm android 9,必須
複製 "O:\tools\test1\libsocketcan-0.0.11\config\autoconf\config.sub" 到 "O:\tools\test1\canutils-4.0.6\config\autoconf\config.sub"
 
在 /tools/test1/canutils-4.0.6 目錄下執行 ./autogen.sh
 
修改"O:\tools\test1\canutils-4.0.6\configure"
去掉 line 4602
--
PKG_CHECK_MODULES(libsocketcan,
          libsocketcan >= 0.0.8,
          ,
          AC_MSG_ERROR([*** libsocketcan version above 0.0.8 not found on your system]))
---
 
執行環境設定
export NDK=/home/bgbg2/tools/android-ndk-r20/toolchains/llvm
export TOOLCHAIN=$NDK/prebuilt/linux-x86_64
export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
 
執行 configure
./configure --host=aarch64-linux-android --prefix=/home/bgbg2/tools/test1/canutils-4.0.6/out libsocketcan_LIBS=-lsocketcan LDFLAGS=-L/home/bgbg2/tools/test1/libsocketcan-0.0.11/out/lib libsocketcan_CFLAGS=-I/home/bgbg2/tools/test1/libsocketcan-0.0.11/out/include CFLAGS=-I/home/bgbg2/tools/test1/libsocketcan-0.0.11/out/include
 
#make
#make install
 
檔案產生在/tools/test1/canutils-4.0.6/out/bin/candump  canecho  cansend  cansequence
 
 
file candump
candump: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /system/, not stripped
確定檔案的確為 ARM 64 for Android.
 
---在Android 9上測試--

adb root

adb disable-verity

adb reboot

adb push canconfig /vendor/bin

adb push libsocketcan.so/vendor/bin

export LD_LIBRARY_PATH=/vendor/bin

adb chmod 777 /vendor/bin/canconfig

adb chmod 777 /vendor/bin/libsocketcan.so

canconfig

show

---

usage:

        canconfig <dev> bitrate { BR } [sample-point { SP }]

                BR := <bitrate in Hz>

                SP := <sample-point {0...0.999}> (optional)

        canconfig <dev> bittiming [ VALs ]

                VALs := <tq | prop-seg | phase-seg1 | phase-seg2 | sjw>

                tq <time quantum in ns>

                prop-seg <no. in tq>

                phase-seg1 <no. in tq>

                phase-seg2 <no. in tq

                sjw <no. in tq> (optional)

        canconfig <dev> restart-ms { RESTART-MS }

                RESTART-MS := <autorestart interval in ms>

        canconfig <dev> ctrlmode { CTRLMODE }

                CTRLMODE := <[loopback | listen-only | triple-sampling | berr-reporting] [on|off]>

        canconfig <dev> {ACTION}

                ACTION := <[start|stop|restart]>

        canconfig <dev> clockfreq

        canconfig <dev> bittiming-constants

        canconfig <dev> berr-counter

---

 

應該就可以順利在 android 9上面執行了

 
 
(繼續閱讀...)
文章標籤

CuteParrot 發表在 痞客邦 留言(0) 人氣(396)

  • 個人分類:CAN BUS
▲top
  • 9月 09 週一 201918:04
  • compile SocketCAN userspace utilities and tools for Android



========compile SocketCAN userspace utilities and tools for Android ============================
---install cmake 3.6  ---
(reference from http://www.kbase101.com/question/8509.html)
.first check cmake version via "cmake --version" , it should 3.6.
.if vesion is not 3.6, rmove it via "sudo apt remove cmake"
(繼續閱讀...)
文章標籤

CuteParrot 發表在 痞客邦 留言(0) 人氣(316)

  • 個人分類:CAN BUS
▲top
1

個人資訊

CuteParrot
暱稱:
CuteParrot
分類:
生活綜合
好友:
累積中
地區:

最新文章

  • [3C]ASUS ROG STRIX XG27ACS 螢幕開箱
  • [Gemini]搜尋小米監視器存檔中出現腳踏車時間點並產生搜尋報告
  • [Gemini][AI]Windows 11 上跑 GStreamer + Python + Webcam + AI 推論迴圈
  • [Arduino UNO Q]串流 usb camera影像 All-in-One
  • [Gemini]pdf全文索引並搜尋
  • [Gemini]線上多人賓果連線遊戲
  • [Gemini]gstreamer與 gst-launch-1.0相關知識
  • [Arduino UNO Q]將 arduino uno Q上面的usb camera經由UDP傳到 windows 11電腦上
  • [Gemini] 羽球分組對戰產生器
  • [Gemini]運動員公仔圖像生成

熱門文章

  • (106,844)格來得遙控器設定
  • (58,093)eDP 介面與資料整理
  • (46,181)水塔液面控制器更換
  • (38,890)[Altis]2019 12代altis (corolla) 中文車主手冊下載方法
  • (36,769)[12代Corolla Altis] ACC設定三步驟,好記的方法
  • (15,154)更換March K11 駕駛座門外把手
  • (11,887)[DIY]更換延長線的帶燈開關
  • (11,557)[12代ALTIS]拆解車門飾板,安裝前門警示燈
  • (10,594)四樓透天,九如牌 AEV200 1/4 HP加壓馬達 安裝紀錄
  • (10,533)[3C]QSPI通訊協定

文章分類

toggle AI應用 (1)
  • Gemini (8)
toggle 人生體悟 (3)
  • 提升工作效率 (7)
  • 雜項 (23)
  • 有感而發 (2)
toggle 大叔的滑板夢 (1)
  • 年輕時的滑板夢 (0)
toggle 手機相關 (4)
  • Zenfone3 ZE552KL (5)
  • POCO-F5 (3)
  • ZenFone6 ZS630KL (1)
  • Galaxy S4 (3)
toggle 太陽能相關 (2)
  • 太陽能躉售 (3)
  • 太陽能DIY套件 (5)
toggle AT32F415 (1)
  • AT32F415RCT7-7環境設定 (1)
toggle 電腦通訊協定 (5)
  • eDP (1)
  • CANBUS (3)
  • LVDS (1)
  • I2C (1)
  • SPI (2)
toggle PS4-PRO (2)
  • 單機多人遊戲 (1)
  • 單人遊戲 (1)
toggle XnBay (4)
  • 0-開箱 (1)
  • 連線網路磁碟機(Windows) (1)
  • 控制台、設定語言 (1)
  • DDNS設定 (1)
toggle 電腦相關 (5)
  • NXP i.MX 8M MINI EVK (10)
  • PhotoShop (3)
  • Arduino (9)
  • 3D印表機 (7)
  • 3C (79)
toggle Linux (7)
  • V4L2 Driver (2)
  • opencv (1)
  • ubuntu14.04 (3)
  • ubuntu 10.4 (7)
  • Android (23)
  • ubuntu 12.04 (22)
  • Android CTS (5)
toggle 汽機車相關 (7)
  • 行車紀錄器 (5)
  • 2021迪爵 (1)
  • 2022新迪爵EnMIS (2)
  • 2016 Forester 2.0i-e (16)
  • 12代Altis (15)
  • CAN BUS (3)
  • 汽機車修繕 (14)
toggle 露營 (31)
  • 第30露埔里樂活森林農場 (1)
  • 第29露南投國姓連興農場露營區 (1)
  • 第28露南投竹山大鞍幸福農場 (1)
  • 第27露南投中寮賞星月慕露營區 (1)
  • 第26露苗栗公館銃庫露營地 (1)
  • 第24露台中石岡九甲林秘境 (2)
  • 第25露苗栗泰安武嵐露營區 (1)
  • 第23露南投森林蜂味營地 (2)
  • 第22露花蓮壽豐慢活趣露營 (3)
  • 第21露國姓水岸松林農場 (1)
  • 第20露三義不遠露營山莊 (1)
  • 第19露FTC車露Payas之家 (1)
  • 第18露埔里廣成宋爸農場 (2)
  • 第17露高雄桂田莊園 (2)
  • 第16露泰安鄉司馬限山嵐 (3)
  • 第15露台南四草舟屋 (2)
  • 第14露新社趣露營 (3)
  • 第13露再訪魚雅筑渡假村 (2)
  • 第12露再訪龍泉營地 (2)
  • 第11露樹寄屋籬景觀民宿 (2)
  • 第10露逸香園休閒莊園 (3)
  • 第9露黃金森林露營區 (2)
  • 第8露魚雅筑渡假村(民宿露營) (1)
  • 第7露哈里露露營地 (3)
  • 第6露埔里龍泉營地 (3)
  • 第5露Payas之家露營區 (3)
  • 第4露土牧譯健康農莊 (3)
  • 第3露橫山仙境(南投) (2)
  • 第2露麒帆如 (4)
  • 第1露居大雁 (1)
  • 露營裝備與器材分享 (3)
toggle 寵物 (3)
  • 兔星人 (5)
  • 柴犬 (1)
  • 侏儒兔 (2)
toggle 玩木工 (2)
  • 2木工作品 (22)
  • 0木工電動工具 (6)
toggle 水族 (2)
  • 這是甚麼魚啊 (1)
  • 龍紋螯蝦 (2)
toggle 養鳥生活 (12)
  • 畫鸚鵡 (3)
  • 歷屆虎皮鸚鵡成員 (8)
  • 玄鳳生蛋 (2)
  • 虎皮鸚鵡相關網站與書籍 (3)
  • 員林的鳥店在哪裡? (4)
  • 玄鳳成員 (4)
  • 虎皮鸚鵡[活多久?] (1)
  • 虎皮鸚鵡[哪時候出巢?] (3)
  • 虎皮鸚鵡[會生病嗎?] (2)
  • 虎皮鸚鵡[吃甚麼] (2)
  • 虎皮鸚鵡[的鳥籠] (4)
  • 虎皮鸚鵡[成長過程] (30)
toggle 休閒運動 (3)
  • 羽球 (3)
  • 跑步 (3)
  • Game (5)
  • Arduino UNO Q (4)
  • Home Assistant相關 (2)
  • 虛擬貨幣交易 (2)
  • 居家DIY (24)
  • 台灣國內旅遊 (23)
  • 模型 (1)
  • 未分類文章 (1)

露營足跡

文章搜尋

參觀人氣

  • 本日人氣:
  • 累積人氣:

贊助馴龍窩