http://forum.falinux.com/zbxe/?document_srl=413614&mid=devenv
http://forum.falinux.com/zbxe/?document_srl=428103&mid=devenv

전에 qt3.3.x 버전으로 사용하다가
QT4 가 내부적으로 지원되는 것이 많다길래 써보았다

사실 잘 조사해보지 않고 사용해서 아직까진 모르겠지만
이제부터 조사해서 차근히 내 정보를 만들 생각이다.

위의 두 링크는 포럼 사이트에서 자주 보게 되는 이름,
qt를 하는 사람이라면 한번쯤은 봤을 이름,
장길석 님의 글이다.

qt4를 사용하고 후기를 글로 남겨줘서
따라하기 식으로 배워보았다

글 그대로 따라하면 설치에는 큰 어려움이 없다

UI를 만들 때 QT4(x11)를 사용해서 작성했는데
qt-x11에서 옵션을 달리줘서 컴파일 하면 임베디드 용이 될 줄 알았건만
qtopia 를 써야 옵션이 지원된다.

플랫폼 중에 arm 이라는 걸 쓰니까 configure가 안되길래
--help를 봤더니 ;;
ㅎㅎ 지원을 안해준다네 쿨럭,

그래서 결국 헤매다 못해 큐토피아 설치해서 그대로 가져와 gcc만 arm으로 바꿔줬더니만
잘 ~~ 되드라 -_- ;;
야 ~~ 허무하게 스리 ~~

어쨌든 석세스 ㅋㅋㅋ ㅋㅋㅋ

성공한 뒤 깨달았다

진짜 설치하기도 쉽고

컴파일하기도 쉽다는...

머 그렇다는 ... ㅋㅋㅋㅋ

센서 정보를 받는 스레드에서 바로 정보를 가져오는 것이 아니라 파일로 생성
QTimer를 사용하여 화면에 띄우게 된다.
1-모듈 번호에 따른 센서이미지 띄우기
2-센서 정보 띄우기(BasedInterfacePage)
3-센서가 현재 활성화된 모듈만&하드웨어 On/Off 제어(ModifyPage)

콤보박스에 모듈번호
문, 환풍기, 형광등, 창문, 가스밸브 라디오 박스로 ON/OFF 여부
전송 버튼 클릭시 이 모든 정보가 구조체로 되어 하나의 중간자 클래스를 거쳐
CommEddyThread 클래스에 존재하는 sendMsgToEddy??()함수를 실행.

Combobox -> currentText()
RadioButton -> 선택된 것의 텍스트


QTimer *timer;

timer=new QTimer;
connect(timer, SIGNAL(timeout), this, SLOT(slotFunction()));

timer->Start(int time);

페도라 8의 커널 버전은 2.6.23

pwc 발견한 버전은 pwc 10.0.12 였는데

요놈이 글쎄 커널 버전 2.6.22 이상이 되면 에러가 난다-_-

그래서 사이트 아래에는 이런 설명이 있다 -


패치해야돼요~ = . =
요렇게 ~ (링크)

그래서 열심히 패치하는 법 따라 열심히 하고 있는 찐쓰 ㅠ.ㅠ

오늘도 새벽같이 삽질과 함께 하루를 시작하는 구나 ㅋㅋ

사이트 주소는

http://www.lavrsen.dk/twiki/bin/view/PWC

전략 패턴과 비슷한 개념인데 거기서 조금 더 생각한 패턴이다.
객체를 생성하는 코드를 한 객체 또는 메소드에 집어넣으면 코드에서 중복되는 내용을 ㅈ ㅔ거할 수 있고
나중에 관리할 때도 한 군데에만 신경을 쓰면 된다.
클라이언트 입자에서는 객체 인스턴스를 만들 때 구상 클래스가 아닌 인터페이스만 필요로 하게 된다. 이렇게 하면 구현이 아닌 인터페이스 바탕으로 프로그래밍을 할 수 있게 되고 유연성과 확장성이 뛰어나진다.

진짜 객체의 인스턴스를 만들 때는 여전히 구상 클래스를 사용해야 하는데 이것은 어쩔 수 없는 것이다.
하지만 이것을 이해하고 생성코드를 한 곳에 모아노고 체계적인 관리를 할 수 있는 설계를 한다면 관리하기 편리해진다. 객체 생성 코드를 아무곳에나 두면 결과를 얻기가 힘들어진다.

서브 클래스를 사용하고 최대한 new를 사용하지 않는다.
new를 사용하는 것이 구상 클래스를 호출하는 것이 된다.

객체 의존성>>
객체 인스턴스를 직접 만들면 구상 클래스에 의존해야 한다.
구상클래스에 의존하지 말고 추상화된 것에 의존하도록 한다.

인스턴스가 한개만 만들어지기 때문에 겹치는 부분이 없게 만들 수 있다.
만일 인스턴스가 두개 이상 만들어질 수 있다면
동시에 두 인스턴스의 내용이 바뀔 때 큰 혼란이 올 수 있다.
그래서 단 하나의 인스턴스가 만들어지면 다른 곳에서 호출 시 현재 실행 중인 인스턴스가 종료되고 다시 불려가는 것이다. ..
만일 중요한 순간에 종료되고 다른 곳에서 불려가서 정보가 바뀌면
까딱하다간 에러는 안나고 엄청난 결과를 초래할 수 있다.
우리가 프로세스를 사용할 때 쓰는 IPC와 비슷한 의미를 가지는거 같다 내가보기엔-ㅁ-

Linux User's Guide Contents Page
Linux Directory Structure
Note: Files are grouped according to purpose. Ex: commands, data files, documentation.

Parts of a Unix directory tree. See the FSSTND standard (Filesystem standard)

/ Root
|---root The home directory for the root user
|---home Contains the user's home directories
| |----ftp Users include many services as listed here
| |----httpd
| |----samba
| |----user1
| |----user2
|---bin Commands needed during bootup that might be needed by normal users
|---sbin Like bin but commands are not intended for normal users. Commands run by LINUX.
|---proc This filesystem is not on a disk. Exists in the kernels imagination (virtual). This directory
| | Holds information about kernel parameters and system configuration.
| |----1 A directory with info about process number 1. Each process
| has a directory below proc.
|---usr Contains all commands, libraries, man pages, games and static files for normal
| | operation.
| |----bin Almost all user commands. some commands are in /bin or /usr/local/bin.
| |----sbin System admin commands not needed on the root filesystem. e.g., most server
| | programs.
| |----include Header files for the C programming language. Should be below /user/lib for
| | consistency.
| |----lib Unchanging data files for programs and subsystems
| |----local The place for locally installed software and other files.
| |----man Manual pages
| |----info Info documents
| |----doc Documentation for various packages
| |----tmp
| |----X11R6 The X windows system files. There is a directory similar to usr below this
| | directory.
| |----X386 Like X11R6 but for X11 release 5
|---boot Files used by the bootstrap loader, LILO. Kernel images are often kept here.
|---lib Shared libraries needed by the programs on the root filesystem
| |----modules Loadable kernel modules, especially those needed to boot the system after
| disasters.
|---dev Device files for devices such as disk drives, serial ports, etc.
|---etc Configuration files specific to the machine.
| |----skel When a home directory is created it is initialized with files from this directory
| |----sysconfig Files that configure the linux system for networking, keyboard, time, and more.
|---var Contains files that change for mail, news, printers log files, man pages, temp files
| |----file
| |----lib Files that change while the system is running normally
| |----local Variable data for programs installed in /usr/local.
| |----lock Lock files. Used by a program to indicate it is using a particular device or file
| |----log Log files from programs such as login and syslog which logs all logins,
| | logouts, and other system messages.
| |----run Files that contain information about the system that is valid until the system is
| | next booted
| |----spool Directories for mail, printer spools, news and other spooled work.
| |----tmp Temporary files that are large or need to exist for longer than they should in
| | /tmp.
| |----catman A cache for man pages that are formatted on demand
|---mnt Mount points for temporary mounts by the system administrator.
|---tmp Temporary files. Programs running after bootup should use /var/tmp.

칩 내부에 Boundary Cell 이란 것을 두어 외뷔의 핀과 일대 일로 연결시켜 프로세서가 할 수 있는 동작을 중간에 Cell을 통해 모든 동작을 인위적으로 수행할 수 있어 여러 가지 하드웨어 테스트나 연결 상태 등을 체크할 수 있다.

주요 기능>

- 디바이스 내에서 모든 외부와의 연결점을 가로챈다.
외부로 나가는 각각의 핀들과 일대 일로 연결

- 각각의 셀은 serial shift register(boundary scan register)를 형성하기 위해서 서로 연결되어 있다.

- 전체적인 인터페이스는 5개의 핀에 의해서 제어된다.
(TDI, TMS, TCK, nTRST, TDO)

- 회로의 배선과 소자의 전기적 연결상태 테스트 한다.

- 디바이스간의 연결상태 테스트

- 플래시 메모리에 fusing하는 기능

+ Recent posts