snd_pcm_playback_ioctl1 : do_vfs_ioctl+0x80/0x5bc snd_pcm_common_ioctl1 : snd_pcm_playback_ioctl1+0x158/0x44c snd_pcm_playback_ioctl1 : do_vfs_ioctl+0x80/0x5bc snd_pcm_common_ioctl1 : snd_pcm_playback_ioctl1+0x158/0x44c snd_pcm_hw_params : snd_pcm_common_ioctl1+0x478/0xdc0 soc_pcm_hw_params : snd_pcm_hw_params+0xc0/0x390 imx_cs42888_surround_hw_params : soc_pcm_hw_params+0x14c/0x47c snd_soc_dai_set_tdm_slot : imx_cs42888_surround_hw_params+0x90/0xb4 fsl_esai_set_dai_tdm_slot : snd_soc_dai_set_tdm_slot+0x60/0x78
2015/11/13
2015/11/12
Worklog : imx. tdm
soc/fsl/imx-cs42888.c -- imx_cs42888_surround_hw_params
BCLK 是 data 的 freqx2, 這樣,在 CLK rising 時 sample Data 的資料。
data 每 32 bit 視為一個 slot.
實際上slot 內的資料,可以是 8, 16, 24 bit, 不一定要將 32bit 用完。
LRCLK 是用來區分 L, R 的資料。
/* set i.MX active slot mask */
snd_soc_dai_set_tdm_slot(cpu_dai, 0x3, 0x3, 2, 32);
soc/soc-core.c
int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai,
unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width)
所以 ..
- slots = 2
- slot_width=32
BCLK 是 data 的 freqx2, 這樣,在 CLK rising 時 sample Data 的資料。
data 每 32 bit 視為一個 slot.
實際上slot 內的資料,可以是 8, 16, 24 bit, 不一定要將 32bit 用完。
LRCLK 是用來區分 L, R 的資料。
2015/11/10
2015/11/9
Wandboard
結果很小一塊,connector 也是小的,所以有點不方便。
官方的 server 好像有問題,所以沒有git server 可以使用。
目前source 是用 download tar 的方式。
ref: http://coldnew.github.io/blog/2015/wandboard_android_4.4.2/
所以是故意的?
build android from source: https://embeddedandroidsystem.wordpress.com/
$tar xvf wandboard_lp-5.0.2-ga_fullsource_20150630.tar.xz $cd android5/ $source build/envsetup.sh $lunch wandboard-userdebug $make -j4結果 fail:
install: cannot stat ‘bootable/bootloader/uboot-imx/SPL’: No such file or directory install: cannot stat ‘bootable/bootloader/uboot-imx/SPL’: No such file or directory make: *** [out/target/product/wandboard/SPL] Error 1 make: *** Waiting for unfinished jobs....看來是dependency 問題。
用 single thread make 就 OK
--- 其實中途就又用 j10 來 build , 也 OK, 只要確認 uboot 已經 build 過了。
製作開機 sdcard 和 freescale bsp 的作法不同。
ref: http://android.serverbox.ch/?p=899
wandboard 的 root 是 real partition
--- freescale 是 rootfs
wandboard 把 root 和 system 放在同一個 partition
kernel uImage 另外用一個ext2 的 partition
這個好像也不是 wandboard 5.0 bsp 的作法,是該blogger 自己的作法。
2015/11/5
machine -- jobs.
jessie431
aosp, emulator - OK
make sdk --failed
should...
lunch sdk-eng
make sdk
3rd
aosp, master. new compilation tool test. - android-6.0.1 branch/tag OK
run "emulator -no-window" OK
vbjessie
gitlab installation
jr
test build sdk - px3
lack of goldfish device.
aosp -b android-4.4.4_r2 (follow px3), test build sdk in first
aosp, emulator - OK
make sdk --failed
should...
lunch sdk-eng
make sdk
3rd
aosp, master. new compilation tool test. - android-6.0.1 branch/tag OK
run "emulator -no-window" OK
vbjessie
gitlab installation
jr
test build sdk - px3
lack of goldfish device.
aosp -b android-4.4.4_r2 (follow px3), test build sdk in first
lunch ... all in build/target/product
lunch 之後要選擇 product type.
並不是所有都有列出來。
一般 vendor bsp product 都會在 device/ 下。...
Android 原有的會在 build/target/product 下...
隨著支援平台增加,var 也變多了...
像以往的 sdk (arm). 現在多了:
sdk_arm64, ask_mips, sdk_x86, sdk_x86_64..
並不是所有都有列出來。
一般 vendor bsp product 都會在 device/ 下。...
Android 原有的會在 build/target/product 下...
隨著支援平台增加,var 也變多了...
像以往的 sdk (arm). 現在多了:
sdk_arm64, ask_mips, sdk_x86, sdk_x86_64..
2015/11/4
android WITH_DEXPREOPT=true
在BoardConfig.mk 中加入
所以首次開機會快一點。
而且 /data/dalvik-cache 會是空的。
但是原來的 .jar, .apk 都會多一個 .odex 檔。
WITH_DEXPREOPT=true這樣,開機的 read apk , optimize then save on /data/dalvik-cache 的動作會在 compile time 就做了。
所以首次開機會快一點。
而且 /data/dalvik-cache 會是空的。
但是原來的 .jar, .apk 都會多一個 .odex 檔。
訂閱:
文章 (Atom)