블로그 이미지
stluck

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
  • total
  • today
  • yesterday
2009. 10. 16. 00:12 Cad Lab./Gun
64bit OS 사용의 필요성을 전혀 못 느꼈습니다. 32bit 라이브러리와 64bit 라이브러리를 함께 가지고 있어야 하기 때문에 하드 용량만 차지하고,,

그러나,, 그동안 사용하던 32bit Ubuntu 버리고 64bit CentOS로 갈아탔습니다.. 이사비용이 만만치 않더라는,, ㅋ

발단은,, ISE 에서 합성을 하는데 프로세스 하나가 사용하는 메모리가 3G를 넘어감에 따라 ISE가 out of memory를 내 뱉으며 죽어버렸습니다.(전체 메모리는 여유가 있음에도 불구하고;;)

32bit Ubuntu Desktop에서도 커널을 server로 사용하면 4G 이상의 메모리를 사용할 수 있으나,,
ISE의 프로세스 하나가 4G이상(실제로는 더 적은,,)메모리를 사용함에 따라 out of memory를 소리치며 전사하였습니다.

결국 Ubuntu를 버리고ㅠ.ㅠ 불편한(상대적으로ㅋ) CentOS 64bit 로 갈아탔습니다.(예전에 시험삼하 써본관계로,,)

그나 저나,, ISE 에서도 Multi-thread를 충분히(그나마 Map서는 지원합니다.) 지원하였으면 좋겠습니다. Quartus에서는 좀 더 폭넓게 지원 되는데,, 쩝~~

64bit ISE를 사용하니,, 프로세스 하나가 5G가 넘는 메모리를 먹어치웁니다,,, ㅋ
(사실 이런거 첨봤어요 ^^;;;)

사용자 삽입 이미지


posted by stluck
2009. 10. 15. 15:43 Cad Lab./Gun
1. .vim 디렉토리


2. Monaco 폰트 /usr/share/font/truefont (font cache : fc-cache -fv)
3. .vimrc
4. gftp

Toolbar
 guioptions=  : 툴바, 메뉴바 없개기
 guioptions=T : 툴바만
 guioptions=m : 메뉴바만
 guioptions=Tm : 툴바,메뉴바 둘다

posted by stluck
2009. 10. 12. 03:19 Cad Lab./Embedded

USB Core만 활성화 시켰을 때는 문제가 없었으나,,

HID를 사용하기 위해 OHCI 드라이버를 enable 하자 아래와 같은 메지지가 한참 나오고 나서야

USB 장치가 동작하였다. 그것도 아주 느린 반응 속도로;;;

다시 뺐다가 끼우면 정상적으로 동작하는 경우로써;;

에러 처음 문장에서 나오듯이 IRQ 문제인듯;;;

======================================================================================
irq26: nobody cared

Pid: 0, comm:              swapper
CPU: 0
PC is at default_idle+0x84/0x94
LR is at default_idle+0x78/0x94
pc : [<c0044bd0>]    lr : [<c0044bc4>]    Not tainted
sp : c0255f98  ip : c0255f98  fp : c0255fa4
r10: 3001e46c  r9 : 41129200  r8 : 3001e49c
r7 : c02c6854  r6 : c0257d1c  r5 : c0254000  r4 : c0044b4c
r3 : 60000013  r2 : f0500000  r1 : 00000032  r0 : c003c1e0
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
Control: C000717F  Table: 32B90000  DAC: 00000017
[<c00449d0>] (show_regs+0x0/0x50) from [<c0043da0>] (report_bad_irq+0x6c/0xcc)
 r4 = C0255F50
[<c0043d34>] (report_bad_irq+0x0/0xcc) from [<c0043e84>] (do_level_IRQ+0x84/0xc0)
 r5 = 0000001A  r4 = C02A7428
[<c0043e00>] (do_level_IRQ+0x0/0xc0) from [<c00440b0>] (asm_do_IRQ+0x4c/0x108)
 r6 = C0255F50  r5 = F0000000  r4 = FFFFFFFF
[<c0044064>] (asm_do_IRQ+0x0/0x108) from [<c00427c4>] (__irq_svc+0x24/0x60)
 r6 = 00000001  r5 = F0000000  r4 = FFFFFFFF
[<c0044b4c>] (default_idle+0x0/0x94) from [<c00449b4>] (cpu_idle+0x3c/0x58)
[<c0044978>] (cpu_idle+0x0/0x58) from [<c0042260>] (rest_init+0x24/0x2c)
 r5 = C02A6A9C  r4 = C02B1500
[<c004223c>] (rest_init+0x0/0x2c) from [<c0008998>] (start_kernel+0x168/0x1b4)
[<c0008830>] (start_kernel+0x0/0x1b4) from [<30008094>] (0x30008094)
[<c0047ae8>] (dump_stack+0x0/0x14) from [<c0043da4>] (report_bad_irq+0x70/0xcc)
[<c0043d34>] (report_bad_irq+0x0/0xcc) from [<c0043e84>] (do_level_IRQ+0x84/0xc0)
 r5 = 0000001A  r4 = C02A7428
[<c0043e00>] (do_level_IRQ+0x0/0xc0) from [<c00440b0>] (asm_do_IRQ+0x4c/0x108)
 r6 = C0255F50  r5 = F0000000  r4 = FFFFFFFF
[<c0044064>] (asm_do_IRQ+0x0/0x108) from [<c00427c4>] (__irq_svc+0x24/0x60)
 r6 = 00000001  r5 = F0000000  r4 = FFFFFFFF
[<c0044b4c>] (default_idle+0x0/0x94) from [<c00449b4>] (cpu_idle+0x3c/0x58)
[<c0044978>] (cpu_idle+0x0/0x58) from [<c0042260>] (rest_init+0x24/0x2c)
 r5 = C02A6A9C  r4 = C02B1500
[<c004223c>] (rest_init+0x0/0x2c) from [<c0008998>] (start_kernel+0x168/0x1b4)
[<c0008830>] (start_kernel+0x0/0x1b4) from [<30008094>] (0x30008094)
handlers:
[<c0186904>] (usb_hcd_irq+0x0/0x90)
irq26: nobody cared

Pid: 0, comm:              swapper
CPU: 0
PC is at __do_irq+0x34/0x8c
LR is at do_level_IRQ+0x6c/0xc0
pc : [<c0043bb0>]    lr : [<c0043e6c>]    Not tainted
sp : c0255e28  ip : c0255e50  fp : c0255e4c
r10: 3001e46c  r9 : 41129200  r8 : c0255eb0
r7 : 00000030  r6 : c0255eb0  r5 : 00000030  r4 : c03cfea0
r3 : 40000013  r2 : c0255eb0  r1 : c03cfea0  r0 : 00000030
Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
Control: C000717F  Table: 32B90000  DAC: 00000017
[<c00449d0>] (show_regs+0x0/0x50) from [<c0043da0>] (report_bad_irq+0x6c/0xcc)
 r4 = C0255DE0
[<c0043d34>] (report_bad_irq+0x0/0xcc) from [<c0043e84>] (do_level_IRQ+0x84/0xc0)
 r5 = 0000001A  r4 = C02A7428
[<c0043e00>] (do_level_IRQ+0x0/0xc0) from [<c00440b0>] (asm_do_IRQ+0x4c/0x108)
 r6 = C0255DE0  r5 = F0000000  r4 = FFFFFFFF
[<c0044064>] (asm_do_IRQ+0x0/0x108) from [<c00427c4>] (__irq_svc+0x24/0x60)
 r6 = 00000001  r5 = F0000000  r4 = FFFFFFFF
[<c0043b7c>] (__do_irq+0x0/0x8c) from [<c0043e6c>] (do_level_IRQ+0x6c/0xc0)
 r8 = 3001E49C  r7 = C02C6854  r6 = C0255EB0  r5 = 00000030
 r4 = C02A78A0
[<c0043e00>] (do_level_IRQ+0x0/0xc0) from [<c004ce40>] (s3c_irq_demux_subirq+0x5c/0x68)
 r6 = C0255EB0  r5 = F0000000  r4 = C0255EB0
[<c004cde4>] (s3c_irq_demux_subirq+0x0/0x68) from [<c00440b0>] (asm_do_IRQ+0x4c/0x108)
 r4 = FFFFFFFF
[<c0044064>] (asm_do_IRQ+0x0/0x108) from [<c00427c4>] (__irq_svc+0x24/0x60)
 r6 = 00000001  r5 = F0000000  r4 = FFFFFFFF
[<c00579f8>] (__do_softirq+0x0/0xe0) from [<c0057d60>] (irq_exit+0x44/0x4c)
 r6 = C0255F50  r5 = F0000000  r4 = FFFFFFFF
[<c0057d1c>] (irq_exit+0x0/0x4c) from [<c0044154>] (asm_do_IRQ+0xf0/0x108)
[<c0044064>] (asm_do_IRQ+0x0/0x108) from [<c00427c4>] (__irq_svc+0x24/0x60)
 r6 = 00000001  r5 = F0000000  r4 = FFFFFFFF
[<c0044b4c>] (default_idle+0x0/0x94) from [<c00449b4>] (cpu_idle+0x3c/0x58)
[<c0044978>] (cpu_idle+0x0/0x58) from [<c0042260>] (rest_init+0x24/0x2c)
 r5 = C02A6A9C  r4 = C02B1500
[<c004223c>] (rest_init+0x0/0x2c) from [<c0008998>] (start_kernel+0x168/0x1b4)
[<c0008830>] (start_kernel+0x0/0x1b4) from [<30008094>] (0x30008094)
[<c0047ae8>] (dump_stack+0x0/0x14) from [<c0043da4>] (report_bad_irq+0x70/0xcc)
[<c0043d34>] (report_bad_irq+0x0/0xcc) from [<c0043e84>] (do_level_IRQ+0x84/0xc0)
 r5 = 0000001A  r4 = C02A7428
[<c0043e00>] (do_level_IRQ+0x0/0xc0) from [<c00440b0>] (asm_do_IRQ+0x4c/0x108)
 r6 = C0255DE0  r5 = F0000000  r4 = FFFFFFFF
[<c0044064>] (asm_do_IRQ+0x0/0x108) from [<c00427c4>] (__irq_svc+0x24/0x60)
 r6 = 00000001  r5 = F0000000  r4 = FFFFFFFF
[<c0043b7c>] (__do_irq+0x0/0x8c) from [<c0043e6c>] (do_level_IRQ+0x6c/0xc0)
 r8 = 3001E49C  r7 = C02C6854  r6 = C0255EB0  r5 = 00000030
 r4 = C02A78A0
[<c0043e00>] (do_level_IRQ+0x0/0xc0) from [<c004ce40>] (s3c_irq_demux_subirq+0x5c/0x68)
 r6 = C0255EB0  r5 = F0000000  r4 = C0255EB0
[<c004cde4>] (s3c_irq_demux_subirq+0x0/0x68) from [<c00440b0>] (asm_do_IRQ+0x4c/0x108)
 r4 = FFFFFFFF
[<c0044064>] (asm_do_IRQ+0x0/0x108) from [<c00427c4>] (__irq_svc+0x24/0x60)
 r6 = 00000001  r5 = F0000000  r4 = FFFFFFFF
[<c00579f8>] (__do_softirq+0x0/0xe0) from [<c0057d60>] (irq_exit+0x44/0x4c)
 r6 = C0255F50  r5 = F0000000  r4 = FFFFFFFF
[<c0057d1c>] (irq_exit+0x0/0x4c) from [<c0044154>] (asm_do_IRQ+0xf0/0x108)
[<c0044064>] (asm_do_IRQ+0x0/0x108) from [<c00427c4>] (__irq_svc+0x24/0x60)
 r6 = 00000001  r5 = F0000000  r4 = FFFFFFFF
[<c0044b4c>] (default_idle+0x0/0x94) from [<c00449b4>] (cpu_idle+0x3c/0x58)
[<c0044978>] (cpu_idle+0x0/0x58) from [<c0042260>] (rest_init+0x24/0x2c)
 r5 = C02A6A9C  r4 = C02B1500
[<c004223c>] (rest_init+0x0/0x2c) from [<c0008998>] (start_kernel+0x168/0x1b4)
[<c0008830>] (start_kernel+0x0/0x1b4) from [<30008094>] (0x30008094)
handlers:
[<c0186904>] (usb_hcd_irq+0x0/0x90)

==========================================================================================

커널을 자세히 알지 못하기 때문에 ㅠ.ㅠ

땜빵하였다 -_-;; 일단 되게 만드는게 우선이니깐 ^^;;

File : drivers/usb/core/hcd.c  (2.6.16기준 1655 Line)

if (hcd->driver->irq (hcd, r) == IRQ_NONE)
  //return IRQ_NONE; original
  return IRQ_HANDLED;

리턴 값을 IRQ_HANDLED 로 주면 된다.

'Cad Lab. > Embedded' 카테고리의 다른 글

Nand bad block?  (0) 2009.10.04
posted by stluck