Tuesday, July 20, 2010

Android Build & Debugging with Emulator

This reference is based on Android 2.2 Froyo source tree.  with Emulator

Reference
http://source.android.com/porting/debugging_gdb.html
Document : ./build/core/build-system.html


  • Source Modification


The following settings are needed in Android.mk.
------------------------------------------------------------------------------------------------------------------
1)
LOCAL_CFLAGS := -O0 -g
LOCAL_CPPFLAGS := -O0 -g

2)
LOCAL_STRIP_MODULE := false
------------------------------------------------------------------------------------------------------------------

LOCAL_STRIP_MODULE inheritate  its value from TARGET_STRIP_MODULE. The variable TARGET_STRIP_MODULE is set as “TARGET_STRIP_MODULE := true” in the file “./build/core/combo/TARGET_linux-arm.mk”. So This setup makes LOCAL_STRIP_MODULE  true. If LOCAL_STRIP_MODULE := true, “strip” remove all symbols from binaries. This means the binaries lost also debug symbols.

  • Setup Emulator

The reference of official homepage (http://source.android.com/porting/debugging_gdb.html) is enough.

Additionally we can set emulator port setup by using  a different way from homepage’s way: “adb forward tcp: tcp:.
When your emulator launches, you can set
------------------------------------------------------------------------------------------------------------------
emulator -avd -qemu -redir [tcp|udp]::[guest_host]:
------------------------------------------------------------------------------------------------------------------

If you want to use your own-generated system.img
------------------------------------------------------------------------------------------------------------------
emulator -avd OpenGLTest -system system.img
------------------------------------------------------------------------------------------------------------------

Just type “emulator -help” for more detailed information.


  • Build partially

If you use ./build/envsetup.sh, you can use shell command “mm”. Command “mm” means “make current directory”.


  • Make clean partially(?)

Tuesday, June 22, 2010

2010/06/21 States of the Art : Mobile 3D of NINTENDO 3DS, IPHONE4 & Samsung Smart-phone

There were so many rumor about the next model of NINTENDO DS. Finally "NINTENDO 3DS" is announced at E3 Show 2010 (http://e3.nintendo.com/3ds/ ).

As a SW engineer, I'm curious about the detail specification of New NINTENDO. It's GPU is PICA200 with OpenGL ES 1.1 & DMP extensions. (http://clien.career.co.kr/cs2/bbs/board.php?bo_table=news&wr_id=914185 written in Korean)

It support Vertex Program (No Fragment Program, but support Per-pixel lighting by DMP MAESTRO EXT) & Render to texture for Multi-pass rendering Single/Double/Triple buffer for flexibility....


Since I was not interested in mobile computing business, I did not heard the company's name, "Digital Media Professonals Techonology" or graphics-core "PICA". (http://www.dmprof.com/index_en.html ) The news that the adoptation of PICA200 by NITENDO 3DS is posted on the homepage. DMP is japanese company based on Tokyo.
If anyone see the demo movies posted on YOUTUBE, he feels suprised at the graphics power of the mobile platform. Let's see other high-end mobile 3D HW specs.
  • Apple iPhone 4 : Apple A4 Processor (Arm Cortex A8 with POWERVR SGX535).
  • Samsung Galaxy S : S5PC110 Processor (Arm Cortex A8 with POWERVR SGX540).
Both of the HWs adopted "Cortex A8", but as GPU different version of POWERVR IP series. These POWERVR SGX5xx Series is produced by Imagination Technologies ( http://www.imgtec.com )

When compared with PICA200's performance, SGX535 (IPHONE4) is similar and SGX540 is superior. But I don't trust all information from the manufacturer, until I handle it in my hand.

Support feature "Described In Document" is ...

  • PICA200 : OpenGL ES 1.1 + Maestro Extension no pixel shader but support per-pixel shading
  • SGX5xx Series : OpenGL ES 2.0

I don't have fully understand the meaning of OpenGL ES's revision number (I only understand OpenGL for Desktop System) . Anyway this descriptions show SGX5xx series have more powerful feature. Main point is "what Maestro Extension really support & It's performance". Since I'm not developer for NINTENDO 3DS Game, I don't have chance to recongnize this question.




Anyway...


이 글은 스프링노트에서 작성되었습니다.