2009년 12월 21일 월요일

QT4 with OpenCV, How to convert QImage to IplImage

// QImage* qImage, IplImage* cvImage

cvImage = cvCreateImageHeader(cvSize(qImage->width(), qImage->height()), IPL_DEPTH_8U, 4);
cvImage->imageData = (char*)qImage->bits();

2009년 12월 20일 일요일

공대생의 책상..



도대체 정리는 어떻게 해야지 깔끔한 걸까....

큰 맘 먹고 ...



큰 맘 먹고 구입한 Logitech G9x와 G500..

비싸긴 비싸더군;

EZ-X5 Kernel 2.6 Touchpannel Setting (진행중)

---=====  작업 환경 =====---

작업 OS : Fedora 8
EZ-X5 : Kernel 2.6
C/C : arm-linux-3.3.4
Source : kernel 2.6 MK712 source(platform device 기반)
Applications : QT  4.5.2, Tslib  1.0


①  linux-2.6.21\arch\arm\mach-pxa\falinux_ez-x5.c에  아래와 같이 mk712 리소스 부분을 등록.

// mk712 touch [AlProgS] -----------------------------------------------
static struct resource mk712_resources[] = {
        [0] = {
        .name = "mk712_int",
        .start = IRQ_GPIO(22),
        .end = IRQ_GPIO(22),
        .flags = IORESOURCE_IRQ,
        },
};

static struct platform_device mk712_device = {
        .name = "mk712_touchscreen",
        .id = -1,
        .num_resources = ARRAY_SIZE(mk712_resources),
        .resource = mk712_resources,
};
//-----------------------------------------------------------------------


② platform_device 구조체 안에 &mk712_device;  추가.


③ map_desc 구조체 안에 아래와 같이 추가.

{ // nCS1 MK712        -- fast RD/WR
        .virtual  =  0xf1300000,
        .pfn    = __phys_to_pfn(PXA_CS1_PHYS+0x400000),
        .length   =  0x00100000,
        .type   = MT_DEVICE
},


④ 커널 2.4의 mk712.c를 커널 2.6의 커널에 올리기 위해 모듈 컴파일 도중,  컴파일 에러 잡기위해 아래와 같이 수정.

    #include <asm/irq.h>   ->   #include <linux/irq.h>
    #include <asm/io.h>    ->   #include <linux/io.h>

 

⑤ io = 0xf1300000, irq = IRQ_GPIO(22), gpio_irp = 22 로 수정.


⑥ mk712_init 펑션에 다음과 같이 수정.
   -> set_irq_type (MK712_DEFAULT_IRQ, IRQT_RISING);

EZ-X5 LCD Resolution Setting..

  • 수정 소스

-> linux.2.6.21.kernel/arch/arm/mach-pxa/falinux_ez-x5.c
-> linux.2.6.21.kernel/drivers/video/pxafb.c

EZ-X5 작업 환경 셋팅.


호스트호스트 IP 주소
 공유기 192.168.10.1
 PC 192.168.10.2
 EZ-X5 192.168.10.3
 Vmware에 설치된 Linux 192.168.10.10

-= EZBOOT V2.3.15 =-







1) mac address : 00:FA:01:A2:33:15
2) local ip : 192.168.10.3
3) local netmask : 255.255.255.0
4) local gateway : 192.168.10.1
5) server ip : 192.168.10.2
6) zImage file name : zImage
7) ram disk file name : ramdisk-1.10-16M-arm.gz
8) boot loader file name : ezboot.ez-x5
9) logo image file name :
10) auto execute full name :
11) autoboot wait time : 3
12) copy ramdisk [Y/N] : Y
13) arm kernel arch number : 2007
14) nand part (B,C,L,K,R,A): 0,1,0,3,5,119
15) watchdog (sec, off=0) : 0
16) KCMD 1 : mem=128M
17) KCMD 2 : rd_start=0x80800000 rd_size=5M root=/dev/ram0 ramdisk=16384
18) KCMD 3 : console=ttyS0,115200
19) KCMD 4 : video=ezfb:panel:2
20) KCMD 5 :
21) KCMD 6 :

L) Load default
LF) load KCMD2 root=flash
LR) load KCMD2 root=ramdisk
S) Save to flash
P) aPply & exit
Q) Quit

JTAG Cable Pin map (EZ-X5)

 -=  JTAG Cable Pin map =-


JTAG Cable
 1
 2
 3
 4
 5
Serial Cable
 2
 3
 4
13
20