bc10/rowboat-eclair-dsp-2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
]
開始行:
[[bc10/rowboat]]
- 目次
#contents
* SGX and DSP integration、 DSP stack 部分 [#ye7e88ba]
2010/07/05 ~
**ビルド [#f2278d9d]
以下を実行して DSP を統合した android kernel および userl...
$ make TARGET_PRODUCT=beagleboard BUILD_WITH_GST=true dv...
***ビルドエラーの修正 [#zb3e8d27]
ただし、kernel を 2.6.32 に更新したことで DSP stack のビ...
~
エラーの詳細は長くなりますので割愛しますが以下の箇所でエ...
~
1. external/ti-dsp/dvsdk_3_00_02_44/dsplink_1_61_03/packa...
~/rowboat-eclair-dsp/external/ti-dsp/dvsdk_3_00_02_44/ds...
$ diff -u omap3530_phy_shmem.c.orig omap3530_phy_shmem.c
--- omap3530_phy_shmem.c.orig 2010-06-29 20:53:20.341371...
+++ omap3530_phy_shmem.c 2010-07-05 14:19:04.614552881 +...
@@ -128,12 +128,12 @@
halObject = (OMAP3530_HalObj *) halObj ;
- halObject->generalCtrlBase = (Uint32)IO_ADDRESS(GEN...
- halObject->iva2CmBase = (Uint32)IO_ADDRESS(IVA...
- halObject->coreCmBase = (Uint32)IO_ADDRESS(COR...
- halObject->perCmBase = (Uint32)IO_ADDRESS(PER...
- halObject->iva2PrmBase = (Uint32)IO_ADDRESS(IVA...
- halObject->mailboxBase = (Uint32)IO_ADDRESS(MAI...
+ halObject->generalCtrlBase = (Uint32)ioremap(GENERA...
+ halObject->iva2CmBase = (Uint32)ioremap(IVA2_C...
+ halObject->coreCmBase = (Uint32)ioremap(CORE_C...
+ halObject->perCmBase = (Uint32)ioremap(PER_CM...
+ halObject->iva2PrmBase = (Uint32)ioremap(IVA2_P...
+ halObject->mailboxBase = (Uint32)ioremap(MAILBO...
2. external/ti-dsp/dvsdk_3_00_02_44/codec_engine_2_24_01/...
~/rowboat-eclair-dsp/external/ti-dsp/dvsdk_3_00_02_44/co...
$ diff -u cmemk.c.orig cmemk.c
--- cmemk.c.orig 2010-06-29 21:05:39.718696468 +0900
+++ cmemk.c 2010-07-05 14:28:27.767315616 +0900
@@ -1084,7 +1084,7 @@
static int set_cached(struct vm_area_struct *vma)
{
vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_pag...
- (L_PTE_CACHEABLE | L_P...
+ (L_PTE_MT_WRITETHROUGH...
);
vma->vm_flags |= VM_RESERVED | VM_IO;
3. external/ti-dsp/dvsdk_3_00_02_44/codec_engine_2_24_01/...
~/rowboat-eclair-dsp/external/ti-dsp/dvsdk_3_00_02_44/co...
$ diff -u sdmak.c.orig sdmak.c
--- sdmak.c.orig 2010-06-29 21:13:45.434697722 +0900
+++ sdmak.c 2010-06-29 21:22:33.300049114 +0900
@@ -42,8 +42,8 @@
#include <asm/arch/tc.h>
#else
#include <mach/hardware.h>
-#include <mach/dma.h>
-#include <mach/tc.h>
+#include <plat/dma.h>
+#include <linux/tc.h>
#endif
/*
4. external/ti-dsp/dvsdk_3_00_02_44/dmai_2_00_01_04/packa...
linux/Display_fbdev.c:45:29: error: mach/omapfb.h: No su...
diff -u Display_fbdev.c.orig Display_fbdev.c
--- Display_fbdev.c.orig 2010-06-29 21:48:52.347886578 +...
+++ Display_fbdev.c 2010-06-29 21:46:37.214483328 +0900
@@ -42,7 +42,7 @@
#include <linux/fb.h>
#ifdef Dmai_Device_omap3530
- #include <mach/omapfb.h>
+ #include <linux/omapfb.h>
#else
// #include <video/davincifb.h>
#endif
5. external/ti-dsp/dvsdk_3_00_02_44/dmai_2_00_01_04/packa...
~/rowboat-eclair-dsp/kernel/include/asm-generic/signal.h...
$ diff -u Makefile.orig Makefile
--- Makefile.orig 2010-06-29 22:01:32.699753968 +0900
+++ Makefile 2010-06-29 22:12:20.791781379 +0900
@@ -103,7 +103,7 @@
CPP_FLAGS += -I$(XDC_INSTALL_DIR)/packages -I$(DMAI_INS...
-GCC_CPP_FLAGS += $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_D...
+GCC_CPP_FLAGS += $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_D...
C64P_CPP_FLAGS += $(CPP_FLAGS) -I$(BIOS_INSTALL_DIR)/pa...
#GCC_C_FLAGS += $(C_FLAGS) -Wall -Werror $(ANDROID_CFLA...
6. external/ti-dsp/dvsdk_3_00_02_44/dmai_2_00_01_04/packa...
linux/omap3530/Framecopy_accel.c:51:32: error: linux/oma...
上記の5で行った include path の変更を元に戻す
$ diff -u Makefile.modified Makefile
--- Makefile.modified 2010-06-29 22:12:20.791781379 +0900
+++ Makefile 2010-06-29 22:01:32.699753968 +0900
@@ -103,7 +103,7 @@
CPP_FLAGS += -I$(XDC_INSTALL_DIR)/packages -I$(DMAI_INS...
-GCC_CPP_FLAGS += $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_D...
+GCC_CPP_FLAGS += $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_D...
C64P_CPP_FLAGS += $(CPP_FLAGS) -I$(BIOS_INSTALL_DIR)/pa...
#GCC_C_FLAGS += $(C_FLAGS) -Wall -Werror $(ANDROID_CFLA...
***実行時エラーを回避するための修正 [#r8cffea6]
上記の修正でビルドは通るようになりますが、起動後にエラー...
1. cmemk~
カーネルモジュールを読み込むと cmemk: Unknown symbol init...
まず kernel の config を一箇所変更します。
$ cd source buid/envsetup.sh
$ cd kernel
$ make menuconfig
Kernel hacking → Enable unused/obsolete exported symbols ...
make clean で kernel ディレクトリ内のビルド済みファイルを...
external/ti-dsp/dvsdk_3_00_02_44/codec_engine_2_24_01/cet...
$ diff -u cmemk.c.orig cmemk.c
--- cmemk.c.orig 2010-06-29 21:05:39.718696468 +0900
+++ cmemk.c 2010-07-05 14:27:31.782329823 +0900
@@ -1026,10 +1026,10 @@
void show_pte(struct mm_struct *mm, unsigned long addr)
{
pgd_t *pgd;
-
+#if 0
if (!mm)
mm = &init_mm;
-
+#endif
printk(KERN_ALERT "pgd = %p\n", mm->pgd);
pgd = pgd_offset(mm, addr);
printk(KERN_ALERT "[%08lx] *pgd=%08lx", addr, p...
@@ -1084,7 +1084,7 @@
static int set_cached(struct vm_area_struct *vma)
{
vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_pag...
- (L_PTE_CACHEABLE | L_P...
+ (L_PTE_MT_WRITETHROUGH...
);
external/ti-dsp/dvsdk_3_00_02_44/linuxutils_2_24_02/packa...
$ diff -u cmemk.c.orig cmemk.c
--- cmemk.c.orig 2010-07-01 19:58:23.436891292 +0900
+++ cmemk.c 2010-07-01 19:59:01.642238507 +0900
@@ -1026,10 +1026,10 @@
void show_pte(struct mm_struct *mm, unsigned long addr)
{
pgd_t *pgd;
-
+#if 0
if (!mm)
mm = &init_mm;
-
+#endif
printk(KERN_ALERT "pgd = %p\n", mm->pgd);
pgd = pgd_offset(mm, addr);
printk(KERN_ALERT "[%08lx] *pgd=%08lx", addr, p...
2. DMAI~
DMAI(Davinci Multimedia Application Interface) が omap ke...
DMAI の Display.c の中の omap3530 設定を無効にします。
external/ti-dsp/dvsdk_3_00_02_44/dmai_2_00_01_04/packages...
$ diff -u Display.c.orig Display.c
--- Display.c.orig 2010-07-05 16:23:35.693115944 +0900
+++ Display.c 2010-07-01 20:13:28.761149734 +0900
@@ -523,6 +523,7 @@
Char* displayDevice, VideoStd_Type ...
Int *rotation)
{
+#if 0
/* #ifdef Dmai_Device_omap3530 */
FsOptionsSequence *sequence = NULL;
Display_Output currentDisplayOutput;
上記の変更を加えたあとでビルドを実行します。
$ make TARGET_PRODUCT=beagleboard BUILD_WITH_GST=true dv...
DSP stack のビルドを最初から再実行したい場合は、
$ make TARGET_PRODUCT=beagleboard BUILD_WITH_GST=true dv...
$ make TARGET_PRODUCT=beagleboard BUILD_WITH_GST=true dv...
します。~
その他ビルドの詳細なコントロールに関しては Makefile の中...
**rootfsの作成 [#c20eaeb9]
ビルドがエラーなく終了したら、android の rootfs を起動可...
$ cd out/target/product/beagleboad
$ mkdir android_rootfs
$ cp -r root/* android_rootfs
$ cp -r system android_rootfs
**network設定 [#u9e28061]
rowboatで起動した際にnetworkが使えるよう、android rootfs ...
以前に記載した方法ではうまくいかないので、修正します。~
%%まず android_rootfs/init.rc の最後に以下の行を加え、ネ...
%%service startEth0 /system/bin/starteth0.sh%%
%%このスクリプトを android_rootfs/system/bin/ に以下の内...
%%#/system/bin/sh%%~
%%setprop service.adb.tcp.port 5555%%~
%%netcfg eth0 dhcp%%~
%%setprop net.dns1 8.8.8.8%%
init.rc の他に、device ごとの設定ファイルを記述する initi...
network の設定はそこに記述します。
device 名は /proc/cpuinfo の Hardware の項目の値を使用し...
複数の word になっている場合は最初の単語だけが有効で、す...
bc10 の場合は OMAP3 beagle board となるので、/android_roo...
on boot
setprop net.dns1 8.8.8.8
service lan-setup /system/etc/init.omap3.sh
oneshot
上記設定ではDNSサーバに Google Public DNS を設定していま...
各自の環境に合わせてLANのDNSサーバアドレスなどを宜設定し...
つぎに以下の内容で /android_rootfs/system/etc/init.omap3....
#!/system/bin/sh
netcfg eth0 up
netcfg eth0 dhcp
これで起動時に USB ether が DHCP でアドレスを取得して使用...
~
USB Wifi の場合も、正しく読み込める kernel module を用意...
android_rootfs の system/etc/Wireless などといった正しく...
GUI からのコントロールはできませんが通信は可能になります。~
例:~
#!/system/bin/sh
insmod /system/lib/modules/rt3070sta.ro
netcfg ra0 up
netcfg ra0 dhcp
~
~
~
~
※上記の修正は、Google Groups rowboat http://groups.google...
その中で挙がっていた老二さんの blog を参考にさせていた...
Kernel 2.6.32 with DSP & SGX Drivers~
http://groups.google.com/group/rowboat/browse_thread/thre...
%%Steps to bring up Network(eth0) in Beagleboard using An...
%% http://groups.google.com/group/rowboat/browse_thread/t...
Getting build errors after repo sync~
http://groups.google.com/group/rowboat/browse_thread/thre...
Rowboat Android Compile for BeagleBoard~
http://tw.myblog.yahoo.com/stevegigijoe/article?mid=230&p...
終了行:
[[bc10/rowboat]]
- 目次
#contents
* SGX and DSP integration、 DSP stack 部分 [#ye7e88ba]
2010/07/05 ~
**ビルド [#f2278d9d]
以下を実行して DSP を統合した android kernel および userl...
$ make TARGET_PRODUCT=beagleboard BUILD_WITH_GST=true dv...
***ビルドエラーの修正 [#zb3e8d27]
ただし、kernel を 2.6.32 に更新したことで DSP stack のビ...
~
エラーの詳細は長くなりますので割愛しますが以下の箇所でエ...
~
1. external/ti-dsp/dvsdk_3_00_02_44/dsplink_1_61_03/packa...
~/rowboat-eclair-dsp/external/ti-dsp/dvsdk_3_00_02_44/ds...
$ diff -u omap3530_phy_shmem.c.orig omap3530_phy_shmem.c
--- omap3530_phy_shmem.c.orig 2010-06-29 20:53:20.341371...
+++ omap3530_phy_shmem.c 2010-07-05 14:19:04.614552881 +...
@@ -128,12 +128,12 @@
halObject = (OMAP3530_HalObj *) halObj ;
- halObject->generalCtrlBase = (Uint32)IO_ADDRESS(GEN...
- halObject->iva2CmBase = (Uint32)IO_ADDRESS(IVA...
- halObject->coreCmBase = (Uint32)IO_ADDRESS(COR...
- halObject->perCmBase = (Uint32)IO_ADDRESS(PER...
- halObject->iva2PrmBase = (Uint32)IO_ADDRESS(IVA...
- halObject->mailboxBase = (Uint32)IO_ADDRESS(MAI...
+ halObject->generalCtrlBase = (Uint32)ioremap(GENERA...
+ halObject->iva2CmBase = (Uint32)ioremap(IVA2_C...
+ halObject->coreCmBase = (Uint32)ioremap(CORE_C...
+ halObject->perCmBase = (Uint32)ioremap(PER_CM...
+ halObject->iva2PrmBase = (Uint32)ioremap(IVA2_P...
+ halObject->mailboxBase = (Uint32)ioremap(MAILBO...
2. external/ti-dsp/dvsdk_3_00_02_44/codec_engine_2_24_01/...
~/rowboat-eclair-dsp/external/ti-dsp/dvsdk_3_00_02_44/co...
$ diff -u cmemk.c.orig cmemk.c
--- cmemk.c.orig 2010-06-29 21:05:39.718696468 +0900
+++ cmemk.c 2010-07-05 14:28:27.767315616 +0900
@@ -1084,7 +1084,7 @@
static int set_cached(struct vm_area_struct *vma)
{
vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_pag...
- (L_PTE_CACHEABLE | L_P...
+ (L_PTE_MT_WRITETHROUGH...
);
vma->vm_flags |= VM_RESERVED | VM_IO;
3. external/ti-dsp/dvsdk_3_00_02_44/codec_engine_2_24_01/...
~/rowboat-eclair-dsp/external/ti-dsp/dvsdk_3_00_02_44/co...
$ diff -u sdmak.c.orig sdmak.c
--- sdmak.c.orig 2010-06-29 21:13:45.434697722 +0900
+++ sdmak.c 2010-06-29 21:22:33.300049114 +0900
@@ -42,8 +42,8 @@
#include <asm/arch/tc.h>
#else
#include <mach/hardware.h>
-#include <mach/dma.h>
-#include <mach/tc.h>
+#include <plat/dma.h>
+#include <linux/tc.h>
#endif
/*
4. external/ti-dsp/dvsdk_3_00_02_44/dmai_2_00_01_04/packa...
linux/Display_fbdev.c:45:29: error: mach/omapfb.h: No su...
diff -u Display_fbdev.c.orig Display_fbdev.c
--- Display_fbdev.c.orig 2010-06-29 21:48:52.347886578 +...
+++ Display_fbdev.c 2010-06-29 21:46:37.214483328 +0900
@@ -42,7 +42,7 @@
#include <linux/fb.h>
#ifdef Dmai_Device_omap3530
- #include <mach/omapfb.h>
+ #include <linux/omapfb.h>
#else
// #include <video/davincifb.h>
#endif
5. external/ti-dsp/dvsdk_3_00_02_44/dmai_2_00_01_04/packa...
~/rowboat-eclair-dsp/kernel/include/asm-generic/signal.h...
$ diff -u Makefile.orig Makefile
--- Makefile.orig 2010-06-29 22:01:32.699753968 +0900
+++ Makefile 2010-06-29 22:12:20.791781379 +0900
@@ -103,7 +103,7 @@
CPP_FLAGS += -I$(XDC_INSTALL_DIR)/packages -I$(DMAI_INS...
-GCC_CPP_FLAGS += $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_D...
+GCC_CPP_FLAGS += $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_D...
C64P_CPP_FLAGS += $(CPP_FLAGS) -I$(BIOS_INSTALL_DIR)/pa...
#GCC_C_FLAGS += $(C_FLAGS) -Wall -Werror $(ANDROID_CFLA...
6. external/ti-dsp/dvsdk_3_00_02_44/dmai_2_00_01_04/packa...
linux/omap3530/Framecopy_accel.c:51:32: error: linux/oma...
上記の5で行った include path の変更を元に戻す
$ diff -u Makefile.modified Makefile
--- Makefile.modified 2010-06-29 22:12:20.791781379 +0900
+++ Makefile 2010-06-29 22:01:32.699753968 +0900
@@ -103,7 +103,7 @@
CPP_FLAGS += -I$(XDC_INSTALL_DIR)/packages -I$(DMAI_INS...
-GCC_CPP_FLAGS += $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_D...
+GCC_CPP_FLAGS += $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_D...
C64P_CPP_FLAGS += $(CPP_FLAGS) -I$(BIOS_INSTALL_DIR)/pa...
#GCC_C_FLAGS += $(C_FLAGS) -Wall -Werror $(ANDROID_CFLA...
***実行時エラーを回避するための修正 [#r8cffea6]
上記の修正でビルドは通るようになりますが、起動後にエラー...
1. cmemk~
カーネルモジュールを読み込むと cmemk: Unknown symbol init...
まず kernel の config を一箇所変更します。
$ cd source buid/envsetup.sh
$ cd kernel
$ make menuconfig
Kernel hacking → Enable unused/obsolete exported symbols ...
make clean で kernel ディレクトリ内のビルド済みファイルを...
external/ti-dsp/dvsdk_3_00_02_44/codec_engine_2_24_01/cet...
$ diff -u cmemk.c.orig cmemk.c
--- cmemk.c.orig 2010-06-29 21:05:39.718696468 +0900
+++ cmemk.c 2010-07-05 14:27:31.782329823 +0900
@@ -1026,10 +1026,10 @@
void show_pte(struct mm_struct *mm, unsigned long addr)
{
pgd_t *pgd;
-
+#if 0
if (!mm)
mm = &init_mm;
-
+#endif
printk(KERN_ALERT "pgd = %p\n", mm->pgd);
pgd = pgd_offset(mm, addr);
printk(KERN_ALERT "[%08lx] *pgd=%08lx", addr, p...
@@ -1084,7 +1084,7 @@
static int set_cached(struct vm_area_struct *vma)
{
vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_pag...
- (L_PTE_CACHEABLE | L_P...
+ (L_PTE_MT_WRITETHROUGH...
);
external/ti-dsp/dvsdk_3_00_02_44/linuxutils_2_24_02/packa...
$ diff -u cmemk.c.orig cmemk.c
--- cmemk.c.orig 2010-07-01 19:58:23.436891292 +0900
+++ cmemk.c 2010-07-01 19:59:01.642238507 +0900
@@ -1026,10 +1026,10 @@
void show_pte(struct mm_struct *mm, unsigned long addr)
{
pgd_t *pgd;
-
+#if 0
if (!mm)
mm = &init_mm;
-
+#endif
printk(KERN_ALERT "pgd = %p\n", mm->pgd);
pgd = pgd_offset(mm, addr);
printk(KERN_ALERT "[%08lx] *pgd=%08lx", addr, p...
2. DMAI~
DMAI(Davinci Multimedia Application Interface) が omap ke...
DMAI の Display.c の中の omap3530 設定を無効にします。
external/ti-dsp/dvsdk_3_00_02_44/dmai_2_00_01_04/packages...
$ diff -u Display.c.orig Display.c
--- Display.c.orig 2010-07-05 16:23:35.693115944 +0900
+++ Display.c 2010-07-01 20:13:28.761149734 +0900
@@ -523,6 +523,7 @@
Char* displayDevice, VideoStd_Type ...
Int *rotation)
{
+#if 0
/* #ifdef Dmai_Device_omap3530 */
FsOptionsSequence *sequence = NULL;
Display_Output currentDisplayOutput;
上記の変更を加えたあとでビルドを実行します。
$ make TARGET_PRODUCT=beagleboard BUILD_WITH_GST=true dv...
DSP stack のビルドを最初から再実行したい場合は、
$ make TARGET_PRODUCT=beagleboard BUILD_WITH_GST=true dv...
$ make TARGET_PRODUCT=beagleboard BUILD_WITH_GST=true dv...
します。~
その他ビルドの詳細なコントロールに関しては Makefile の中...
**rootfsの作成 [#c20eaeb9]
ビルドがエラーなく終了したら、android の rootfs を起動可...
$ cd out/target/product/beagleboad
$ mkdir android_rootfs
$ cp -r root/* android_rootfs
$ cp -r system android_rootfs
**network設定 [#u9e28061]
rowboatで起動した際にnetworkが使えるよう、android rootfs ...
以前に記載した方法ではうまくいかないので、修正します。~
%%まず android_rootfs/init.rc の最後に以下の行を加え、ネ...
%%service startEth0 /system/bin/starteth0.sh%%
%%このスクリプトを android_rootfs/system/bin/ に以下の内...
%%#/system/bin/sh%%~
%%setprop service.adb.tcp.port 5555%%~
%%netcfg eth0 dhcp%%~
%%setprop net.dns1 8.8.8.8%%
init.rc の他に、device ごとの設定ファイルを記述する initi...
network の設定はそこに記述します。
device 名は /proc/cpuinfo の Hardware の項目の値を使用し...
複数の word になっている場合は最初の単語だけが有効で、す...
bc10 の場合は OMAP3 beagle board となるので、/android_roo...
on boot
setprop net.dns1 8.8.8.8
service lan-setup /system/etc/init.omap3.sh
oneshot
上記設定ではDNSサーバに Google Public DNS を設定していま...
各自の環境に合わせてLANのDNSサーバアドレスなどを宜設定し...
つぎに以下の内容で /android_rootfs/system/etc/init.omap3....
#!/system/bin/sh
netcfg eth0 up
netcfg eth0 dhcp
これで起動時に USB ether が DHCP でアドレスを取得して使用...
~
USB Wifi の場合も、正しく読み込める kernel module を用意...
android_rootfs の system/etc/Wireless などといった正しく...
GUI からのコントロールはできませんが通信は可能になります。~
例:~
#!/system/bin/sh
insmod /system/lib/modules/rt3070sta.ro
netcfg ra0 up
netcfg ra0 dhcp
~
~
~
~
※上記の修正は、Google Groups rowboat http://groups.google...
その中で挙がっていた老二さんの blog を参考にさせていた...
Kernel 2.6.32 with DSP & SGX Drivers~
http://groups.google.com/group/rowboat/browse_thread/thre...
%%Steps to bring up Network(eth0) in Beagleboard using An...
%% http://groups.google.com/group/rowboat/browse_thread/t...
Getting build errors after repo sync~
http://groups.google.com/group/rowboat/browse_thread/thre...
Rowboat Android Compile for BeagleBoard~
http://tw.myblog.yahoo.com/stevegigijoe/article?mid=230&p...
ページ名:
BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。