PPC cpu 에 linux 2.6.x 커널을 사용합니다. 그런데 1시간에 30초 정도 늦게 시계가 가네요. (커널 시간) 외부 RTC 는 정상적으로 동작을 하고 있습니다.
1시간에 한번씩 rtc 시간값을 커널에 반영을 하긴하는데 1시간에 30초 오차면 시스템에 문제가 있는것 같아서요..
H/W 적인 문제인지 S/W 적으로 세팅 문제인지 감이 잡히지 않네요.
의견 부탁드립니다.
감사합니다.
몇년전에 작업했던 내용이라 정확하게 알려드릴수 없지만 참고정도만 하세요.
말씀 드리는건 AU1200기준으로 작업했던 내용입니다. 어차피 코어 안에 들어가면 파일들은 거이 비슷하게 존재하리라 생각합니다.
RTC는 arch/mips/au1200/common/time.c 에 포함되어 있습니다
리눅스에서는 타임을 기준시간부터의 현재시간까지 초단위 32비트값으로 가지고 있습니다
이것을 시간으로 변환 사용합니다 (mktime() 등 time.h 참조)
AU1200의 커널의 경우 rtc(초당 32768)및 toy(초당 1) 를 사용합니다
rtctrim 을 32767 이므로 리눅스부팅전 재설정 하시기 바랍니다.
void timer_setup (void) { int val; val = readl(gpio2_dir); val |= (0x1 << 12); writel(val,gpio2_dir); writel(32768,sys_rtctrim); // writel(32767,sys_rtctrim); writel(0, sys_toywrite); writel(326, sys_toytrim); writel(0x1<<8,sys_cntrctrl); cpuIrqEnable(IRQ_TOY_TICK, INT_RISING_EDGE, (void *)time_isr, 0); } */
// writel(32767,sys_rtctrim); 주석처리된 rtc값 32767의 값을 변경해서 오차를 수정했던적이 있었습니다.
저는 이문제까지는 해결했었는데 마지막에 부팅시 1초가 빨라지는 문제가 있었는데 그건 시간이 없어서 수정을 못했었네요.
좋은 결과 있길 바라겠습니다...^^
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
저도 예전에 이런 문제로 고민했던 적이 있었는데...
몇년전에 작업했던 내용이라 정확하게 알려드릴수 없지만 참고정도만 하세요.
말씀 드리는건 AU1200기준으로 작업했던 내용입니다. 어차피 코어 안에 들어가면 파일들은 거이 비슷하게 존재하리라 생각합니다.
RTC는 arch/mips/au1200/common/time.c 에 포함되어 있습니다
리눅스에서는 타임을 기준시간부터의 현재시간까지 초단위 32비트값으로 가지고 있습니다
이것을 시간으로 변환 사용합니다 (mktime() 등 time.h 참조)
AU1200의 커널의 경우 rtc(초당 32768)및 toy(초당 1) 를 사용합니다
rtctrim 을 32767 이므로 리눅스부팅전 재설정 하시기 바랍니다.
void timer_setup (void)
{
int val;
val = readl(gpio2_dir);
val |= (0x1 << 12);
writel(val,gpio2_dir);
writel(32768,sys_rtctrim);
// writel(32767,sys_rtctrim);
writel(0, sys_toywrite);
writel(326, sys_toytrim);
writel(0x1<<8,sys_cntrctrl);
cpuIrqEnable(IRQ_TOY_TICK, INT_RISING_EDGE, (void *)time_isr, 0);
} */
// writel(32767,sys_rtctrim); 주석처리된 rtc값 32767의 값을 변경해서 오차를 수정했던적이 있었습니다.
저는 이문제까지는 해결했었는데 마지막에 부팅시 1초가 빨라지는 문제가 있었는데 그건 시간이 없어서 수정을 못했었네요.
좋은 결과 있길 바라겠습니다...^^
댓글 달기