TI OMAP의 Android 관련 페이지 모음

일단 TI의 오픈소스 git repository는 http://git.omapzoom.org/ 이다.
OMAP의 Android 관련 메인 위키 페이지는 http://omappedia.org/wiki/OMAP_Android_Main 이며, 소스를 얻는 것에 대해서는 http://omappedia.org/wiki/Android_source_code_versions 에 설명되어 있다.
또한 플랫폼 쪽의 manifest.xml 를 관리하기 위한 프로젝트는 git://git.omapzoom.org/platform/omapmanifest.git 으로 보인다.
리눅스 상에서 adb 사용에 관한 문서는 http://omappedia.org/wiki/Adb_over_USB 에서 볼 수 있고, 리눅스 및 윈도우즈 상에서의 adb 사용(Blaze 기준)은 http://omappedia.org/wiki/Support_Tools#ADB_over_USB 에서도 볼 수 있다.
툴체인은 http://omappedia.org/wiki/Android:_Configuring_the_Host_PC#ARM_Cross_Compiler 에서 볼 수 있는 것처럼 Code Sourcery의 툴체인을 권장하며 L27x 등 최신 버전은 2010-q1 이 사용되어야 한다고 쓰여져 있다.
방화벽 아래에서의 작업은 http://omappedia.org/wiki/Support_Tools#Firewalls 에서 해결 방법을 볼 수 있다. 해당 해결 방법은 GIT_PROXY_COMMAND 환경변수를 사용하는 것이 아닌 git의 core.gitproxy 설정을 통해 해결하고 있다. 또한 SSH 의 Proxy 를 .ssh/config 파일에서 설정하는 방법에 대해서도 http://omappedia.org/wiki/Gerrit#SSH_Proxy_Setup: 에 나와 있다. 둘다 corkscrew를 이용한다.

Ducati를 사용하는데 사용되는 Syslink에 대해서는 http://omappedia.org/wiki/Syslink_Project 에서 정보를 얻을 수 있고, 현재 Syslink 3(http://omappedia.org/wiki/Syslink_3)로 이행 중인 듯하다. Syslink3 는 Kernel space에서 수행되는 것들을 User space로 옮겨 Linux kernel 에 upstream이 되기 힘든 단점을 극복하려는 듯 하다.
XDCtools 는 http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/index.html 에서 다운로드 받을 수 있고, CodeGen tool과 BIOS 등 모든 툴은 TI Account가 있어야 다운로드 받을 수 있는 듯 하다.

Ducati 에 대한 정보는 http://omappedia.org/wiki/Ducati_For_Dummies 에서 얻을 수 있는 듯 하다.

2010.7 ~ 12. 구글 갔던 사진

2011년이 된지가 언제인데 이제야 올린다. 과제도 이제 나갔으니 괜찮겠지. 오픈 소스에는 내가 commit 한 change들도 올라가서 내 이름도 막 보이고.

지난 해 과제 개발을 위해 미국 캘리포니아 산호세 랩으로 장기-_-출장을 다녀왔다.
가서 정말정말정말정말 많이 힘들었는데, 그만큼 배운 것들도 있고, 잊고 있던 좋은 코딩 습관들이 다시 생각나서 나름 괜찮았다. 실질적인 수확 중 가장 큰 수확은 git 쓰는 데 익숙해졌다는 것. 다른 수확들은 나중에 더 큰 일을 할 때 도움이 되지 않을까 한다.
가서 일하면서 내가 지금 일하고 있는 회사의 단점들이 더 크게 보였고, 구글의 장점들을 받아들여 일할 수 없는 현실들이 매우 슬프게 느껴진다. 우리네 개발 현장의 현실은 매우 어렵다. 그래서 안타깝다.
사진들은 돌아올 수 없을 것만 같았던 기약 없던 출장에서 드디어 돌아갈 날이 정해진 후에야 찍은 사진들이다. 그때서야 겨우 나는 주위를 둘러볼 수 있었고 그때서야 겨우 웃을 수 있었다.

[MySQL] Encoding 관련 Parameters

* Client characterset, Server characterset

mysql> status

————–

mysql  Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1

Connection id:          72

SSL:                    Not in use

Current pager:          stdout

Using outfile:          ”

Using delimiter:        ;

Server version:         5.1.41-3ubuntu12.10 (Ubuntu)

Protocol version:       10

Connection:             Localhost via UNIX socket

Client characterset:    latin1

Server characterset:    latin1

UNIX socket:            /var/run/mysqld/mysqld.sock

Uptime:                 39 sec

Threads: 1  Questions: 259  Slow queries: 0  Opens: 231  Flush tables: 1  Open tables: 56  Queries per second avg: 6.641

————–

mysql> 

* /etc/mysql/my.cnf [client]

[mysqld]
default-character-set = utf8

 

mysql> show variables like ‘%char%’;

+————————–+—————————-+

| Variable_name            | Value                      |

+————————–+—————————-+

| character_set_client     | latin1                     |

| character_set_connection | latin1                     |

| character_set_database   | utf8                       |

| character_set_filesystem | binary                     |

| character_set_results    | latin1                     |

| character_set_server     | utf8                       |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+————————–+—————————-+

8 rows in set (0.00 sec)

mysql>

* Database

mysql> ALTER DATABASE reviewdb DEFAULT charset=utf8;

* Table 및 Column

mysql> ALTER TABLE `reviewdb`.`patch_comments` MODIFY COLUMN `message` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;

mysql> ALTER TABLE `reviewdb`.`change_messages` MODIFY COLUMN `message` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;

mysql> ALTER TABLE `reviewdb`.`account_groups` MODIFY COLUMN `name` VARCHAR(255)  CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

mysql> ALTER TABLE `reviewdb`.`account_group_names` MODIFY COLUMN `name` VARCHAR(255)  CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

mysql> ALTER TABLE `reviewdb`.`accounts` MODIFY COLUMN `full_name` VARCHAR(255)  CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;

mysql> ALTER TABLE `reviewdb`.`accounts` MODIFY COLUMN `preferred_email` VARCHAR(255)  CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;

mysql> ALTER TABLE `reviewdb`.`account_external_ids` MODIFY COLUMN `email_address` VARCHAR(255)  CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;

mysql> ALTER TABLE `reviewdb`.`account_groups` MODIFY COLUMN `description` TEXT  CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;

mysql> ALTER TABLE `reviewdb`.`projects` MODIFY COLUMN `description` TEXT  CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;

mysql> ALTER TABLE `reviewdb`.`projects` MODIFY COLUMN `name` VARCHAR(255)  CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

 

[JAVA] JVM의 Proxy 셋팅

net.properties 를 셋팅하여 Java 프로그램이 실행되는 JVM이 프록시를 통해 네트워크를 연결할 수 있도록 할 수 있다. java로 실행된다면 다음과 같이 옵션을 넣어주면 된다.

java -Dhttp.proxyHost=168.219.61.250 -Dhttp.proxyPort=8080 …
우분투 리눅스의 경우에는 /etc/java-6-sun/net.properties 파일에 시스템 전역 설정값을 설정할 수 있다.

Android 개발 시 몇 가지 로그 확인 방법

1. Kernel 에서 pr_debug 등이 안나올 때,
간단히는 맨 위(“#include <linux/kernel.h>”보다 위)에 “#define DEBUG” 추가 혹은  http://www.kernel.org/doc/local/pr_debug.txt 처럼 makefile 수정
DEBUG를 추가했을 때 왜 pr_debug 가 Enable 되는지 보고 싶다면, include/linux/kernel.h 참고

커널 메시지 보기 : 커널이 어느정도 안정적이라면 UART 등을 이용하는 것보다 adb 쉘을 이용하는 것이 더 편하던데..

adb shell cat /proc/kmsg

2. Android 에서 LOGE, LOGW, LOGI, LOGD 가 안나올 때,
맨 위에 “#define LOG_NDEBUG 1” 추가
LOGV 까지 보고 싶을 땐 “#define LOG_NDEBUG 0” 추가
LOG_NDEBUG 가 미치는 영향을 보고 싶다면, system/core/include/cutils/log.h 파일 참고.

logcat 메시지 보기

adb logcat
그러나 로그 메시지 보기에는 역시 DDMS 가 가장 좋다.
로그 TAG를 통해 필터링해서 보는 것이 가장 보기 쉽고 깔끔하다.

아쉬우나마 adb logcat 을 이용해서 필터링 하고 싶다면 다음과 같이 한다.

adb logcat <TAG>:<LOGLEVEL> *:S
예를 들어, CameraTest 는 V 레벨로(CameraTest:V), Camera는 D 레벨로(Camera:D), 나머지는 안나오게 하고 싶다면(*:S) 다음과 같이 한다.

adb logcat CameraTest:V Camera:D *:S

filter-spec 등 adb의 사용법을 더 알고 싶다면 Android Debug Bridge(http://developer.android.com/guide/developing/tools/adb.html)를 참고한다.