반응형

분류 전체보기 133

U-Boot에서 NFS(Network File System)로 부팅 설정하기

U-Boot에서 NFS(Network File System)로 부팅 설정하기먼저 U-Boot에서 네트워크 설정을 한다.#setenv ipaddr 192.168.0.10 #setenv serverip 192.168.10.10 #setenv gatewayip 192.168.0.1 #setenv netmask 255.255.0.0 #setenv hostname myhost #setenv rootpath /home/myhome/rootfs부팅시 커널에 네트워크 설정 정보와 NFS로 사용할 위치를 argument로 넘겨준다.#setenv bootargs 'root=/dev/nfs rw nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${gatewayip}:${netmask}:${h..

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000fcac: 0x0b45 instead

Node at 0x0000fca8 with length 0x00000b45 would run over the end of the erase block Perhaps the file system was created with the wrong erase size? jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000fcac: 0x0b45 instead임베디드 시스템에 U-Boot, Kernel, Root File System을 올리고 부팅을 하는 과정에서 위와 같은 에러가 발생하였다.원인은 다양할 수 있으나 어찌 됐건 Flash와 연관이 있는 문제이다.일단 U-Boot를 올리는데 문제가 없었고 잘 동작하였으므로 U-Boot에서의 Flash설정..

SWAP 파티션 사용하기

SWAP 파티션 사용하기1. 먼저 커널에서 SWAP기능을 사용하도록 설정이 되어 있어야 한다. .config 파일에서 CONFIG_SWAP=y 을 설정 후 컴파일 한다. 2. fdisk를 이용하여 SWAP에 사용할 파티션을 하나 만든다. ex)# fdisk /dev/sda - n을 눌러 파티션 새로 만들기를 하고 크기는 대략 1~256으로 설정한다. 3. mkswap을 이용하여 SWAP용 파티션을 포멧한다. ex)# mkswap /dev/sda1 4. swapon을 이용하여 SWAP 기능을 활성화 시킨다. ex) swapon /dev/sda1

리눅스 2013.09.16

환경변수 설정하기

환경변수 설정하기 1. 설정하기# export MYPATH=/home // MYPATH를 새로 설정한다. # export MYPATH=/home:$MYPATH // 기존 MYPATH에 "/home"을 더한다. 2. 확인하기# echo $MYPATH 3. 환경변수 파일에 등록전체 환경변수 파일 /etc/profile특정 유저 환경변수 파일 $HOME/.bash_profile원하는 해당 파일에 환경 변수를 등록한 후 적용을 위해 아래 코드 실행# source /etc/profile or # source $HOME/.bash_profile 4. 일반적인 환경변수 1) HOME : 사용자의 홈디렉토리 2) PATH : 실행파일을 찾는 경로 3) LANG : 프로그램 사용시 기본 지원되는 언어 4) PWD : 사..

리눅스 2013.08.19

화면 회전(rotation) 처리

화면 회전(rotation) 처리안드로이드는 기본적으로 화면 회전에 대한 처리를 자동으로 해주고 있다. 하지만 Activity를 종료하고 다시 실행 시키는 방식이기 때문에 onCreate 함수가 매번 불리게 되며 데이터가 유지 되지 않는 문제가 있다. * 안드로이드가 화면 처리를 하고 데이터만 유지하는 방법asfasdfasdfa * 사용자가 직접 화면 처리를 하는 방법 1. AndroidManifest.xml의 activity에 다음 항목을 추가 android:configChanges="keyboardHidden|orientation|screenSize" - 만약 screenSize가 빠질 경우 onCreate 함수가 불려지니 주의 2. onConfigurationChanged 함수 오버라이드if(new..

시간(Time) 관련 함수 및 처리 방법

시간(Time) 관련 함수 및 처리 방법 * 현재 시간 얻기long time = System.currentTimeMillis(); * 날짜 및 시간 출력SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss"); String str = dateTime.format(new Date(time));시간 설정시 hh는 12시간으로 표시, HH는 24시간으로 표시 * 시간 비교Date date1 = new Date(System.currentTimeMillis()); Date date2 = new Date(System.currentTimeMillis()); if(date1.compareTo(date2) < 0) { System.out.printl..

타이틀바 없애기, 상태바 없애기, Full Screen 모드 만들기

타이틀바, 상태바 없애기. Full Screen 모드 만들기 1. Manifest 파일에서 없애는 방법* 타이틀바 없애기* 타이틀바, 상태바 모두 없애기 2. 코드상에서 없애는 방법 - onCreate()에서 setContentView()를 호출하기 전에 아래 함수 호출* 타이틀바 없애기requestWindowFeature(Window.FEATURE_NO_TITLE);* 상태바 없애기getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);* 타이틀바, 상태바 모두 없애기setTheme(android.R.style.Theme_NoTitleBar_Fullscreen); ..

JNI/자바 배열을 C배열로 변환하는 방법

JNI/자바 배열을 C배열로 변환하는 방법 * 변환함수반환값 함수원형 jboolean* (*GetBooleanArrayElements)(JNIEnv*, jbooleanArray, jboolean*) jbyte* (*GetByteArrayElements)(JNIEnv*, jbyteArray, jboolean*) jchar* (*GetCharArrayElements)(JNIEnv*, jcharArray, jboolean*) jshort* (*GetShortArrayElements)(JNIEnv*, jshortArray, jboolean*) jint* (*GetIntArrayElements)(JNIEnv*, jintArray, jboolean*) jlong* (*GetLongArrayElements)(JNIE..

JNI/네이티브 코드에서 자바 메서드 호출 방법

JNI/네이티브 코드에서 자바 메서드 호출 방법 JNIEXPORT void JNICALL Java_com_example_helloworld_HelloWorld_call (JNIEnv* env, jobject obj) { jclass cls = (*env)->GetObjectClass(env, obj); // 이름이 "func01"인 함수를 찾음, 함수 타입은()V jmethodID metID = (*env)->GetMethodID(env, cls, "func01", "()V"); if (funcM == 0) { printf("Can't find func01!\n"): } else { printf("Find func01!\n"); (*env)->CallVoidMethod(env, obj, metID ); ..

반응형