보관할 파일들
  • dsw, dsp 파일은 프로젝트 파일로 꼭 있어야하는 파일이다.
  • res 폴더는 리소스 폴더로 꼭 있어야한다.
  • 기타 소스파일 & 헤더파일


삭제할 파일들
  • plg, ncb, opt, clw 파일은 그때 그때마다 생성되는 파일이므로 삭제해준다.
  • Debug, Release 폴더는 빌드 결과물이 들어간다.

'Developing' 카테고리의 다른 글

이클립스에서 EUC-KR 문서 이용  (0) 2007.11.08
작성일자가 4월 1일인 RFC  (0) 2007.04.14
파이의 정의  (0) 2007.04.03

피카사 웹 앨범이 1기가로 용량이 늘어났다는 말을 듣고, 피카사를 깔고 한번 써보기로 했다. Windows XP에서 돌아가는 피카사는 배너를 통해서 설치하면 웹 앨범 기능이 없지만, 설치직후 업데이트를 통해서 웹 앨범을 사용할 수 있게 된다.

하지만, 리눅스에서 사용하기 위해서 피카사 사이트(http://picasa.google.com/)를 가보면, 'Windows XP 전용'이라고만 적혀있고, 리눅스용은 볼 수 없다. 분명히 리눅스용이 나왔다고 했는데... 약간 검색을 해보니 http://picasa.google.com/linux/ 에 리눅스용 페이지가 있었다.

다운로드 페이지에 보면 WINE, Mozllia 를 이용했다는 얘기가 있고, DEB / RPM 패키지와 함께, installer 버전도 다운로드 받을 수 있다. 사용하는 배포판에 맞게 다운로드 받아서 설치하면 된다. 문제는 설치후 실행하면 피카사가 예전 버전이라서 피카사 웹 앨범을 사용할 수 없다는 것이다. 이 문제를 해결하기 위해서 wine을 설치하고 최신 버전의 Windows XP용 피카사를 설치한다.

설치가 끝나면 홈디렉토리의 '.wine/drive_c/Program Files/Picasa2' 에 새로운 버전의 피카사가 설치되어 있다. 이 것을 모두 /opt/picasa/wine/drive_c/Program Files/Picasa2 에 복사한다.

이제 picasa를 시작하면 최신버전의 피카사를 사용할 수 있다.

'Operating' 카테고리의 다른 글

우분투에서 한글2005 설치  (0) 2007.06.06
Use vmware-player in ubuntu dapper  (0) 2006.11.08
install XGL + compiz in ubuntu dapper  (0) 2006.11.05

IETF(Internet Engineering Task Force,국제인터넷표준화기구)에서 나온 RFC중 4월 1일에 작성된 문서는 유심히 볼 필요가 있다. 제목만 봐도 좀 이상하지만(예를 들면 SONET to Sonnet Translation이라든지...), 농담조의 내용을 진지하게 적어놓은 센스가 대단하다. 특히, RFC 1149의 경우에는 실제로 구현해본 사람도 있다고 한다.

이런 만우절 RFC는 위키백과에 잘 나와있다.

'Developing' 카테고리의 다른 글

Visual C++ 프로젝트 정리하기  (0) 2007.05.15
파이의 정의  (0) 2007.04.03
The Java Programming Language - 1일차  (0) 2007.02.03
u-boot 에서 네트워크 설정이 모두 끝났다고 가정한다. 우선 부팅할 커널 이미지가 필요하다.

http://www.aesop-embedded.org/download.html

이곳에 가면 SMDK용으로 만든 커널이 있다. 다운받아서 다음과 같이 컴파일한다.
make menuconfig
Load an Alternate Configuration File 선택
./arch/arm/configs/smdk2410_defconfig 입력
make
./image.sh

그 뒤에 tftp 데몬을 띄우고 만든 이미지를 tftp 경로에 넣어둔다.
그리고 u-boot에서 다음과 같이 실행한다.

tftp 32000000 [이미지파일이름]
bootm

SMDK2410은 0x30000000 번지부터 램 영역이다. 위와 같이하면 램 영역에 커널을 다운로드 받은 뒤에 그 걸 이용해 부팅한다.

'Etc' 카테고리의 다른 글

한국, OOXML 국제표준 찬성  (0) 2008.03.29
u-boot compile for SMDK2410  (0) 2007.04.01
OPENice32 사용  (0) 2007.04.01

프로그래밍을 하다보면 파이값을 이용할 일이 꽤 있다. 흔히 다음과 같이 정의해서 사용할 것이다.

PI = 3.14

하지만, 그다지 정확한 값이 아니고, 정확한 값을 넣기 위해서 매번 찾아보는 것은 번거로운 일이다.(물론 소수점 이하 10자리 이상을 항상 외우고다니는 일부들에게는 해당되지 않는다 :-) ) 그럴때는 다음과 같이 간단하고 정확한 파이값을 정의할 수 있다.(C언어 기준)

PI = atan(1.0) * 4

'Developing' 카테고리의 다른 글

작성일자가 4월 1일인 RFC  (0) 2007.04.14
The Java Programming Language - 1일차  (0) 2007.02.03
USACO Training - Friday the Thirteenth  (0) 2006.09.12
부트로더인 u-boot를 컴파일하기 위해서는 당연히 크로스 컴파일러가 필요하다. SMDK2410의 코어는 ARM920T 이므로 이것에 맞는 크로스 컴파일러가 있어야 한다.

AESOP 페이지에 가면 여러가지 유용한 정보/자료를 받을 수 있다. 이곳에서 S3C2410, S3C2440, MMSP2 플랫폼에서 테스트된 toolchain을 받을 수 있고, 이것을 이용하여 u-boot를 컴파일 하면 된다. u-boot 또한 위 사이트에서 SMDK2410 보드에서 돌아가도록 만든 것을 받을 수 있다.

크로스 컴파일러가 있는 디렉토리를 PATH 지정하고, u-boot 압축을 푼 디렉토리에서
shell> make clobber
shell> make smdk2410_config
shell> make
해주면 컴파일이 완료되고, u-boot.bin이 생성된다.(잘 안된다면 Makefile 에서 CROSS_COMPILE항목의 젤 위에 다음 내용을 추가하고 SUBDIRS 항목에서 sample 을 빼면 된다.)
CROSS_COMPILE = arm-linux-
이 파일을 JTAG이나 OPENice를 이용하여 보드에 전송하면 끝.

'Etc' 카테고리의 다른 글

한국, OOXML 국제표준 찬성  (0) 2008.03.29
SMDK2410에서 리눅스 부팅하기  (0) 2007.04.14
OPENice32 사용  (0) 2007.04.01
드라이버 설치

spider 설치

spider 설정


툴바에 보면 OPENice 버전을 선택할수 있는데, 알맞은 버전을 선택한다. (A900)

  • Option -> Configure Interface 설정 / Ctrl + E

    • Remote 탭
      OPENice와 연결한 인터페이스를 설정(USB)


    • SMU탭
      자신에게 알맞은 보드를 선택(smdk2410)


    • Debuger 탭
      JTAG Clock : 10.0
      Bytesex : LittleEndian
      SysReset Enable
      TRST Enable
      SMU Always Init


    • Flash config 탭
      Device : Am29LV800BB
      Download : 체크
      Erase : Auto
      Data bus width : 16bit
      Flash base : 0
      RAM base : 30000000
      RAM size : 04000000


    • Processor탭
      Detect : 클릭

    - 혹시 연결이 제대로 되지 않으면 ROM Up 을 실행한다.


전송

  • File -> Download Binary/Hex File / Ctrl + B
    부트로더 파일(u-boot.bin) 선택


'Etc' 카테고리의 다른 글

한국, OOXML 국제표준 찬성  (0) 2008.03.29
SMDK2410에서 리눅스 부팅하기  (0) 2007.04.14
u-boot compile for SMDK2410  (0) 2007.04.01
The Java Programming Language 1~3장

1. 자바의 개요
2. 클래스와 객체
3. 클래스 확장

<용어 정리>
  • 클래스(Class)
  • 객체(Object)
  • 인스턴스(Instance)
  • byte code
  • native code


- 클래스 멤버
  • 필드 : 클래스/객체에 속하는 데이터 변수 -> C++ : 멤버 변수
  • 메소드 : 필드의 상태를 조작하기 위한 수행문으로 구성됨 -> C++ : 멤버 함수

- 첫번째 예제

class Hello world {
    public static void main( String[] args ) {
        System.out.println("Hello, World");
    }
}
    - header
    - signature
    - declaration


<기본 데이터 타입>


  • boolean : true / false
  • char : 16 bits 유니코드 2.1문자
  • byte : 8 bits 정수
  • short : 16 bits 정수
  • int : 32 bits 정수
  • long : 64 bits 정수
  • float : 32 bits 부동소수점표현
  • double : 64 bits 부동소수점표현

<Named Constant>


class Suit {
    final static int CLUB = 1;
    final static int DIAMONDS = 2;
    final static int HEARTS = 3;
    final static int SPADES = 4;
}

<주석
>

  • // : 한줄 주석
  • /* ... */ : 구역 주석
  • /** ... */ : 문서 주석(doc comment) -> javadoc 에서 사용

<제어문 / 반복문>

  • for
  • while
  • if - else
  • switch
  • do - while

<연산자>

  • ++ , += , -= , *= , /=
  • & , | , ^
  • || , &&

<클래스 / 객체>


 - 객체 변수 / 클래스 변수
  • instance variable
class Point {
    public double x, y;
}
Point Left = new Point();
Left.x = 1.0;
  • class variable
class Point {
    public static int cnt;
}
Point Right = new Point();
Point.cnt = 1;
  • 메소드의 경우에도 적용됨(스태틱/클래스 메소드)


 - 클래스의 상속

class Point {
    public double x, y;
}
class Pixel extends Point {
    Color color;
    int col;

    public void clear() {
        super.clear();
        this.col = 0;
        color = null;
    }
}
  • 상속은 extends를 이용해서 한다.
  • 다중상속은 허용하지 않는다.
  • this : 현재 객체 참조
  • super : 상위 클래스참조

 - 필드(Fields)

     - 접근한정자 -
  • public : 모든 클래스에서 접근가능
  • private : 해당 클래스에서만 접근
  • protected : 동일한 패키지, 해당 클래스, 서브클래스에서 접근 가능
  • package : 동일한 패키지, 해당 클래스에서 접근가능(기본값)
  • static
  • final : 초기화되지 않을 경우 컴파일 X
  • transient
  • volatile


 - 메소드(method)
  • 접근한정자
  • abstract : declaration X
  • static
  • final
  • strictfp(strict floating point) : 정밀하게 부동소수점 연산
  • call by value 로 수행
  • main : public static void
  • native : 다른 언어로 만들어진 메소드
  • overloading : 같은이름 / 다른 signature
  • overriding : 동일한 메소드를 서브클래스에서 덮어씀


 - 클래스(Class)
  • public : 하나의 소스파일에 파일이름과 이름이 같은 하나의 public 클래스 존재
  • abstract : 추상 메소드 포함 - 인스턴스 X
  • final : 서브클래스 X
  • strictfp


 - 생성자

  • 예제
class A {
    A() {
        ...
    }
}
  • 초기화블록
class A {
    {
        ...
    }
}
  • static block
class A {
    static {
        ...
    }
}

<Exception>

  • 새로운 예외 정의
class BadDataSetException extends Exception { }
  • 사용
class A {
    public int get(int input)
        throws BadDataSetException {
        ...
        ...
        throw new BadDataSetException();

<etc>

 - 배열
  • 배열의 생성
int[] = new int[10];

 - String 객체

 - Package
  • 패키지 이름의 중복을 막기위한 코딩 규약 (~.~.~)
  • 패키지에 소속시키기
package net.gnuvill.game;
  • 패키지의 사용
import java.util.*;

 - 유니코드

    자바는 유니코드를 사용하기때문에 변수이름으로 유니코드를 사용할 수 있다.

'Developing' 카테고리의 다른 글

파이의 정의  (0) 2007.04.03
USACO Training - Friday the Thirteenth  (0) 2006.09.12
PERL에서의 웹 프로그래밍  (0) 2006.06.03

패키지 설치

우분투에서 vmplayer를 설치하기 위해서는 다음과 같은 패키지가 필요하다.

  • qemu
  • vmware-player
  • vmware-player-kernel-modules

만약, 패키지가 나타나지 않거나 kernel에 맞는 모듈 패키지가 없을때는 universe, multiverse 저장소를 추가해줬는지 확인한다.(updates 서버와 security 서버에도 추가가 되어있어야한다.)


가상 디스크 만들기

vmplayer는 무료 버전이라서 가상 디스크를 만드는 기능이 없다. qemu를 이용해서 가상 디스크를 만든다.

qemu-img create -f vmdk < 생성할 이미지 파일 이름> < 이미지 크기 (예. 4G)>

그 뒤에 설정파일인 vmx파일을 만들어야 한다.


vmx 파일 만들기

다음 내용을 참고로하여 vmx파일을 새로 만든다.

config.version = "8"
virtualHW.version = "3"
ide0:0.present = "TRUE"
ide0:0.filename = "ImageFileName.vmdk"
memsize = "128"
MemAllowAutoScaleDown = "FALSE"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
ide1:0.autodetect = "TRUE"
floppy0.present = "FALSE"
ethernet0.present = "TRUE"
usb.present = "FALSE"
sound.present = "FALSE"
displayName = "Fedora Core 4"
guestOS = "other26xlinux"
nvram = "fc4nox.nvram"
MemTrimRate = "-1"
ide0:0.redo = ""
ethernet0.addressType = "generated"
ethernet0.connectionType = "nat"
uuid.location = "56 4d 0d 92 c9 cd 3c 25-c5 bf 91 91 43 5d bf 33"
uuid.bios = "56 4d 0d 92 c9 cd 3c 25-c5 bf 91 91 43 5d bf 33"
ethernet0.generatedAddress = "00:0c:29:5d:bf:33"
ethernet0.generatedAddressOffset = "0"
tools.syncTime = "TRUE"
ide1:0.startConnected = "TRUE"
uuid.action = "create"
checkpoint.vmState = ""
tools.remindInstall = "TRUE"

  • ide0:0.filename : primary master로 사용될 이미지 파일 이름
  • memsize : 가상 머신의 메모리 크기
  • displayName : VMPlayer가 실행될 때 창에 표시될 이름
  • navram : VMPlayer가 실행될 동안 사용될 메모리 파일의 이름
  • guestOS는 설치하여 사용할 os 형태, 아래 목록을 참고

"darwin" = Darwin (unsupported)
"other-64" = Other 64-bit OS
"other" = Other OS
"freeBSD-64" = freeBSD 64-bit
"freeBSD" = freeBSD
"solaris10-64" = Solaris 10 64-bit
"solaris10" = Solaris 10
"solaris9" = Solaris 9
"solaris8" = Solaris 8
"solaris7" = Solaris 7
"solaris6" = Solaris 6
"solaris" = Other Solaris
"netware6" = Netware 6.x
"netware5" = Netware 5.x
"netware4" = Netware 4.x
"netware" = Other Netware
"otherlinux-64" = Other Linux 64Bit
"linux" = Other Linux
"other26xlinux-64" = Other Linux 2.6.x 64-bit
"other26xlinux" = Other Linux 2.6.x
"other24xlinux-64" = Other Linux 2.4.x 64-bit
"other24xlinux" = Other Linux 2.4.x
"ubuntu-64" = Ubuntu Linux 64-bit
"ubuntu" = Ubuntu Linux
"turbolinux" = Turbo Linux
"mandrake" = Mandrake Linux
"sjds" = Sun Java Desktop System
"nld9" = Novell Linux Desktop 9
"sles-64" = SUSE Linux Enterprise Server 64-bit
"sles" = SUSE Linux Enterprise Server
"suse-64" = SUSE Linux 64-bit
"suse" = SUSE Linux
"rhel4-64" = Red Hat Enterprise Linux 4 64-bit
"rhel4" = Red Hat Enterprise Linux 4
"rhel3-64" = Red Hat Enterprise Linux 3 64-bit
"rhel3" = Red Hat Enterprise Linux 3
"rhel2" = Red Hat Enterprise Linux 2
"redhat" = Red Hat Linux
"winVista-64" = Windows Vista x64 Edition (experimental)
"winVista" = Windows Vista (experimental)
"longhorn-64" = Windows Longhorn x64 Edition (experimental)
"longhorn" = Windows Longhorn (experimental)
"winNetBusiness" = Windows Server 2003 Small Business
"winNetEnterprise-64" = Windows Server 2003 Enterprise x64 Edition
"winNetEnterprise" = Windows Server 2003 Enterprise Edition
"winNetStandard-64" = Windows Server 2003 Standard x64 Edition
"winNetStandard" = Windows Server 2003 Standard Edition
"winNetWeb" = Windows Server 2003 Web Edition
"winXPPro-64" = Windows XP Professional x64 Edition
"winXPPro" = Windows XP Professional Edition
"winXPHome" = Windows XP Home Edition
"win2000AdvServ" = Windows 2000 Advanced Server
"win2000Serv" = Windows 2000 Server
"win2000Pro" = Windows 2000 Professional
"winNT" = Windows NT
"winMe" = Windows Me
"win98" = Windows 98
"win95" = Windows 95
"win31" = Windows 3.1
"windows" = Other Windows
"MS-DOS" = MS-Dos

CD-ROM 대신 ISO 파일을 사용하고 싶으면 다음과 같이 설정한다.

ide1:0.present = "TRUE"
ide1:0.fileName = "<iso 파일 경로와 이름>"
ide1:0.deviceType = "cdrom-image"

사운드 카드를 사용하고 싶으면 다음과 같이 설정한다.

sound.present = "TRUE"
sound.virtualDev = "es1371"


실행에 문제가 있을 경우...

vmplayer를 시작하면 어떠한 입력도 되지않고 먹통이 되는 경우가 있다. 그런 경우에는 다음과 같이 실행해야한다.

# GTK_IM_MODULE=xim vmplayer


한영키 사용

VMWARE에서 한영키를 사용하려면 <strong>/etc/vmware/config</strong> 파일에 다음 두 줄을 추가해주면 된다.  물론, 리눅스에서 한영키 인식이 잘 되는 상태여야 한다.

xkeymap.keysym.Hangul = 0x0f2
xkeymap.keysym.Hangul_Hanja = 0x0f1


VMWARE-TOOLS 설치

vmware-tools는 따로 구해야하는데, 구하는 방법은 VMWARE 공식사이트에 가서 평가판을 다운로드 받은뒤에 압축을 푼다. vmware-distrib/lib/isoimages 디렉토리 안에 각 운영체제별로 vmware-tools 이미지가 있는데, 설치한 운영체제에 따라서 마운트하여 사용하면 된다.

'Operating' 카테고리의 다른 글

리눅스에 picasa 2 설치하기  (0) 2007.04.23
install XGL + compiz in ubuntu dapper  (0) 2006.11.05
Install FreeNX in Debian Linux  (0) 2006.10.13

먼저 다음의 패키지들의 설치가 필요하다.

  • libgl1-mesa
  • libglitz1
  • libglitz-glx1
  • xserver-xgl
  • compiz-gnome

kde로도 설치가 가능하지만 현재 안정적이지 않다고 한다. 그래서, gnome에 설치했다. nvidia 의 경우 설정이 더 필요했는데, nvidia-glx 패키지와 nvidia-glx-config 패키지를 설치하고, 다음 명령어를 실행한다.

# nvidia-glx-config enable

아니면, 직접 xorg.conf 를 수정해줘도 된다.

Driver          "nv"  --> Driver          "nvidia"

그리고, 다음과 같은 내용으로 .gnomerc 파일을 편집한다.

compiz --replace gconf decoration wobbly fade minimize cube rotate zoom scale move resize place switcher
nohup gnome-window-decorator &

컴퓨터를 재시작하면 멋진 XGL 화면을 볼수 있다.

다음은 단축키 목록들

  • 윈도우 전환 Alt + Tab
  • 윈도우 줄 세우기 F12
  • 큐브로 데스크탑 전환 Ctrl + Alt + Left/Right Arrow
  • 큐브로 프로그램을 데스크탑으로 보내기 Ctrl + Shift + Alt + Left/Right Arrow
  • 창 이동 Alt + left-click
  • 창 크기 바꾸기 Alt + right-click
  • 창 투명화 right-click the window's title bar and select Opacity
  • Zoom-in once = Super-key right-click
  • Zoom-in manually = Super-key + wheel mouse up
  • Zoom-out manually = Super-key + wheel mouse down
  • Snap Move window (will stick to borders) = Ctrl + Alt + left-click


'Operating' 카테고리의 다른 글

Use vmware-player in ubuntu dapper  (0) 2006.11.08
Install FreeNX in Debian Linux  (0) 2006.10.13
소스 하이라이팅해서 출력하기  (0) 2006.10.10

+ Recent posts