블로그 이미지
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. 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
2009. 10. 9. 00:37 Funny



태연, 제시카, 티파니, 써니, 서현 (9명중 노래 잘 하는 5명 ^^)

난 티파니 목소리가 좋은데,, 요즘 써니도 노래가 참 좋은듯,,

써니가 노래가 참 많이 늘었다. 그래서인지 이번에 태연이랑 듀엣(사랑인걸요 - 맨땅에 헤딩 OST)을 한듯,,


posted by stluck
2009. 10. 9. 00:12 Cad Lab./Gun
1. sort 에러
_POSIX2_VERSION 환경변수에 199209 를 넣어준다.
 
     export _POSIX2_VERSION=199209

2. ncompress 패키지 설치

      sudo apt-get install ncompress

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

Ubuntu 9.10 불완전한 한글 입력  (0) 2009.11.10
Using Xilinx USB Driver on Ubuntu 9.10  (0) 2009.11.04
FLEXlm License Manager error on Windows installed.  (0) 2009.10.16
64bit Linux로의 이주,,,  (0) 2009.10.16
이사용 vim 설정  (0) 2009.10.15
posted by stluck
2009. 10. 4. 18:38 Cad Lab./Embedded

=============================================================
NAND erase: device 0 offset 0x200000, size 0x3000000
Skipping bad block at  0x00640000
Skipping bad block at  0x00ce0000
Skipping bad block at  0x01200000
Erasing at 0x31e0000 -- 100% complete.
OK
SMDK2443 # nand write c0000000 200000 3000000

NAND write: device 0 offset 0x200000, size 0x3000000
 50331648 bytes written: OK
SMDK2443 # NAND erase: device 0 offset 0x200000, size 0x3000000
Unknown command 'NAND' - try 'help'
SMDK2443 # Skipping bad block at  0x00640000
Unknown command 'Skipping' - try 'help'
SMDK2443 # Skipping bad block at  0x00ce0000
Unknown command 'Skipping' - try 'help'
SMDK2443 # Skipping bad block at  0x01200ite c0000000 200000 3000000
Unknown command 'Skipping' - try 'help'
SMDK2443 #
SMDK2443 # NAND ritten: OK
Unknown command 'NAND' - try 'help'
SMDK2443 # SMDK2443 #
===========================================================

무엇이 문제인고?

posted by stluck
2009. 6. 28. 15:05 Programming/Verilog(A)/SVerilog

DC 에서 assign 문이 나오는 경우는 크게 두가지 1.feedthroughs 2. three state 입니다.
우선 three state는
verilogout_no_tri = true
verilogout_equation = false 선언하시면 되구요(.synopsys_dc.setup)

feedthroughs는 compile전에 전체 design에 set_fix_multiple_port_nets -all -buffer_constants 를 해주시면 됩니다. top에서 하시면 top만 해결되구요 전체 sub까지 해주셔야 합니다.

TCL 예
========================================================
foreach_in_collection design [ get_designs "*" ] {
current_design $design
set_fix_multiple_port_nets -all -buffer_constants
}
current_design TOP
set_fix_multiple_port_nets -all -buffer_constants

========================================================
출처 : http://asicfpga.com/site_upgrade/asicfpga/bbs/viewbody.php?code=qna_asic_etc&page=5&number=323&keyfield=subject&key=c


posted by stluck
2009. 6. 18. 12:59 Programming/Verilog(A)/SVerilog


\(\(input\|output\)\s*[\[\]0-9 :]*\s*\)\(a-zA-Z0-9_,]]\)*




posted by stluck
2009. 6. 17. 00:50 Programming/Verilog(A)/SVerilog
 ts_top_tx_mpw fts_top_tx_mpw(
    .clk    :    in std_logic;
    .reset    :    in std_logic;
   
    .c_reset : in std_logic;
    .c_reset_out : out std_logic;

    .da_out_i : out std_logic_vector(7 downto 0);
    .da_out_q : out std_logic_vector(7 downto 0);
    .dac_clk_i : out std_logic;
    .dac_clk_q : out std_logic;
    .wrt_out_i : out std_logic;
    .wrt_out_q : out std_logic;

위와 같은 VHDL 코드가 있을 경우,, (Port Instance를 쉽게하기위하여 .을 미리 붙여준다. 물론 Ctrl+q . [ESC] 를 이용하여,, 또는 : 앞의 포트이름만 선택해서 .을 붙여줘도 좋을듯하다.)


%s/\.\(\([a-zA-Z_0-9]\)*\)\s*:\s*\([a-zA-Z0-9_" "();]\)*/\.\1(p_\1),/g

하면,,

ts_top_tx_mpw fts_top_tx_mpw(
    .clk(clk),
    .reset(reset),
   
    .c_reset(c_reset),
    .c_reset_out(c_reset_out),

    .da_out_i(da_out_i),
    .da_out_q(da_out_q),
    .dac_clk_i(dac_clk_i),
    .dac_clk_q(dac_clk_q),
    .wrt_out_i(wrt_out_i),
    .wrt_out_q(wrt_out_q),

로 바꿔준다.  ^_^ ㅋㅋㅋ


7,39s/\.\(\([a-zA-Z_0-9]\)*\)\s*:\s*\(\([a-zA-Z0-9_" "();]\)*\)/\.\1(tx_\1),\t\t\/\/\3/g

ts_top_tx_mpw fts_top_tx_mpw(
    .clk(tx_clk),        //in std_logic;
    .reset(tx_reset),        //in std_logic;
   
    .c_reset(tx_c_reset),        //in std_logic;
    .c_reset_out(tx_c_reset_out),        //out std_logic;
---------------------------------------
    .da_out_i(tx_da_out_i),        //out std_logic_vector(7 downto 0);
    .da_out_q(tx_da_out_q),        //out std_logic_vector(7 downto 0);
    .dac_clk_i(tx_dac_clk_i),        //out std_logic;
    .dac_clk_q(tx_dac_clk_q),        //out std_logic;
    .wrt_out_i(tx_wrt_out_i),        //out std_logic;
    .wrt_out_q(tx_wrt_out_q),        //out std_logic;

posted by stluck
2009. 5. 21. 00:37 Etc.
HP Color LaseJet 4500xx 의 드럼 C4195A 페이지 카운트(잔량) 초기화 방법
(HP Color LaserJet 8500 도 적용 가능)

C4195A는 드럼의 수명을 측정하기 위하여 프린트 페이지 카운트를 사용한다.
이때 카운트는 드럼에 부착되어있는 EEPROM에 기록하게 되고 페이지 카운트가 만땅 차면 교체하라고
메시지를 보여주며 아예 프린트를 할 수 없다.

이는 대부분의 프린터 드럼에서 사용하는 방법과 같다.

HP의 경우 폐토너가 드럼에 쌓이게 되는데, 드럼에 쌓인 폐토너를 제거하고 페이지카운터를 리셋하면 새것처럼은 아니지만 새것처럼 사용할 수 있다. (아마 시중에서 판매하는 재생 드럼이 이렇게 만들어지는 듯 하다.)

1) 드럼에 쌓인 폐토너 제거
    http://www.futuregraphicsllc.com/lit/tg/hp4500_drum_unit.pdf

2) EEPROM을 새 드럼과 같도록 재 프로그래밍.
    첨부한 압축파일을 열어 회로도를 보고 제작한다. 만약 93C46(HP 드럼 EEPROM)만 사용할 것이라면 24Cxx부분은 제작 안해도 된다.

EEPROM에 쓸 binary는 다음과 같다.
둘 중 맘에 드는 것으로 골라서 쓰면 된다.

사용량 0% (남은양 100%)
0001 0ED3 042A 0200 00EF 1305 3F02 0002
1648 0002 9BDA 0000 00D1 0001 0ED3 042A
0200 00EF 1305 3F02 0002 1648 0002 9BDA
0000 00D1 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0001
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
사용량 50% (남은양 50%)
01005E073C06000257000515023F0200
48160200DA9B0000CF0001005E073C06
000257000515023F020048160200DA9B
0000CF00000000000000000000000000
00006BF90100A81500000000CB001400
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000

헥사에디터를 사용하도록 하고(웹에 프리웨어로 널렸음) 첨부파일의 프로그램을 이용하여 롬라이팅을 한다.

'Etc.' 카테고리의 다른 글

문화상품권 할인율  (0) 2022.07.14
Windows7 64bit Apple Magic Mouse Setup  (0) 2015.01.20
안중근 의사  (0) 2009.10.30
'로서', '로써'와 '든지', '던지'의 차이점  (1) 2009.05.05
posted by stluck
2009. 5. 12. 12:53 Programming/Verilog(A)/SVerilog
chi = mem[raddr][bitplane];   synthesis X

wire [bitwidth:0] chi_t;            synthesis O
assign chi_t = mem[raddr];
assign chi = chi_t[bitplane];

posted by stluck