目前日期文章:201501 (43)

瀏覽方式: 標題列表 簡短摘要

啟動 USB RNDIS 主機功能後, Jetston TK1 就能透過 Android 智慧手機 USB 行動數據分享連網.

<< 啟動 USB RNDIS 主機功能 >>

diff --git a/arch/arm/configs/tegra12_defconfig b/arch/arm/configs/tegra12_defconfig
index 24c006a..57fcd4c 100644
--- a/arch/arm/configs/tegra12_defconfig
+++ b/arch/arm/configs/tegra12_defconfig
@@ -240,6 +240,7 @@ CONFIG_PPPOPNS=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_USB_USBNET=y

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

tegrarcm (Tegra ReCovery Mode) 工具是開放原始碼 Tegra 裝置刷新工具, 同時需要 cbootimage 與 cbootimg-configs 製作 tegrarcm 所需之 BCT.
 
<< tegrarcm 原始碼下載, 编譯與安裝 >>

~$ git clone https://github.com/NVIDIA/tegrarcm.git
~$ sudo apt-get install autoconf libcrypto++ libusb-1.0
~$ cd tegrarcm
~/tegrarcm$ ./autogen.sh
~/tegrarcm$ make
~/tegrarcm$ sudo make install

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

Jetson TK1 核心啟動過程中依照 board_info 參數配置硬體. board_info 存在於 EEPROM 中偏移量 0x04.

<< Jetson TK1 版本編號定義於 tegra-board-id.h >>

/* Processor Board ID */
#define BOARD_PM375 0x0177
/* Board SKU */
#define BOARD_SKU_0 0x0000
/* Board Fab version */
#define BOARD_FAB_A02 0x2

<< 資料結構定義於 board.h >>

struct board_info {

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

Jetson TK1 U-Boot 提供 "enterrcm" 指令重新啟動系統並進入 USB 回復模式 (Recovery Mode). 核心可用 "reboot -f forced-recovery".

<< 中斷 U-Boot 自動啟動並進入 USB 回復模式>>

Hit any key to stop autoboot: 0
Tegra124 (Jetson TK1) # enterrcm
Entering RCM...

<< 連接 Jetson TK1 MicroUSB 接口 (USB0) 至 PC >>

<< 在 PC 端確認 Jetson TK1 進入 USB 回復模式 >>

$ lsusb
Bus 002 Device 017: ID 0955:7140 NVidia Corp.

<< U-Boot 實作於 cmd_enterrcm.c >>

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

目前 Chrome OS SDK 只支援 x86 系统.

ubuntu@tegra-ubuntu:~/chromiumos$ cros_sdk
Usage: cros_sdk [options] [VAR1=val1 .. VARn=valn -- args]

This script is used for manipulating local chroot environments; creating,
deleting, downloading, etc. If given --enter (or no args), it defaults
to an interactive bash shell within the chroot.

If given args those are passed to the chroot environment, and executed.

cros_sdk: error: cros_sdk is currently only supported on x86_64; you're running armv7l. Please find a x86_64 machine.


文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

* 作業環境為 Ubuntu 14.04 x86 64位元

<< 安装 QEMU 模擬器 >>

~$ sudo apt-get install qemu

<< 建立 QEMU 磁碟映像檔 >>

~$ qemu-img create -f raw Q-disk.img 8G
Formatting 'Q-disk.img', fmt=raw size=8589934592

<< 下載 Ubuntu 映像檔 (ubuntu-12.04-desktop-amd64.iso) >>

http://releases.ubuntu.com/

<< 使用 QEMU x86-64位元啟動 Ubuntu 12.04 >>

光碟器啟動, CPU 4核心, 1024 MB 主記憶體.

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

預設開機裝置順序為 MMC1 -> MMC0 -> USB -> PXE -> network. 開機順序定義於 u-boot/include/configs/tegra-common-post.h

#define BOOT_TARGET_DEVICES(func) \
        func(MMC, mmc, 1) \
        func(MMC, mmc, 0) \
        func(USB, usb, 0) \
        func(PXE, pxe, na) \
        func(DHCP, dhcp, na)

<< 列印 U-Boot 環境變數 boot_targets >>

Tegra124 (Jetson TK1) # printenv boot_targets
boot_targets=mmc1 mmc0 usb0 pxe dhcp

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

裝置資訊 board_info 與 利用 i2c-tools 存取 EEPROM 文中, board_info 資料結構在 EPROM 中的偏移量 (offset) 為 0x04. 

root@tegra-ubuntu:/home/ubuntu# i2cdump -y 0 0x56
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 01 00 07 00 77 01 00 00 03 45 00 ff ff ff ff ff ?.?.w?..?E......

board_info 資料结構

struct board_info {
        u16 board_id;
        u16 sku;
        u8 fab;

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

K400r 使用 Logitech Unifying 接收器 (USB 介面). USB 裝置為了省電必須支援自動休眠 (autosuspend), 在裝置閒置 (idle) 一段時間後進入休眠模式. K400r 進入休眠的間隔很短, 裝置喚醒的時間較長, 造成使用上的不便. 開啟核心配置 CONFIG_USB_DEBUG 可觀察 K400r 自動休眠行為.

logitech_k400r.jpg  

 << 實作 HID_QUIRK_SLOW_WAKE, 停用 Logitech K400r Unifying USB 接收器自動休眠功能 >>

diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index 006267f..2807811 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -1190,6 +1190,8 @@ static int usbhid_start(struct hid_device *hid)
                                        USB_INTERFACE_PROTOCOL_MOUSE)
              usb_disable_autosuspend(dev);

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

Perforce (P4) 客戶端程式可從 Perforce 官網下載.

<< 以 Jetson TK1 R21.2 為例, 安裝 ARM 版本 P4 客戶端程式 >>

ubuntu@tegra-ubuntu:~$ sudo curl http://filehost.perforce.com/perforce/r14.1/bin.linux26armel/p4 -o /usr/local/bin/p4
ubuntu@tegra-ubuntu:~$ sudo chmod 755 /usr/local/bin/p4

 


文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

R21.2 的 Ubuntu 14.04 根文件範例 (Tegra_Linux_Sample-Root-Filesystem_R21.2.0_armhf.tbz2), 動態載入模组 (loadable module) 對應的核心版本為 3.10.40-ged4f697. 動態載入模组提供於 L4T 中的壓縮檔 Linux_for_Tegra/kernel/kernel_supplements.tbz2.

當開發人員提交核心修改, 编譯後的核心 (zImage) 版本與動態載入模组 (.ko) vermagic 將被更新為最後一個提交的 commit ID (因為 CONFIG_LOCALVERSION_AUTO=y). 當動態載入模组對應的核心版本與運行中的核心不符, 將無法載入.

<< 核心版本可使用 uname -r 確認 >>

ubuntu@tegra-ubuntu:~$ uname -r
3.10.40-g5f847fc-dirty

<< 已載入的模组可使用 lsmod 確認 >>

ubuntu@tegra-ubuntu:~$ lsmod
Module                  Size  Used by
dm_crypt               13251  0
dm_mod                 73839  1 dm_crypt

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

Project Ara 第二次開發者大會結束後, Android on Project Ara 原始碼也將公開於 GitHub.

https://github.com/projectara/Android-wiki/wiki

Spiral 2 開發板需要於 2 月 7 日前在  http://www.projectara.com/get-involved/ 申請. 在取得 Spiral 2 開發板之前, Project Ara 提供專頁說明編譯與啟動 Android on Project Ara 於 Jetson TK1 的方法.

https://github.com/projectara/Android-wiki/wiki/Build-and-Boot-Instructions-for-Jetson-reference-platform

預先编譯 Android 5.0 (Lollipop) on Project Ara 可由此下載.

http://releases-ara-mdk.linaro.org

<< 下載預先编譯包 http://releases-ara-mdk.linaro.org/jetson-5.0.0-open >> 

Android on Project Ara for Jetson TK1 : nvidia-jetson-ara-android-lrx22g_20150126.tgz
Vendor fastboot 映像檔 : nvidia-jetson-vendor-lrx22g.tgz
~/Downloads$ tar -xf nvidia-jetson-ara-android-lrx22g_20150126.tgz

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

Tegra K1 SATA 控制器規格為 rev 3.1, 頻率為 1.5GHz. Jetson TK1 提供一组 SATA 資料埠 (J2D1) 與 SATA 電源 (J4E2). 連接上 SATA 磁碟機開機後, R21.2 自動將 SATA 磁碟機褂載, 裝置為 /dev/sd[x].

Jetson TK1 內建 e.MMC 容量為 16 GB, 將 SATA 磁碟機設定為 ROOTFS 後可避免 e.MMC 容量的限制.

<< 連接 SATA 磁碟機於 Jetson TK1 >>

<< 刷新 Jetson TK1, 先由 e.MMC 啟動 >>

$ sudo ./flash.sh jetson-tk1 mmcblk0p1

<< Jetson TK1 成功啟動後. 使用 fdisk 刪除所有分區並建立 sda1 >>

ubuntu@tegra-ubuntu:~$ sudo fdisk /dev/sda

Command (m for help): d  <-- 刪除分區
Selected partition 1

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

本文以 Atheros AR5B22 mini PCI-E 無線網路模组為例安裝於 Jetson TK1, L4T 版本 R21.2.

* 本文作業環境為 Jetson-TK1 R21.2. 核心原始碼目錄為 ~/jetson-tk1-r21.2-kernel.

AR5B22_Jetson-TK1.jpg  
  

<< 將無線網路模组安裝於 mini PCI-E 插槽後, 使用 lspci 指令確認無線網路模组是否出現在 PCI 匯流排上 >>

ubuntu@tegra-ubuntu:~$ lspci
00:00.0 PCI bridge: NVIDIA Corporation Device 0e12 (rev a1)
01:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)

<< lspci 得知 AR5B22 晶片為 AR9462, 開啟下列核心配置加入驅動程式 ath9k >>

diff --git a/arch/arm/configs/tegra12_defconfig b/arch/arm/configs/tegra12_defconfig

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

Tegra 動態關閉未使用區塊的電源 (powergate) 以節省耗電.

<< 以 root 權限確認目前 powergate 的狀態 >>

root@tegra-ubuntu:/sys/kernel/debug# cat powergate
 powergate powered
------------------
     crail      no
       gpu     yes   <-- GPU 電源狀態為"啟動".
        ve      no
      pcie     yes   <-- PCIE
       vde     yes

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

MDK 0.2 中包含 Greybus 規格書 v0.1 並公布 Greybus 核心模組原始碼於 GitHub.

Greybus 定義模塊 (Module) 間的軟體界面, 模塊與骨架 (endoskeleton) 的軟體相容性. Greybus 模塊必須透過 Module Manifest 資料結構提供模塊功能描述.

greybus.jpg  

<< 下載 Greybus 原始碼 >>

~$ git clone https://github.com/projectara/greybus.git

<< 編譯 >>

~/greybus$ make

 


文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

UVC (USB Video Class) 支援在 Jetson TK1 R21.2 預設為啟動, UVC 裝置會被 uvcvideo 驅動程式褂載並建立 /dev/video0 裝置.

ubuntu@tegra-ubuntu:~$ dmesg

[ 2512.723098] usb 1-1: new high-speed USB device number 39 using tegra-ehci
[ 2512.866683] usb 1-1: New USB device found, idVendor=046d, idProduct=080f
[ 2512.866754] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=2
[ 2512.866799] usb 1-1: SerialNumber: C8050680
[ 2512.874740] uvcvideo: Found UVC 1.00 device <unnamed> (046d:080f)
[ 2512.921181] input: UVC Camera (046d:080f) as /devices/platform/tegra-ehci.2/usb1/1-1/1-1:1.0/input/input7

可透過 VLC 測試.

UVC_VLC_PLAY.jpg  

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

參考 BusyBox 原始碼下載,编譯,安裝與使用 一文並在 Jetson TK1 上编譯與安裝 BusyBox 於 ~/busybox/_install 目錄.

* 請確定 BusyBox 配置為静態連结.

 本文將說明建立 Jetson TK1 busybox 根文件於 SD 卡的做法.

<< 複製 _install 目錄下所有檔案至  SD 卡根目錄>>

ubuntu@tegra-ubuntu:~$ cp -r ~/busybox/_install/* /media/ubuntu/sdcard/

 << 建立 Jetson TK1 核心啟動目錄與所需配置檔案 >>

ubuntu@tegra-ubuntu:~$ mkdir /media/ubuntu/sdcard/boot
ubuntu@tegra-ubuntu:~$ mkdir /media/ubuntu/sdcard/boot/extlinux
ubuntu@tegra-ubuntu:~$ cp ~/Linux_for_Tegra/kernel/zImage /media/ubuntu/sdcard/boot/
ubuntu@tegra-ubuntu:~$ cp ~/Linux_for_Tegra/kernel/dtb/tegra124-jetson_tk1-pm375-000-c00-00.dtb /media/ubuntu/sdcard/boot/

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

至 Ubuntu 官網下載 Ubuntu 映像檔 (.iso) (http://www.ubuntu.com/download).

ubuntu_download.jpg 

 

至 Ubuntu 官網下載並安裝 VirtualBox (https://www.virtualbox.org/).

virtualbox_download.jpg  

 

安裝完畢 VirtualBox 並啟動. 選取 "新增(N)" 建立新的虛擬機器, 依照預設值完成虛擬機器新增.

virtualbox_new.jpg  

 

選取 "設定值(S)" 選擇虛擬機器映像檔.

文章標籤

版大 發表在 痞客邦 留言(0) 人氣()

Project Ara 第二次開發者大會於 2015/1/14日在 Google 總部山景城 (Mountain View) 舉行並發表"模組化手機" Project Ara 第二代原型機 Spiral 2.

   Spiral-2-prototype_105-780x520.jpg  

     

Spiral 2 處理器模組包含 NVIDIA Tegra K1 與 Marvell PXA1928, 模組與框架 (Endo) 透過 Toshiba UniPro bridge 晶片溝通. 開發者現在可由 Project Ara 官網下載 MDK (Module Developers Kit) 0.2, MDK 0.2 包含 Spiral 2 的參考設計.

Project Ara 第二次開發者大會也將於 2015/1/21日在新加坡舉行並同步至遠端會場台灣台北, 印度班加羅爾, 日本東京.

 

Project Ara 官方網頁 http://www.projectara.com/

Google ATAP 團隊部落格 https://plus.google.com/+GoogleATAP

 


版大 發表在 痞客邦 留言(0) 人氣()

1 23