본문 바로가기

프로그래밍90

[안드로이드] 새 프로젝트 만들기. File -> New -> Project 선택. Android Project 가 있다면 바로 선택. Android Project 선택 -> Next 프로젝트 이름 입력 -> Next Application Name 입력. Package Name 입력. (일반적으로 아래처럼 . (점) 이 2개가 들어가게 입력합니다. .(점)을 기준으로 하위 폴더가 생성되는 것입니다. SDK를 선택. 버전에 따라 숫자가 정해져 있습니다. Finish 선택. 기본적으로 이렇게 생성이 되면, 바로 실행 해도 Hello Android 와 같은 결과가 나타남. 2011. 11. 25.
[자바] 간단하지만 헛갈리는 이상한 것들? (계속 추가 중) 버튼의 이름 바꾸는 방법. (버튼 이름 바꾸기) 버튼 이름을 바꾸고 싶었는데, 어떤게 버튼 이름에 대한건지 몰라서 많이 허덕였다.- -;; 그 전에, 몇가지만 알아보자. 자바에서 그래픽쪽 관련된게, 기본(awt) 과 J가 붙은 것(swing)들이 있다. 사실 큰 차이는 잘 못느끼고, awt로 만든 경우 해당 프로그램을 보는 컴퓨터의 O/S에 따라 화면이 조금씩 달라지게되는데 Swing으로 작성한 경우 통일 시켜서 어떤 O/S 에서든 동일한 화면을 보여준다고 한다. 버튼 할꺼니까, 버튼만 살짝 비교하면서 보자. 이게 awt 의 Button을 사용하는 모습. import에서 awt의 Button을 하고 있다. 버튼의 이름이 찾는데 고생을 좀 했는데. 눈에 띄는게 getName()이라 해봤더니 다른게 나왔다 .. 2011. 11. 17.
java에서 C와 다른 차이점 몇가지. define이 없다. 매크로가 없다. 사실.. 어떻게 보면 C에서도 define 없어도 되긴하다. 매크로 함수가 아닌 이상 const와 큰 차이도 없으니까. 그래서 그런지 자바로는.. 일단 동일한 기능을 구현해야 하니까 그 특징에 맞춰서. 1. 어디서든 사용이 가능해야 한다. - static 사용. 2. 처음 설정 된 값이 변경되선 안된다. - final 사용. 이 2가지를 해주면 되는데. 변수의 경우 static final int test; 만 해주면 안되고 초기 값도 잡아줘야 한다. 사실 당연한 소리다. 값을 변경하지 못할테니 처음에 생성할 때 잡아줘야지. 별 생각없이 만들면, 왜 안되지- -? 하고 멍때리게 된다. 자바는 변수를 제외한 나머지 모든 것들(배열, 객체변수) 을 C의 포인터 형식으로 잡.. 2011. 11. 14.
[s5pc100] proc filesystem 만들어보기. 그림설명. 프록이란게 실습과정을 보면 모듈 프로그램을 작성해서 추가하고 만들어진 proc 파일을 읽으면서 결과를 보는 식인데. 그럼, 그냥 파일에다 쓰고, cat으로 읽는거랑 무슨 차이인가? 싶었다. 그 차이는, 일반적으로 디스크에 글을 썻다가 디스크에서 읽어 들이는 것인데. 프록은 장치파일 이기 때문에 메모리에 내용이 저장되는 셈이다. 메모리에 쓰고 메모리에서 읽어오는 것. 따라서 재부팅하면 날아갈 것이며, 실제로 파일에 쓰는 것이 아니지만, 리눅스에서 개발자나 이해를 돕기 위해서 모든 장치들을 파일형식으로 해서, 파일과 동일한 방식으로 사용할 수 있게 만들었다. 그 편리함이 오히려 약간의 혼돈을 주었던 것. pro_filesystem 실습을 시작해 보자. 빨간색 박스는 모듈 프로그램시 반드시 있어야 하는 틀이고.. 2011. 11. 4.
unknown field ‘open’ specified in initializer /nfsroot/RootFS-S5PC100/a_test/device/kstory_dd.c:17: error: variable ‘kstory_fops’ has initializer but incomplete type /nfsroot/RootFS-S5PC100/a_test/device/kstory_dd.c:18: error: unknown field ‘open’ specified in initializer /nfsroot/RootFS-S5PC100/a_test/device/kstory_dd.c:18: warning: excess elements in struct initializer /nfsroot/RootFS-S5PC100/a_test/device/kstory_dd.c:18: warning: (near i.. 2011. 11. 1.
[s5pc100] 모듈 만들기 기초 (심볼 미공개, 전역 심볼 공개). 그림설명. [s5pc100] 모듈 만들기 기초 (심볼 미공개, 전역 심볼 공개) [s5pc100] 모듈 만들기 기초 (심볼 미공개, 전역 심볼 공개) [s5pc100] 모듈 만들기 기초 (심볼 미공개, 전역 심볼 공개) 모듈의 작성 및 추가 삭제를 모른다면 아래 링크를 참조 하자. [s5pc100] 모듈 만들기 기초. (hello 출력하기) 모듈에는 심볼을 공개 하는 것과 공개하지 않는 것이 있다. 심볼이란.. c로 비유하자면 함수와 비슷한데 기본적으로 있어야 하는 2개의 시작/종료 함수를 제외한 사용자가 정의한 함수같은 것. 이해가 안된다면 일단 아래 예제들을 따라가 보자. 심볼을 공개하지 않는 예제이다. 2개의 박스에 들어있는 함수가 기본적으로 있어야 하는 함수. MODULE_LICENSE("GPL") 은 내가.. 2011. 10. 31.
[s5pc100] 모듈 만들기 기초. (hello 출력하기). 그림설명. [s5pc100] 모듈 만들기 기초. (hello 출력하기) [s5pc100] 모듈 만들기 기초. (hello 출력하기) [s5pc100] 모듈 만들기 기초. (hello 출력하기) vi hello_module.c c 프로그래밍에서 메인이 있어야 하는 형식이 있듯이, 모듈에서도 기본적이 형식이 있다. init_module() / cleanup_module() 함수가 있다. 이름에서 알 수 있듯이 시작하는 함수와 끝나는 함수이다. main 처럼 반드시 있어야 하는 함수이다. 헌데.. 이런 함수의 이름을 다르게 쓰고 싶은 경우. module_init() / moduel_exit() 라는 메크로 함수가 있다. 이 함수는 인자로 받은 함수를 init_module로 연결해 주는 셈. 그래서 내 마음대로 함수를 생.. 2011. 10. 31.
[s5pc100] nfs로 보드 부팅하기. 그림 설명. virtualBox 네트워크 설정. 인터넷이 아닌, 보드와 연결할 어댑터2를 활성화 합니다. 브리지 어탭터를 선택하고 이름은 각자 컴퓨터의 네트워크 카드를 지정해 줍니다. 명령어가 길어서 오타가 나거나 정상적으로 실행이 되지 않는 경우 첨부파일에서 붙여 넣기 하세요. apt-get install nfs-kernel-server (nfs 설치) y눌러서 설치해 줍니다. nfs로 사용할 폴더 생성 및 권한 부여. nfs로 사용할 폴더를 만들고, 폴더 권한을 777로 지정. (nfsroot로 생성) vi /etc/exports 코드의 마지막에 위의 내용을 추가해 줍니다. [폴더명] [주소] (rw,no_root_squash,no_all_squash,async) 폴더 : nfs를 사용할 폴더. (/nfsroot.. 2011. 10. 26.
[s5pc100] tftp로 zImage 부팅 및 적재(올리기). 그림 설명. [s5pc100] tftp로 zImage 부팅 및 적재(올리기). 그림 설명. [s5pc100] tftp로 zImage 부팅 및 적재(올리기). 그림 설명. [s5pc100] tftp로 zImage 부팅 및 적재(올리기). 그림 설명. tftpd-hpa 가 아닌 그냥 tftp 설치 입니다. 지금 설치하는 것은 10.10부터 보안상의 이유로 업로드를 막았다고 합니다. 10.10 이상의 이용자는 아래 링크에서 tftp-hpa 설치를 따라 주세요. [Ubuntu]tftp-hpa 설치 및 설정하기 그림 설명. 길고 오타가 나기 쉬운 명령들을 위해 파일을 첨부 합니다. apt-get install tftpd tftp (첫번째 tftp 에 d 가 붙어있습니다. 빼먹지 마세요.) 일반적으로 install을 하게 되면.. 2011. 10. 26.
[s5pc100] minicom 설치 및 설정하기. 그림설명 virtualBox 시리얼 설정. 설정 선택. 직렬포트 -> 포트 1 -> 직렬포트 체크, 포트번호 1. 모드 호스트, 파일경로 COM1 으로 설정. apt-get install minicom (미니콤 설치) minicom -s (미니콤 설정) Serial port setup 선택 변경을 원하는 곳의 좌측 알파벳을 눌러 줍니다. Serial Device 변경을 위해서 A 를 눌렀습니다. (대소문자 상관 X) 그럼 커서가 이동하고 원하는 형태로 변경 후 Enter를 누르시면 변경 됩니다. Esc를 누르면 취소가 되고 다시 선택하게 됩니다. MAC air 또는 시리얼 포트가 없는 컴퓨터 및 노트북. Serial Device가 /dev/tty8 에서 ttyUSB0로 변경 (시리얼 포트가 없어서 USB를 시리얼.. 2011. 10. 26.