기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

TI DM6467 보드를 커널 2.6.18 로 테스트중 입니다 .....

 

RTC 드라이버 프로브 함수부분 입니다 ...

 printk("RTC Probe ....n");
  273     dev_dbg(&adapter->dev, "%sn", __FUNCTION__);
  274
  275     if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
  276         err = -ENODEV;
  277         goto exit;
  278     }
  279
  280     if (!(client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL))) {
  281         err = -ENOMEM;
  282         goto exit;
  283     }
  284
  285     client->addr = address;
  286     client->driver = &pcf8563_driver;
  287     client->adapter = adapter;
  288
  289     strlcpy(client->name, pcf8563_driver.driver.name, I2C_NAME_SIZE);
  290
  291     /* Verify the chip is really an PCF8563 */
  292     device_register
  293         if (pcf8563_validate_client(client) < 0) {
  294             err = -ENODEV;
  295             goto exit_kfree;
  296         }
  297     }
  298
  299     /* Inform the i2c layer */
  300     if ((err = i2c_attach_client(client)))
  301         goto exit_kfree;
  302
  303     dev_info(&client->dev, "chip found, driver version " DRV_VERSION "n");
  304
  305     rtc = rtc_device_register(pcf8563_driver.driver.name, &client->dev,
  306                 &pcf8563_rtc_ops, THIS_MODULE);
  307

 

왜 아래의 디버깅 메시지에서 드라이버 모듈을 삽입했을때 Unknown symbol rtc_device_register 에서 왜 오류가 발생하는지

원인분석 좀 부탁드리고 해결방안 좀 찾아 주셨으면 합니다 .....
 

 

linux-2.6.18-davincihd/drivers/rtc # insmod rtc-pcf8563.ko
Loading Module rtc-pcf8563.ko
rtc_pcf8563: Unknown symbol rtc_device_unregister
rtc_pcf8563: Unknown symbol rtc_device_register
insmod: can't insert 'rtc-pcf8563.ko': unknown symbol in module, or unknown parameter
~/nfs/linux-2.6.18-davincihd/drivers/rtc # rtc_pcf8563: Unknown symbol rtc_device_register
-sh: rtc_pcf8563:: not found
~/nfs/linux-2.6.18-davincihd/drivers/rtc #
~/nfs/linux-2.6.18-davincihd/drivers/rtc # hwclock --systohc
hwclock: can't open '/dev/misc/rtc': No such device or address

 

 

 

RTC___1.jpg

 

 

제가 선택한 Menuconfig 입니다 ...

아랫분 답변 말씀 처럼 RTC Class 선택해 주는 부분이 없는데 어디를 봐야 할까요 ?

 


 

 

 

 


funmoney

2011.07.05 17:57:22
*.169.251.167

rtc_device_unregister() / rtc_device_register() 함수들이 컴파일 된 .o 파일이 커널에 없는 것입니다.

make menuconfig 에서 무언가 빼먹으신건 없는지 확인해 보시는 것이 좋을 듯합니다.

류경훈

2011.07.05 19:12:05
*.178.61.188

rtc-pcf8563.ko 모듈이 로딩할때 커널의 심블을 동적 바이딩하는데 커널에서 rtc_device_register, rtc_device_unregister
을 찾을 수 없다는 말입니다.

이 말은 커널 바이너리에 해당 심블이 없다는 말이죠.

이 경우 대부분 커널 옵션 설정에 따라서 커널의 특정  파트가 빠질 수 있는데 위의 상황은 RTC class 라이브러리가

커널 빌드 옵션에서 빠진듯 합니다.

make menuconfig 하셔서 메뉴중 아래까지 가셔서 RTC class를 enable 해주시고 다시 컴파일 하면 해결 될겁니다.
device drivers->real time clock->RTC class

죠니주니

2011.07.05 20:55:22
*.238.149.1

해당 심볼테이블이 커널빌드될시 없어서 그런것입니다

컴파일하신 커널이미지로 부팅하시고 심볼테이블부터 확인하세요
부팅하여 심볼테이블 확인해볼수 있죠~~
해당 함수 들어있는 소스 부터 확인하시고 그 소스에서 해당함수가 심볼테이블로 되있는지도 확인하시고
안되있으시면 심볼테이블 추가 ex)export_symbol 로 추가해주심됩니다.
그럼 수고하세요~

funmoney

2011.07.05 21:44:01
*.169.251.167

rtc_device_register() 함수 내부에서 /dev , /proc , /sys 등 동작에 필요한 system file 들을 생성해줍니다. 따라서 그 함수가 없으면 open 에서 부터 되지 않을 것입니다. 해당 함수는 kernel2.6.30의 경우에 ./linux/driver/rtc/class.c 에 있네요. Makefile 을 확인해보니 class.c 는 무조건 kernel 내부로 함께 build 되도록 되어 있는데, 문제의 함수가 없다는 것이 좀 이상하네요. kernel build 를 clean 하고나서 다시 해보는 것도 좋을 듯 합니다.
 
아... 만약 class.c 도 정상 build 되어 kernel 에 삽입되었는데도 계속 나온다면, Moudule licence 문제인 경우가 있습니다. 예전에 EXPORT_SYMBOLE 로 선언한 kernel 함수를 모듈에서 사용하려는데 계속 unknown symbol 이라고 나오던 적이 있었습니다. 당시기억에 kernel 에 사용하려고 하는 함수가 이미 들어가 있는 것을 확인 했는데도 모듈을 insmod 하면 계속 unknown symbole ... 이 발생했던 기억이 있네요 ... 이때는 export licence 와 module licence 를 맞추어 주면 잘 되었습니다. 이것도 함께 확인해 보심이 좋을 듯.

장석원

2011.07.06 17:34:35
*.151.23.186

일단 디바이스드라이버가 등록되서 레지스터값을 읽는것까지는 확인했구요

어플짜서 나머지 동작도 확인할 예정 입니다 ...

 

그동안 도와주셔서 감사합니다 ...

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
5368 C110 소비전류가 어떻게 되나요? [6] 땜철학자 2012-05-22 1517
» [질문 수정했음] RTC 드라이버 포팅 관련 .... file [5] 장석원 2011-07-05 1516
5366 ffserver 질문드립니다. file [3] 이호석 2013-02-20 1514
5365 [S5PV210] CUPS 1.6.2 포팅 오류 때끼때끼 2013-06-11 1513
5364 [완료] mplayer에서 wma파일 재생관련 [5] 박세웅 2007-08-30 1512
5363 DDR DRAM 붙일때 주의점이 있나요? [3] 이종민 2009-03-05 1512
5362 안드로이드에서 파일 암호화/복호화 사용에 관한 질문입니다. [2] 김영일 2010-02-23 1512
5361 [해결] NAND bad block 관련 질문 [1] 박영기1 2011-08-02 1512
5360 미디어 플레이어의 네트워크 스트림 구현에 대한 문의 [6] whiterub 2012-10-05 1512
5359 arndale 보드에서 opencl 사용하는 방법에 대한 싸이트 김영준 2013-09-10 1512
5358 uboot에서 jpeg lib [3] 양파링 2014-02-04 1512
5357 SMDK2440A 타겟보드에서 ping 사용하기...ㅠㅠ <= 133에 추... [2] 류민희 2006-08-11 1511
5356 노트 PC에 grub rescue> prompt가 뜨는데??? [3] 요셉 2010-07-08 1511
5355 임베디드 리눅스 메모리맵 작업 관련...... [1] blue0sky 2011-12-29 1511
5354 안드로이드에서 Socket데몬 실행시 퍼미션 문제 [2] 사당 2013-02-16 1511
5353 Exynos4(S5PV310) Module loading 문제. [2] 준성아빠 2012-01-02 1510
5352 U-boot에서 usb storage 인식하기. 최종환 2008-12-30 1509
5351 Framework 개발 서비스 연동? 질문 드립니다. [3] Supsupi 2014-01-17 1508
5350 uart... CTS/RTS TEST에 대해서 의견 부탁드립니다. [2] 이성호 2009-11-27 1507
5349 libmpfr.so.1 : cannot open shared object file: No such f... [4] 하민근 2010-11-17 1507

사용자 로그인