도와주세요!!
글 수 15,339
2002.11.29 16:52:44 (*.186.48.184)
6794
안녕하세요...
두가지 질문 모두 아래의 내용인것 같네요...
: 참고로 ezboard.c에 있는 부분입니다.
:
: static struct map_desc ezboard_io_desc[] __initdata = {
: /* virtual physical length domain r w c b */
: { 0xe8000000, 0x00000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /* Flash bank 0 */
: { 0xf0000000, 0x10000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, /* Crystal Chip */
: LAST_DESC
: };
====>>>
static struct map_desc ezboard_io_desc[] __initdata = {
/* virtual physical length domain r w c b */
{ 0xe8000000, 0x00000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /* Flash bank 0 */
{ 0xf0000000, 0x10000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, /* Crystal Chip */
{ 0xf0100000, 0x18000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, /* nCS3 */ <<<<==== 추가 부분
LAST_DESC
};
위와 같이 추가 하시고... 다시 커널을 컴파일하시고.. 이지보드에 커널을 다운로드하시고 나서...
데이터 버스를 이용한 LED와 스위치의 I/O제어의 디바이스 드라이버와 응용프로그램을 실행 시키시면
될것 같네여....
그럼......이만...
최영철 wrote..
: 강좌에서 설명된 "데이터 버스를 이용한 LED와 스위치의 I/O제어"에서
:
: 소스를 그대로 컴파일하여 실행했는데요, 아래와 같은 에러 메세지가 뜹니다.
:
: test r <----쉘에서 입력한 내용.
: -------------------------------------------------------------------------
: ----------------------
: SAMPLE_IO OPEN
: Unable to handle kernel paging request at virtual address f0100002
: pgd = c19c8000
: *pgd = 00000000, *pmd = 00000000
: Internal error: Oops: 0
: CPU: 0
: pc : [] lr : [] Not tainted
: sp : c19cff74 ip : ffffffff fp : c19cff80
: r10: 40104f28 r9 : c19ce000 r8 : bffffdd0
: r7 : 00000001 r6 : 00000000 r5 : ffffffea r4 : c1afb5a0
: r3 : 000000c7 r2 : f0100002 r1 : bffffdd0 r0 : bffffdd0
: Flags: NzCv IRQs on FIQs on Mode SVC_32 Segment user
: Control: C19CB17F Table: C19CB17F DAC: 00000015
: Process test (pid: 79, stackpage=c19cf000)
: Stack:
: c19cff60: c0042448 c2802158 a0000013 ffffffff c19cffac
: c19cff84 c00424
: 48
: c19cff80: c2802144 c19cffb4 c001ccc4 00000003 00000002 bffffe34
: 00000003 c00149
: a4
: c19cffa0: 00000000 c19cffb0 c0014820 c0042378 00000003 c001ca28
: 00000003 bffffd
: d0
: c19cffc0: 00000001 00000072 00000003 00000002 bffffe34 4001dfa0
: 020002ec
: 020005
: a0
: c19cffe0: 40104f28 bffffdf0 400af830 bffffdd0 020004c0 400af834
: 20000010 000000
: 03
: Backtrace:
: Function entered at [] from []
: Funct= 000000003 r6 = d211000) e2533001 rd
: -------------------------------------------------------------------------
: ----------------------
:
: io.o 와 test 파일을 ramdisk에 적재한 후에, 아래와 같은 작업을 하여 실행했
: 습니다.
:
: cd /dev
: mknod SAMPLE_IO c 190 0
: cd /
: insmod io.o <---------여기까지 잘 실행이 되었습니다. (성공했다는 메
: 세지가 보였지요..)
: test r
:
: =========================================================================
: 775번 글입니다.
: 저희두 ./test_app r(or w) 이런식으로 실행하면 같은 에러가 뜹니다.
: 그 아래 리플을 보면 ezboard.c에 io메모리 부분은 등록해주어야 한다는데..
: 어떻게 하는건가여?
: 참고로 ezboard.c에 있는 부분입니다.
:
: static struct map_desc ezboard_io_desc[] __initdata = {
: /* virtual physical length domain r w c b */
: { 0xe8000000, 0x00000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /*
: Flash bank 0 */
: { 0xf0000000, 0x10000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, /*
: Crystal Chip */
: LAST_DESC
: };
:
: 메모리 영역을 임의로 잡아주어도 되는건지..
: 그리고 이 부분에서 메모리영역을 잡아주면
: 커널 컴파일이랑 스트롱암용 패치를 새롭게
: 해야 하지 않나여? 만약 그렇게 되면 소스
: 부분만 수정해서 압축하면 되는지...
:
: 좀 가르쳐 주세여..
: 처음 해보는거라서 하나하나가 너무 어렵네여..^^;;
:
:
:
: 최영철 wrote..
: : 다했는데요.. 회로도대루 정확히 만들었고요
: : 그런데 LED가 안들어 오네요..ㅡㅡ;;
: : 그리고 테스트 실행 어케하는지도 잘 모르겠구요..
: : 소스보면 ./test_app r(orw) 아스키값이런 식인가요??
: : 간략한 설명좀 부탁 드립니다.
: : 정확이 어떤 결과가 나와야 하는지..^^;;
두가지 질문 모두 아래의 내용인것 같네요...
: 참고로 ezboard.c에 있는 부분입니다.
:
: static struct map_desc ezboard_io_desc[] __initdata = {
: /* virtual physical length domain r w c b */
: { 0xe8000000, 0x00000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /* Flash bank 0 */
: { 0xf0000000, 0x10000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, /* Crystal Chip */
: LAST_DESC
: };
====>>>
static struct map_desc ezboard_io_desc[] __initdata = {
/* virtual physical length domain r w c b */
{ 0xe8000000, 0x00000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /* Flash bank 0 */
{ 0xf0000000, 0x10000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, /* Crystal Chip */
{ 0xf0100000, 0x18000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, /* nCS3 */ <<<<==== 추가 부분
LAST_DESC
};
위와 같이 추가 하시고... 다시 커널을 컴파일하시고.. 이지보드에 커널을 다운로드하시고 나서...
데이터 버스를 이용한 LED와 스위치의 I/O제어의 디바이스 드라이버와 응용프로그램을 실행 시키시면
될것 같네여....
그럼......이만...
최영철 wrote..
: 강좌에서 설명된 "데이터 버스를 이용한 LED와 스위치의 I/O제어"에서
:
: 소스를 그대로 컴파일하여 실행했는데요, 아래와 같은 에러 메세지가 뜹니다.
:
: test r <----쉘에서 입력한 내용.
: -------------------------------------------------------------------------
: ----------------------
: SAMPLE_IO OPEN
: Unable to handle kernel paging request at virtual address f0100002
: pgd = c19c8000
: *pgd = 00000000, *pmd = 00000000
: Internal error: Oops: 0
: CPU: 0
: pc : [
: sp : c19cff74 ip : ffffffff fp : c19cff80
: r10: 40104f28 r9 : c19ce000 r8 : bffffdd0
: r7 : 00000001 r6 : 00000000 r5 : ffffffea r4 : c1afb5a0
: r3 : 000000c7 r2 : f0100002 r1 : bffffdd0 r0 : bffffdd0
: Flags: NzCv IRQs on FIQs on Mode SVC_32 Segment user
: Control: C19CB17F Table: C19CB17F DAC: 00000015
: Process test (pid: 79, stackpage=c19cf000)
: Stack:
: c19cff60: c0042448 c2802158 a0000013 ffffffff c19cffac
: c19cff84 c00424
: 48
: c19cff80: c2802144 c19cffb4 c001ccc4 00000003 00000002 bffffe34
: 00000003 c00149
: a4
: c19cffa0: 00000000 c19cffb0 c0014820 c0042378 00000003 c001ca28
: 00000003 bffffd
: d0
: c19cffc0: 00000001 00000072 00000003 00000002 bffffe34 4001dfa0
: 020002ec
: 020005
: a0
: c19cffe0: 40104f28 bffffdf0 400af830 bffffdd0 020004c0 400af834
: 20000010 000000
: 03
: Backtrace:
: Function entered at [
: Funct= 000000003 r6 = d211000) e2533001 rd
: -------------------------------------------------------------------------
: ----------------------
:
: io.o 와 test 파일을 ramdisk에 적재한 후에, 아래와 같은 작업을 하여 실행했
: 습니다.
:
: cd /dev
: mknod SAMPLE_IO c 190 0
: cd /
: insmod io.o <---------여기까지 잘 실행이 되었습니다. (성공했다는 메
: 세지가 보였지요..)
: test r
:
: =========================================================================
: 775번 글입니다.
: 저희두 ./test_app r(or w) 이런식으로 실행하면 같은 에러가 뜹니다.
: 그 아래 리플을 보면 ezboard.c에 io메모리 부분은 등록해주어야 한다는데..
: 어떻게 하는건가여?
: 참고로 ezboard.c에 있는 부분입니다.
:
: static struct map_desc ezboard_io_desc[] __initdata = {
: /* virtual physical length domain r w c b */
: { 0xe8000000, 0x00000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /*
: Flash bank 0 */
: { 0xf0000000, 0x10000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, /*
: Crystal Chip */
: LAST_DESC
: };
:
: 메모리 영역을 임의로 잡아주어도 되는건지..
: 그리고 이 부분에서 메모리영역을 잡아주면
: 커널 컴파일이랑 스트롱암용 패치를 새롭게
: 해야 하지 않나여? 만약 그렇게 되면 소스
: 부분만 수정해서 압축하면 되는지...
:
: 좀 가르쳐 주세여..
: 처음 해보는거라서 하나하나가 너무 어렵네여..^^;;
:
:
:
: 최영철 wrote..
: : 다했는데요.. 회로도대루 정확히 만들었고요
: : 그런데 LED가 안들어 오네요..ㅡㅡ;;
: : 그리고 테스트 실행 어케하는지도 잘 모르겠구요..
: : 소스보면 ./test_app r(orw) 아스키값이런 식인가요??
: : 간략한 설명좀 부탁 드립니다.
: : 정확이 어떤 결과가 나와야 하는지..^^;;