홈 > 고객/기술지원 > Q & A
i.MX8M | MV8895 | MV8890 | MV7420 | MV5260 | MV5422 | MV4412TAB | MV4412 | S5PV210 | iMX6Q | AM3358
Android | Linux | Windows CE | Firmware
 
Re, mv320 보드 몇가지 질문을 합니다.
등록인 : 마이크로비젼 |


>1) USB 1.1 Client (J16) 연결시 동작이 안되는 문제점이 있습니다. 해결 방법을 알려 주시길 바랍니다.
>
>2) User MTD 영역 설정 질문입니다.
>
> 가) 현재 리눅스에서 MTD 영역이 다음과 같이 설정되어 있습니다.
>
> 0x00000000-0x00040000 : \"Bootloader\"
> 0x00040000-0x00240000 : \"Kernel\"
> 0x00240000-0x03240000 : \"Filesystem\"
> 0x03240000-0x06fa0000 : \"MassStorage\"
> 0x06fa0000-0x07020000 : \"BBT\"
>
> 나) 위 mtd 영역에서 유저 영역을 만들고자 합니다. (유저가 읽고 쓸수 있는 파일 시스템 영역)
>
> Pxa3xx_nand.c 파일에서 \"static struct mtd_partition partition_info[] = \" 부분을 수정해서 사용하는 것이 맞는지요?
>
> 직접 수정을 하였으나 커널 구동중 에러 메세지가 발생하며 정상 동작이 안되는 것으로 확인됩니다.
>
> 이전에 보드 구매전에 리눅스에서 Nand Flash중 유저 mtd 영역을 구축해 놓았다고 들었습니다.
>
> 확인 부탁 드립니다.
>
>
>
>3) GPIO Tack Switch (S8 - S15) 동작 확인을 하고 싶습니다. 현재 받은 자료중에서 스위치 동작을 확인 할수 있는 드라이버와 어플 소스가 필요합니다.
>


마이크로비젼 기술지원팀입니다.



1) USB 1.1 Client (J16) 연결시 동작에 대한 답변입니다.

=> make menuconfig를 실행하여 아래와 같이 USB 2.0으로 설정되어 있다면 J15에 USB컨넥터를 꽂아야 합니다.

J16을 사용 하려면 USB Peripheral Controller을 USB 1.1로 변경하여 모듈을 다시 컴파일합니다.



Device Driver --->

USB support --->

USB Gadget Support --->

<*> Support for USB Gadgets

USB Peripheral Controller (PXA3xx Processor USB 2.0 controller) --->

PXA3xx Processor USB 2.0 controller



2) User MTD 영역 설정에 대한 답변입니다.

가) 현재 리눅스에서 MTD 영역이 다음과 같이 설정되어 있습니다.

0x00000000-0x00040000 : \"Bootloader\"
0x00040000-0x00240000 : \"Kernel\"
0x00240000-0x03240000 : \"Filesystem\"
0x03240000-0x06fa0000 : \"MassStorage\"
0x06fa0000-0x07020000 : \"BBT\"

나) 위 mtd 영역에서 유저 영역을 만들고자 합니다. (유저가 읽고 쓸수 있는 파일 시스템 영역)

Pxa3xx_nand.c 파일에서 \"static struct mtd_partition partition_info[] = \" 부분을 수정해서 사용하는 것이 맞는지요?

=> 네 맞습니다.

직접 수정을 하였으나 커널 구동중 에러 메세지가 발생하며 정상 동작이 안되는 것으로 확인됩니다.

이전에 보드 구매전에 리눅스에서 Nand Flash중 유저 mtd 영역을 구축해 놓았다고 들었습니다.

확인 부탁 드립니다.

=> 파티션을 어떻게 수정하셨는지 알 수 없어 정확한 답변은 어렵습니다.

filesystem으로 사용하는 영역 이외의 영역을 사용하고자 하신다면 MassStorage라고 되어있는 영역을 mount하여 사용하시면 됩니다.

아래와 같이 커맨드를 실행하여 mtdblock3을 /mnt 디렉터리에 mount합니다. 처음엔 jffs2로 포멧과정이 있어 시간이 좀 소요됩니다.



[root@MV320 /]#mount /dev/mtdblock3 /mnt -t jffs2

[root@MV320 /]#mount
/dev/mtdblock2 on / type jffs2 (rw)
none on /tmp type ramfs (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw)
sysfs on /sys type sysfs (rw)
/dev/mtdblock3 on /mnt type jffs2 (rw)
[root@MV320 /]#



3) GPIO Tack Switch (S8 - S15) 동작 확인에 대한 답변입니다.

=> 드라이버의 위치는 driver/input/keyboard/pxa3xx_keypad.c입니다.

어플리케이션 소스는 다음과 같습니다.


#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>



#define KEYPAD_DEV_NAME \"/dev/input/event1\"



struct input_event {
struct timeval time;
unsigned short type;
unsigned short code;
int value;
};



int main(void)
{
int i,fd;
int ret;
short data[3];
char addr;
struct input_event ev;



fd = open(KEYPAD_DEV_NAME, O_RDWR);
if (fd < 0)
{
printf(\"open dev(%s) failed!\\n\", KEYPAD_DEV_NAME);
return 0;
}



while(1)
{
ret = read(fd, &ev, sizeof(struct input_event));
if (ret < 0)
{
printf(\"read dev(%s) failed!\\n\", KEYPAD_DEV_NAME);
return 0;
}



if (ev.type)
{
// printf(\"time %d : type %d\\n\", ev.time.tv_sec, ev.type);
printf(\"KEY %d : state %d\\n\", ev.code, ev.value);
if (ev.value == 0) printf(\"\\n\");
}
}
if (fd)
close(fd);
return 0;
}


감사합니다.
덧글 0 | 엮인글 0
 





 
    15 / 2,670,670
서울특별시 구로구 구로3동 235번지 한신IT타워 1004호 TEL. 02-3283-0101 FAX. 02-3283-0160
사업자등록번호 : 116-81-51889 대표자 : 이현재 E-MAIL : sale@microvision.co.kr
COPYRIGHT 2004 (주)마이크로비젼 ALL RIGHTS RESERVED.
%3Cul+class%3D%22Klocation%22%3E%3Cli+class%3D%22first%22%3E%3Ca+href%3D%22..%2Fhome%2F%22%3EHOME%3C%2Fa%3E%3C%2Fli%3E%3Cli%3E%3Ca+href%3D%22..%2Fhome%2Fsub03.php%22%3E%EA%B3%A0%EA%B0%9D%2F%EA%B8%B0%EC%88%A0%EC%A7%80%EC%9B%90%3C%2Fa%3E%3C%2Fli%3E%3Cli%3E%3Ca+href%3D%22..%2Fhome%2Fsub03.php%3Fmid%3D51%22%3EQ+%26+A%3C%2Fa%3E%3C%2Fli%3E%3C%2Ful%3E