회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

Ask for somthing

조회 수 18047 추천 수 0 2006.07.05 02:57:06
Hey~~
Glad to find AESOP-EMBEDED.
I'm working on samsung's s3c24xx serious soc chip.
And now I met a problem on sleep mode.

I can suspend but I can't resume. System reboot after I triggered the wakeup interrupt.

Any idea?

고현철

2006.07.05 04:27:27
*.117.46.252

reboot?......Ummm

I'm only test "suspend2(hibernation)" module.
No test sleep mode.

In case of sleep mode, you must check device drivers's initialization.

Generally, the reason of resume fail is device initialize fault.

^^

고현철

2006.07.05 04:33:24
*.117.46.252

I'm use linux kernel 2.6.13 for suspend test.

Do you? 2.4.20? 2.4.18 or another?


mic

2006.07.05 18:00:33
*.92.62.186

ar ge sim ni da! karm sa ham ni da!!

I'm using linux kernel 2.6.10,("ben dock")

It seems system reset after I trigger the wake up source. I added
some debug info in the bootload(I'm using uboot). it goes like this:

if system is waking up from sleep mode, let the red led flash, other wise
flash the green led.
But every time, the green led flash, indicating that it's reset.





mic

2006.07.05 18:01:54
*.92.62.186

Indicate it's booting by system reset

고현철

2006.07.05 21:47:48
*.117.46.252

S3C2410/2440 linux sleep mode implement in kernel by ben dooks.
Implemented ev-board is Simtec's BAST board.

Suspend code frequently change.
2.6.13 kernel's sleep mode code is "Suspend to RAM" concept.

You use /sys/power mechanism?, or your own mechanism? or swsusp?

mic

2006.07.05 22:45:21
*.92.62.186

nei! Suspend to ram.
I'm using APM interface.
I'm testing this on several projects. (we're developping VOIP,DVBH,TDMB player using s3c2440)

The sleep resume can't work on the DVBH board but the other two works.
The suspend/resume debug is really difficult job.

고현철

2006.07.06 00:04:50
*.117.46.252

^^

I'm using only suspend2 code(suspend to disk-mtdblock).
Um...

As I see arch/arm/kernel/apm.c, apm mechanism use different code.
Result of my test /sys/power/state, suspend & resume work well.

- log

root@godori:~# cat /sys/power/state
standby mem disk
root@godori:~# echo mem > /sys/power/state
Stopping tasks: =====|
selected clock c02c9558 (pclk) quot 35, calc 115640
s3c2440-i2c s3c2440-i2c: resume: level 2
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: pdata c02cfe5c, freq 100000 0..400000
s3c2440-i2c s3c2440-i2c: bus frequency set to 378 KHz
s3c2440-i2c s3c2440-i2c: S3C2410_IICCON=0xaa
s3c2440-i2c s3c2440-i2c: S3C2440_IICLC=00000005
aesop2440_audio_resume
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
Restarting tasks... done


This test is using arch/arm/mach-s3c2410/pm.c & kernel/power/*.c
APM is using another code arch/arm/kernel/apm.c

I confuse difference of two mechanism....^^, need more study.

The suspend/resume debug is really difficult job, too...
Chinese ancient word... 五里霧中, right?...^^

고현철

2006.07.06 00:21:23
*.117.46.252

Oops...

static void apm_suspend(void)
{
struct apm_user *as;
int err = pm_suspend(PM_SUSPEND_MEM);

/*
* Anyone on the APM queues will think we're still suspended.
* Send a message so everyone knows we're now awake again.
*/
queue_event(APM_NORMAL_RESUME, NULL);

/*
* Finally, wake up anyone who is sleeping on the suspend.
*/
down_read(&user_list_lock);
list_for_each_entry(as, &apm_user_list, list) {
as->suspend_result = err;
as->suspend_state = SUSPEND_DONE;
}
up_read(&user_list_lock);

wake_up(&apm_suspend_waitqueue);
}


apm_suspend() is using pm_suspend() code, too....

I'll test APM.....,

umm...


mic

2006.07.06 00:31:37
*.92.62.186

五里霧中,cool~~,and also 云里雾里. 你学过中文?
han go ma'er kongbu ha go yi sip ni da.
You're using suspend to mtdblock, that's new feature for your kernel?
For I can't find the /sys/power fold here on my board.
I think the problem I'm facing now is very "hardware-dependant". I tested
244x's suspend/resume function outside the kernel--using a firmware test code.
it works...I'm compare the raw register setting. Hope to get some result and share u.

고현철

2006.07.06 01:03:12
*.117.46.252

I cannot read/write chinese.

But, I can read 漢字(original? ancient? chinese language...^^)

You're using suspend to mtdblock, that's new feature for your kernel?
==> yes, I'm using nand flash to mtdblock.

I'm testing Suspend2 power save mode using nand flash to swap partition.
This is Suspend to Disk.

If you want suspend2 to disk source code, I upload the code & howto.


mic

2006.07.06 01:30:23
*.92.62.186

Oh, you're pc can recognize the tranditional Chinese characters.

I'm studying Korean. I've been to Suwon and Seoul several times. You're country is very clean and beautiful!!

That would be very helpful if you upload the code & howto of suspend2 disk.

I did some test and found something:
the physical address of the resume routine is saved in the GSTATUS3 but the content inside that register seems lost when the system trying to wake up.
Strange, what'll cause the data lost? The content in the GSTATUS3 and GSTATUS4 only clear by power on reset and Watchdog reset.

고현철

2006.07.06 01:38:57
*.117.46.252

I upload code till tomorrow.

Today, I'll test aesop2440-3rd edition ev-board.
Besides, suspend2 test kernel is on my backup DVD. I'll find the code.

mic

2006.07.06 01:41:04
*.92.62.186

neinei, Ko ma sim nida!

고현철

2006.07.06 01:45:19
*.117.46.252

meol yo.....^^(== you're welcome)

mic

2006.07.06 21:02:05
*.92.62.186

My sleep/suspend to ram is working now.
I paly a trick. duiring the wake up processdure, I don't use the wake up address stored in GSTATUS3, but assigned the pc myself--for I know the physical address.

But still I'm confused why the content in GSTATUS3 lost

고현철

2006.07.06 23:20:52
*.117.46.252

^^, Oh...Nice!

I upload suspen2 patch kernel for aesop2440 2.6.13.

see

target=_blank>http://www.aesop-embedded.org/download.html

's
Linux kernel 2.6.13-suspend2-patch by Godori(고도리) - howto
part.


mic

2006.07.07 00:13:29
*.92.62.186

Great! Thanks.
Just now I downloaded your root fs image,
question is which ui are you using?

==================================================
AESOP Linux

/) /)
(='.'=) <- godori

login[54]: root login on `tts/0'

root@godori:~#
root@godori:~#
root@godori:~# ls
15fps_w309.avi g2player ghello.c logo01.raw
bombs gcomp glogo
controls ghello label
root@godori:~# ./ghello

(ghello:58): Gdk-WARNING **: locale not supported by Xlib

(ghello:58): Gdk-WARNING **: cannot set locale modifiers
(ghello:58): Gtk-WARNING **: cannot open display:
root@godori:~#
root@godori:~#
root@godori:~# ls
15fps_w309.avi g2player ghello.c logo01.raw
bombs gcomp glogo
controls ghello label

root@godori:~# ./g2player 15fps_w309.avi
Could not initialize SDL - No available video device
root@godori:~#
=============================================

mic

2006.07.07 00:14:55
*.92.62.186

X windows can't work

고현철

2006.07.07 00:26:37
*.117.46.252

I recommend g2player do not run....^^

Your LCD size?
Aesop2440 use 480x272 samsung 4" LCD. And touch?

If you see /etc/profile file, set touch device & locale.....etc.

Then, If you run X windows system, just hit "startx"
You can find mplayer in /usr/bin/mplayer. This binary is for X windows system.

Enjoy it....^^

mic

2006.07.07 01:28:24
*.92.62.186

I'm using Samsung's smdk board, with the lcd size 240*320 + touch screen.
Still I met some problem in start the kernel. Seems that I need
"a free VT". what's that?

===========================================
root@godori:/# startx
Fatal server error:
LinuxInit: Cannot open /dev/tty0 (No such file or directory)
root@godori:/# ln -s /dev/tty /dev/tty0
root@godori:/# startx
Fatal server error:
xf86OpenConsole: Cannot find a free VT

Couldn't open display
root@godori:/#
(process:82): Gdk-WARNING **: locale not supported by Xlib

(process:82): Gdk-WARNING **: cannot set locale modifiers
bt::Display: failed to open display ''

(fbpanel:82): Gtk-WARNING **: cannot open display:

고현철

2006.07.07 02:01:57
*.117.46.252

Um....

It's a complex problem.

X window system needs keyboard(exactly virtual terminal).

Aesop2440 has button keyboard, I made keybutton to keyboard.
and check input driver to keyboard in kernel menuconfig.

like this

lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x --- Generic input layer (needed for keyboard, mouse, ...) x x
x x --- Userland interfaces x x
x x --- Mouse interface x x
x x [*] Provide legacy /dev/psaux device x x
x x (480) Horizontal screen resolution x x
x x (272) Vertical screen resolution x x
x x < > Joystick interface x x
x x < > Touchscreen interface x x
x x <*> Event interface x x
x x < > Event debugging x x
x x --- Input Device Drivers x x
x x [*] Keyboards ---> x x
x x [ ] Mouse ---> x x
x x [ ] Joysticks ---> x x
x x [*] Touchscreens ---> x x
x x [ ] Miscellaneous devices ---> x x
x x Hardware I/O ports ---> x x
x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x

lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x --- Keyboards x x
x x <*> AT keyboard x x
x x < > Sun Type 4 and Type 5 keyboard x x
x x < > DECstation/VAXstation LK201/LK401 keyboard x x
x x < > XT keyboard x x
x x < > Newton keyboard x x
x x < > s3c2410 buttons x x
x x <*> AESOP2440 buttons x x
x x x x



Can you check input device like this?
And hit startx again.

mic

2006.07.07 02:35:37
*.92.62.186

yes ,maybe I've to write an keyboard driver.
anyway I think xwindows is too big for embeded, doesn't it?
we're using trolltech's Qt, the shortcoming is that it's not free.

고현철

2006.07.07 03:15:28
*.117.46.252

X windows is bigger than Qt.

but Free & fast. X windows system in aesop rootfs is X kdrive.
Small & very fast in embedded system.

^^, 一長一短

But, I like X windows system. why? very fast & Firefox run....

mic

2006.07.07 18:24:53
*.92.62.186

Nei~~
I'd like to read something about X windows embeded.
and make it running on my board!
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 [교육관련] 게시물 --> 반드시 "교육 및 세미나 홍보" 게시판 ... 관리자 2013-12-12 18754
공지 [질문]하실 때 부탁드립니다. 관리자 2013-07-10 21741
19 AESOP-2440을 이용한 Linux Device Driver 문서 pre-rele... [2] 고현철 2006-09-11 12179
18 등급정리 - Device Driver Study관련해서... 고현철 2006-08-31 11071
17 AESOP보드 이용한 Device Driver 공부 및 문서만들기 시작 고도리 2006-08-30 12247
16 임베디드 SW 중 GUI관련하여 회의가 있습니다. 관심 있는 기... [2] 윤덕배 2006-07-21 12318
15 게시판 이름 영어로 바꿨습니다. ^^ [1] 고현철 2006-07-07 13335
» Ask for somthing [24] mic 2006-07-05 18047
13 제품 출시에 따른 software license에 대한 문서 고현철 2006-07-03 12495
12 aesop board가 전시회에 나간 사연...^^ [3] 고현철 2006-06-28 13860
11 소모임 Q&A란을 aesop bootloader page로 변경합니다. [1] 고도리 2006-06-27 13565
10 서버이전 & 장비재정비 & 재오픈... [11] 고현철 2006-06-20 13575
9 서버가 불안합니다. 고현철 2006-06-01 12710
8 [서버이전] 2006년 6월 10일경... 고현철 2006-05-29 12904
7 [가입자관리] 실명이 아니라고 판단될 경우 5월 31일 탈퇴처리... 고현철 2006-05-26 12981
6 강좌 동영상 업로드에 대한 의견조사 [7] 고현철 2006-05-25 14110
5 AESOP-2440 3차보드 일정 [9] 고현철 2006-05-25 15150
4 NetBSD로도 포팅을 할까 합니다. [1] 고현철 2006-05-06 15374
3 aesop-2440A 3차보드에 대한 설문조사. [42] 고현철 2006-04-06 18921
2 이솝 사이트 정식 오픈했습니다. 고현철 2006-04-06 15358
1 이솝사이트 오픈준비하고 있습니다. [14] 고현철 2006-04-05 16721

사용자 로그인