目前日期文章:201502 (13)

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

偽亂數產生器 (PRNG - Pseudo Random Number Generator)  裝置為 /dev/random 與 /dev/urandom. 當亂度池 (Entropy pool) 為空時, /dev/random 將不回傳, 直到亂度池中有新的亂度以產生亂數.

<<  從 /dev/random 讀取 1024 位元亂數 >>

-N : 位元組

~$ od -N1024 < /dev/random

0000000 055672 116705 110150 106550 033057 156566 023600 035305
0000020 163443 042305 072665 006142 055477 133042 077066 160443
0000040 146173 153433 154157 036017 070055 121233 013776 021024
0000060 054130 024643 051530 002720 044623 015006 130502 031377
0000100 000517 050675 116161 146406 006773 022012 171216 072022

od 輸出將暫停, 直到新的亂度存在亂度池中

文章標籤

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

GCC 原始碼可從 https://gcc.gnu.org/mirrors.html 表列中網站下載. LD 與 AS 在 GNU Binutils 中.

GCC - GNU Compiler Collection
LD - GNU Linker
AS - GNU Assembler

<< 安装必要套件 >>

~$ sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev

<< 下載 GCC 4.9.2 原始碼 >>

~$ wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.9.2/gcc-4.9.2.tar.bz2

<< 编譯並安裝 GCC - x86 64 位元 >>

~$ tar vxpf gcc-4.9.2.tar.bz2

文章標籤

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

依照 Yocto Project 快速入門文件的步驟下載 Poky 参考建構系统.

http://www.yoctoproject.org/docs/1.7.1/yocto-project-qs/yocto-project-qs.html

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

<< 安裝必要套件 >>

~$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm

<< 下載 Poky >>

~$ git clone http://git.yoctoproject.org/git/poky

<< 切換至 dizzy 分支 >>

~$ cd poky
~/poky$ git checkout -b dizzy origin/dizzy

文章標籤

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

使用 hardinfo 應用程式可取得系统資訊並包含 CPU, GPU, FPU Benchmark 工具.

hardinfo 無法辨識 ARM 處理器核心數量與時脈, 因為 hardinfo/modules/devices/arm/processor.c 對 /proc/cpuinfo 解析不完整.

<< 安裝最新發行版本 >>

~$ sudo apt-get install hardinfo
~$ hardinfo

hardinfo.jpg  

<< 原始碼下載與编譯 >>

安裝必要套件.

~$ sudo apt-get install cmake
~$ sudo apt-get install libgtk2.0-dev

文章標籤

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

GStreamer 安裝與使用 一文介紹 GStreamer 工具使用方法, 本文說明 NVIDIA GStreamer NVIDIA GStreamer 模組 (Pluging) 與元件 (Element) 編譯, 安裝與使用. 

NVIDIA GStreamer 模組 (pluging) 原始檔可從 https://developer.nvidia.com/platform-software-development 下載.

* 本文作業環境為 Jetson TK1 R21.2, Ubuntu 14.04, 使用者帳號 Ubuntu.

<< 安裝必要套件 >>

~$ sudo apt-get install autotools-dev
~$ sudo apt-get install autoconf
~$ sudo apt-get install libegl1-mesa-dev
~$ sudo apt-get install xorg-server-source

~$ sudo apt-get install libgstreamer-plugins-base1.0-dev
~$ sudo apt-get install libgstreamer-plugins-base0.10-dev

文章標籤

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

VGA Arbiter 的功能為協調多個 PCI 介面 VGA 裝置對 I/O 或 MEM 的存取. Jetson TK1 並無 PCI 介面 VGA 裝置, 且核心除錯訊息出現 vagarb 相關訊息.

~$ dmesg | grep vgaarb
[ 0.587446] vgaarb: loaded
[ 13.407491] vgaarb: this pci device is not a vga device

<< 移除 VGA Arbiter 支援 >>

--- a/arch/arm/configs/tegra12_defconfig
+++ b/arch/arm/configs/tegra12_defconfig
@@ -419,6 +419,8 @@ CONFIG_VIDEO_CAMERA=y
  CONFIG_SOC_CAMERA=y
  CONFIG_SOC_CAMERA_PLATFORM=m

文章標籤

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

Gstreamer 是開放原始碼多媒體開發框架. 先參考 GStreamer 基礎文件, 瞭解模組 (Plugins), 元件 (Element) 與接點 (Pads - source 與 sink).

本文簡單說明 Gstreamer 在 Jetson TK1 R21.2 Ubuntu 14.04 環境下安裝與 gst-* 工具使用.

<< 安裝 GStreamer >>

安裝 GStreamer 1.0 與 0.10 plugins, 函式庫, 工具.
~$ sudo apt-get install gstreamer1.0
~$ sudo apt-get install gstreamer0.10
~$ sudo apt-get install gstreamer-tools

<< 播放音訊檔 >>

使用 gst-play 工具.

~$ gst-play-1.0 http://www.kozco.com/tech/piano2-CoolEdit.mp3

文章標籤

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

Jetson TK1 R21.2 核心 panic 後等待開發人員除錯, 不自動重新啟動. 對於一般使用者自動重新啟動比較方便.

<< 設定 panic timeout 為 10 秒 >>

diff --git a/arch/arm/configs/tegra12_defconfig b/arch/arm/configs/tegra12_defconfig
index bb69680..0ec5d46 100644
--- a/arch/arm/configs/tegra12_defconfig
+++ b/arch/arm/configs/tegra12_defconfig
@@ -11,6 +11,7 @@ CONFIG_RESOURCE_COUNTERS=y
 CONFIG_CGROUP_SCHED=y
 CONFIG_RT_GROUP_SCHED=y
 CONFIG_BLK_DEV_INITRD=y

文章標籤

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

溫度感知器 一文, 我們能使用 Tegra 除錯 sysfs 取得 TMP451 溫度資訊. 與平台無關的 lm-sensors 硬體感知器監視工具可使用在 Jetson TK1 上.

 << 找出 lm-sensors 套件並安裝 >>

ubuntu@tegra-ubuntu:~$ apt-cache search lm-sensors
libsensors4 - library to read temperature/voltage/fan sensors
libsensors4-dev - lm-sensors development kit
fancontrol - utilities to read temperature/voltage/fan sensors
lm-sensors - utilities to read temperature/voltage/fan sensors
mrtgutils-sensors - Utilities to generate statistics for mrtg (from lm-sensors)
nagios-plugins-contrib - Plugins for nagios compatible monitoring systems
phpsysinfo - PHP based host information

文章標籤

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

Jetson TK1 在目前 (2015 年 2 月初) 可透過 USB Type-A 接口與 BDB (Big Development Board) 連接 (*1), 當作 AP 模組作測試.

在 Project Ara 韌體 WiKi 文件中, Jetson TK1 使用預先編譯的 Android on Project Ara 映像檔, 載入 Greybus 核心模組 (greybus.ko, gb-phy.ko, gb-es1.ko) 後, Greybus 將建立 greybus gpio 與 greybus i2c 裝置於 /sys/class/gpio 與 /sys/class/i2c-dev/.

透過 greybus gpio 與 greybus i2c 裝置可驗證 AP Bridge 韌體並存取 BDB GPIO 與 AP Bridge I2C.

詳細步驟參考 Project Ara 韌體 WiKi - https://github.com/projectara/Firmware-wiki/wiki

 

*1 : 原文 (https://groups.google.com/forum/#!topic/ara-module-developers/tHFau94kerc)

 

 


文章標籤

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

可視分區能使用 "mmc part", "ext2ls" 等指令操作. 但是 U-Boot 存在於 EBT 分區中, 為隱藏分區, 只能利用 mmc read/write 指令對指定區塊操作.

<< 表列 MMC 0 分區 >>

切換至 MMC 0.

Tegra124 (Jetson TK1) # mmc dev 0
switch to partitions #0, OK
mmc0(part 0) is current device

讀取 MMC 0 分區資訊.

Tegra124 (Jetson TK1) # mmc part

Partition Map for MMC device 0 -- Partition Type: EFI

Part       Start LBA End LBA Name

文章標籤

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

啟動 ramoops 需要在核心配置加入 PSTORE.

R21.2 核心定義 ramoops 記憶體為 2MB, 配置於主記憶體最後. (參考 kernel/arch/arm/mach-tegra/common.c)

<< 核心配置加入 PSTORE >>

diff --git a/arch/arm/configs/tegra12_defconfig b/arch/arm/configs/tegra12_defconfig
index 0d421c0..bb69680 100644
--- a/arch/arm/configs/tegra12_defconfig
+++ b/arch/arm/configs/tegra12_defconfig
@@ -589,6 +589,10 @@ CONFIG_VFAT_FS=y
CONFIG_NTFS_FS=y
CONFIG_TMPFS=y

文章標籤

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

Tegra K1 内建 2 個顯示控制器 tegradc.0 與 tegradc.1, R21.2 核心配置同時配置 framebuffer 裝置 fb0 與 fb1, tegradc.0 為 fb0, tegradc.1 為 fb1. 

ubuntu@tegra-ubuntu:~$ ls /dev/fb*
/dev/fb0 /dev/fb1

fb1 為 HDMI 顯示器. fb0 為 DSI WXGA 顯示器, 定義於 board-ardbeg-panel.c::ardbeg_panel_configure(). 

default:
        panel = &dsi_p_wuxga_10_1;
        tegra_io_dpd_enable(&dsic_io);
        tegra_io_dpd_enable(&dsid_io);
break;

可使用 fbset 取得 framebuffer 裝置資訊.

文章標籤

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