- State Diagram
- fixme later: 補 initialized/prepared/stopped 的 state diagram
- stagefright/NuPlayer
- fundamental design
- ALooper/AMessage/AHandler
- Interface
- content source/demuxer/decoder/render (driver)
- Reference:
2017年12月27日 星期三
[Android] Media Player
2017年12月25日 星期一
2017年12月14日 星期四
[C Programming] strong v.s. weak symbols
- weak symbol 可以不用 definition
- strong symbol 可以取代 weak symbol
- 預設皆為 strong
- 用法: __attribute __((weak)) or #pragma weak
- 用 nm tool 來看 symbol table
2017年12月9日 星期六
2017年12月8日 星期五
[Android] Nougut with Raspberry Pi
- sync code
- platform: android
- Q & A:
- sync size 太大 (不確定整個 size 是多少? 看起來應該不少於 45GB)
- 可以用以下指令抓取
repo sync -c --no-tags --no-clone-bundle
- 其中最主要是 -c: 只抓目前 branch
- 更多細節可以查看
repo help sync
- Ref:
- Reference:
[Android] sync code
- version control tools
- repo
- 簡介: 主要靠 Manifest 來記錄 remote, remote url, 各 project revision等資訊. Manifest 為一個 XML格式的檔案, 記錄各 project git 資訊, 預設的檔案名稱是 default.xml
- 用法:
repo init -u mainfestURL -b branch
- 通常第一步即透過 mainfest 的 URL得到想要的 manifest資訊, 會產生一個隱藏資料夾 .repo, 通常也可以製作 snapshot.xml
repo sync
- 通常緊接於 repo init 或是透過 snapshot init後, 需要由 repo 通知各 project 進行 git checkout的動作
repo upload
- 較少用到, Manifest 裡 remote 的欄位有設 review url的話, 便會進行 git push 的動作.
- git
git checkout -b localBranchName remoteBranchName
git commit
git commit --amend
可修改最後一次 commit的內容git push
將 change 上到 remotegit pull
sync .git 的資訊, 更新 metadata, 檔案等尚未進行 sync- 與 repo 可以整合應用, e.g.:
repo forall -c 'git checkout branch'
git config
設定 git的 configuration, 通常用在設定 user name跟 e-mailgit add fileName
git reset
僅更改 file status
git checkout
會重新抓檔案
git update-index --chmod=-x fileName
git diff (--cached)
git status
非常常用, 看各個檔案目前是在什麼 status: tracked, untracked,...- Sync Android code
- Setup repo
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
- Setup git
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
- P.S.: 若是在 synology nas上操作的話, 可能遇到
error: could not lock config file /var/services/homes/yourName/.gitconfig: No such file or directory
的問題 repo init -u https://android.googlesource.com/platform/manifest
repo sync -j8
- Reference: Downloading the Source
[Android] architecture
- Linux kernel (GPL license) (aosp中並沒有包含 kernel source code)
- Hardware Abstract Layer (HAL) (Android license: Apache license)
- user space C/C++ library layer
- defines interface that Android requires hardware drivers to implement
- separates Android platform logic from hardware interface
- Native C/C++ libraries (library and runtime): OpenMAX AL, libc, OpenGL ES, Media Framework, WebKit
- Java API frameworks (application frameworks): View System, Content Provider, Activity, ...
- System Apps
- Tools
- repo
- cutilies
- make, ...
2017年11月29日 星期三
[Profiling] DS-5
- What is ARM DS-5?
- Install
- .config: 建立 kernel config, timer, interrupt, tracers
- *.ko:
- gator:
- gatord:
- download ARM DS-5
- Reference:
[Development] using GNU development tools
- SOP
Configure
Build
- universal binary:
- build flag: e.g.
--arch ppc --arch i386
Install
訂閱:
文章 (Atom)

