Microsoft/Windows2008. 12. 20. 13:31
250기가 하드를 포맷할 일이 있어서 format 명령으로 낑낑대도 되지도 않기에 구글링을 해봤더니
LinkFormatter라는 물건이 나왔다. 다운 받은 곳 조차도 출처 unknown / googling 이라서 써놨으니.. ㄱ-

아무튼 I-O Data inc. 라는 회사의 유틸리티인듯 하고, 그 홈페이지에서는
USB/e-SATA 외장 하드를 제조/판매하는 곳이라는 것 외에는 별다른 다운로드 링크를 발견하지 못했다.

사용법
외장 USB 하드를 꼽고 프로그램을 실행하면 다음-다음-Accept-다음 하면 그냥 알아서 포맷한다.
[사용법 : http://www.ihuf.net/board/view.php?id=download_h300&no=60]


 
(2008년 12월 19일자 네이버 피시그린-카스퍼스키 바이러스 없음)

[I-O DATA : http://www.iodata.com/]



내침김에 왜! windowsXP 에서 FAT32를 대용량 읽을수는 있지만 포맷은 하지 못하게(최고 32GB)로 제한을 했는지
검색을 해봤더니 이거 뭥미 -ㅁ-?

Windows XP의 FAT32 파일 시스템 제한 사항

  • Windows XP 설치 과정에서 FAT32 파일 시스템을 사용하여 32GB보다 큰 볼륨을 포맷할 수 없습니다. Windows XP는 32GB보다 큰 FAT32 볼륨을 탑재하고 지원할 수 있지만(다른 제한 사항이 있음) 설치 중에 포맷 도구를 사용하여 32G보다 큰 FAT32 볼륨을 만들 수 없습니다. 32GB보다 큰 볼륨을 포맷해야 하는 경우 NTFS 파일 시스템을 사용하여 포맷합니다. 또 다른 방법은 Microsoft Windows 98 또는 Microsoft Windows Millennium Edition(Me) 시동 디스크에서 시작하고 디스크에 포함된 포맷 도구를 사용하는 것입니다.

    Microsoft Windows 98 또는 Microsoft Windows Millennium Edition(Me) 시동 디스크를 사용하여 하드 디스크를 포맷하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    255867  (http://support.microsoft.com/kb/255867/KO/ ) Fdisk 도구 및 포맷 도구를 사용하여 하드 디스크의 파티션을 나누거나 다시 나누는 방법
    참고: Windows XP 설치 과정에서 32GB보다 큰 FAT32 파티션을 포맷하려고 하면 설치 과정의 끝부분에서 포맷 작업이 실패하고 다음과 같은 내용의 오류 메시지가 나타날 수 있습니다.
    논리 디스크 관리자: 볼륨 크기가 너무 큽니다.
  • MS-DOS, Microsoft Windows 95의 원본 버전 및 Microsoft Windows NT 4.0과 이전 버전은 FAT32 파티션을 인식하지 않으므로 FAT32 볼륨에서 시작할 수 없습니다.
  • FAT32 파티션에서 (2^32)-1바이트보다 큰 파일(이 파일은 4GB보다 1바이트 작음)을 만들 수 없습니다.
  • FAT32 파일 시스템에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    310525  (http://support.microsoft.com/kb/310525/KO/ ) Windows XP에서 FAT32 파일 시스템에 대한 설명
    FAT32 볼륨에서 NTFS로 변환하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    307881  (http://support.microsoft.com/kb/307881/KO/ ) HOWTO: Windows XP에서 FAT16 또는 FAT32 볼륨을 NTFS로 변환
    [출처 : http://support.microsoft.com/kb/314463]


    Windows XP에서 FAT32 파일 시스템에 대한 설명
    Windows XP에는 FAT 파일 시스템의 업데이트된 버전이 들어 있습니다. 이 업데이트된 버전을 FAT32라고 합니다. FAT32 파일 시스템에서는 4KB의 작은 기본 클러스터 크기를 사용할 수 있고 2GB보다 큰 EIDE 하드 디스크 크기를 지원할 수 있습니다.

    다음과 같은 사항에 유의하십시오.
    • Microsoft Windows 2000, Windows Millennium Edition, Windows 98 및 Windows 95 OSR2 또한 FAT32 파일 시스템을 지원합니다.
    • Microsoft Windows NT 4.0은 FAT32 파일 시스템을 지원하지 않습니다.

      Windows NT 4.0에서 지원되는 파일 시스템에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
      100108  (http://support.microsoft.com/kb/100108/KO/ ) FAT, HPFS 및 NTFS 파일 시스템의 개요

    지원 제한 사항

    FAT32 볼륨에 설치할 수 없거나, 파일을 제대로 저장하거나 읽지 못하는 레거시(이전) 프로그램의 경우 프로그램 제조업체에 문의하십시오.

    참고: FAT32 파일 시스템이 하드 디스크를 최대 2테라바이트 크기까지 지원하지만 해당 시스템의 기본 입/출력 시스템(BIOS) INT13 인터페이스의 제한 사항으로 인해 일부 하드 디스크는 7.8GB보다 큰 부팅 가능한 파티션을 포함하지 못할 수 있습니다. 해당 시스템의 BIOS가 업데이트된 INT13 확장을 지원하는지 확인하려면 하드웨어 제조업체에 문의하십시오.

    Windows XP에서 ATAPI 디스크 드라이브에 대한 48비트 논리 블록 주소 지정 지원을 설정하는 방법

    본 문서에서는 현재의 137GB 한도보다 크게 하드 디스크 용량을 늘릴 수 있는 ATA Packet Interface(ATAPI) 디스크 드라이브에 대한 Windows XP 서비스 팩1(SP1) 48비트 논리 블록 주소 지정(LBA) 지원에 대해 설명합니다.

    참고 Windows XP SP1을 실행하지 않으면 Windows XP에서 48비트 LBA를 지원하지 않습니다. 48비트 LBA 지원을 사용하려면 Windows XP SP1 이상을 적용해야 합니다. Windows XP Media Center Edition 및 Windows XP Tablet PC Edition에는 SP1이 포함되어 있습니다.

    Windows XP의 최신 서비스 팩에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    322389  (http://support.microsoft.com/kb/322389/ ) 최신 Windows XP 서비스 팩을 구하는 방법


    Posted by 구차니
    개인의 투정거림이니 듣기 싫으신분은 뒤로가기를 눌러주세요




    나는 능력없는 3년차 임베디드 개발자이다.
    조금 더 세분화 하자면 C언어 기반에 Linux 위성 셋탑 개발 6개월과, 총 합 2년의 3년차 개발자이다.
    시간이 흐르면 뭐든지 잘 할 것만 같았지만 시간이 갈 수록 이것 저것 고려 할게 많아 지면서
    갈수록 실력은 오히려 줄어드는 것 만 같고, 오히려 예전보다 못 만들어 내는 것 같다.

    개발자에게 있어서 가장 큰 문제는 대화가 아닐까 싶긴하지만,
    막내라는 이유로 이리저리 불려 다니고, 막내라서 실력도 없고(이런 변명은 싫지만) 그런데
    내 시간까지 빼앗겨 가면서 이것저것 하고 내일도 해야 하니 결국에는 내 시간을 쪼개고 소비하면서
    회사일을 해야 한다. 아니 내가 쓸데 없이 오지랍이 넓어서 일지도 모르겠지만...

    매번 일을 하면서 느끼는 건
    "절이 싫으면 중이 떠나라. 하지만 떠날 수 없다면 인내하라." 이다.
    아직 어중간한 경력에 능력은 없고 실력도 없고 내세울 경력도 없는 나로서는
    매우 솔찍하게 말하자면 지금 이 곳에서 이런 대우를 받고 있는 것만으로도 감지덕지 해야 하지만
    사람 마음이란, 더러워서 때려치우고 조금 더 편한곳으로(지금은 솔찍히 마음이 편하면 좋겠다) 가고 싶은데
    경제 사정은 지랄 맞고 앞으로 MBLee 께서 잃어버린 10년을 위해서 1년 만에 10년을 물려 주시는 바람에
    앞으로 10년은 다시 힘들어 질 것이라, 이직을 위한 경력을 위해 일단은 눌러 앉아 있지만..
    무슨 경력이 깡패라고 에효...



    "닥치고 내말들어. 우리는 달려야 해. 바보놈이 될 수 없어."
    라는 말이 나에게는 환청으로 왱왱 거리면서 다르게 들려온다.
    넌 닥치고 내가 시키는대로만 만들면돼. 왜 쓸데 없이 다른 것들과 다르게 만들려고 고생만 하냐?
    난 그래도 너보다 오래 했고 다른 제품들도 많이 봐왔고 최소한 다른 것들과 같이 만들면 마이너스는 아니야
    그러니까 넌 내가 주문하는데로 만들기만 하면 돼.

    평소에는 자기 소신껏 행동하라면서 아이디어를 내라는 말을 하면서
    정작 요구사항을 반영해서 개발하고 몇가지 내가 만들면서 이게 더 좋겠다 생각하고 놔둔 부분이나 만든 것들은
    모두 다르니까 쓸모 없어 저것과 같이 만들면 돼. 라는 식으로 무조건 퇴짜를 놔버린다.

    때리는 시어머니 보다 말리는 시누이가 더 밉다고.
    뒤에서 침묵으로 일관하시는 소장님도 조금은 밉긴하지만,

    개발자 역시 이런 만행에 대응하기 위해서
    영업이나 사장이 뱉은 말은 항상 Change.log로 저장하고 녹음을 해놔야 한다 라는 생각마저 든다.
    아니.. Changlog.xls을 만들어서 오늘부터 작성중이다.


    가끔은 이런 생각도 든다.
    1. 그렇게 잘 알고 그러면 댁이 프로그램 배워서 만드시지?
    2. 그렇게 세부적으로 잘 알면 확실하게 문서로 러프 이미지라도 그려서
       아니 state diagram 까지는 바라지도 않으니  말로만 그렇게 하지 말고
       확실한 시나리오와 함께 문서로 주시지?


    평소에는 머 다크호스니, 너 없으면 회사가 안 돌아 간다니 말은 하면서
    과연 내가 없는 술자리에서 얼마나 나 때문에 개발이 지연되서 매출을 못 올리네 하면서
    까대고 있을지 참으로 걱정이다.


    솔찍히 나로 인해서 상당히 시간이 지연이 생기고 있는건 사실이다.
    스케쥴을 맞추지 못하는건 대한민국의 프로 개발자로서는 치명적이고 변명의 여지가 없다.


    그래도 변명을 하자면,
    커뮤니케이션 부재로 인한 실시간 요구사항 변동과
    (어떻게 된 게 볼 때마다 원하는게 달라져? 최소한 여기까지란게 있어야지 원하는대로 바꾸어 주면
    또 거기서 변동을 시켜달라고 하고 언제 끝내?)

    먼가 조금은 개선을 하려고 노력을 해서 만들면 이상한 소리로 기운 쭉 빼놓고
    (내가 말했자나. 다른 셋트들도 좀 보고 만들라고. 다른 셋트보다는 낫지 않아도 최소한 비슷하게는 만들어야지
    라고 하는 말은 실력도 없는데 멀 새로 만들어 그냥 저거 대로 만들어! 라고 밖에 안들려)

    "모 회사의 차장은 입사하고 15년이 넘었는데 12시 이전에 퇴근한게 10번도 안된대."
    "자식 없어요?"
    "있지"
    "우리도 조금은 더 그렇게 열심히 해야해"
    열심히 하는 모습. 다 좋은데 도대체 애아빠가 일에만 빠져서 12시 까지 퇴근도 안하고 맨날 회사에만 있으면
    아빠가 아니라 돈만 물어 오는 기러기. 그 이상도 이하도 아닌데 그렇게 되는게 좋아서 당신은 집에도 안가고
    맨날 늦게 까지 퇴근도 안하고 놀고 있으면서 회사에서 바둑하고 그러시나? 당신이 그렇게 앉아 있으면 나 같은
    말단은 눈치 보여서 퇴근도 못하니까 제발 일찍 좀 퇴근하고 솔찍히 애보기 싫어서 그냥 회사 있는거니까
    먼저 퇴근들 하세요 라고 하던가!


    그래도 지금의 경력과 경험을 바탕으로
    다음부터는 회사를 구할때는
    "개발과 영업이 확실하게 분리된 회사"
    "기술 출신 사장인 회사 이거나 혹은 영업 출신 사장이 아닌 회사"
    를 구해야 한다는 점을 뼈에 새기고, 그렇게 실천을 해야 겠다.


    어디서 주워들어서 그걸 써보지도 않고 '~가 있다고 하더라' 라고 이야기 하는 사람이 가장 위험한 사람이다.
    Posted by 구차니
    Linux2008. 12. 19. 20:05
    man find

           -type c
                  File is of type c:

                  b      block (buffered) special

                  c      character (unbuffered) special

                  d      directory

                  p      named pipe (FIFO)

                  f      regular file

                  l      symbolic link; this is never true if the -L option or the -follow option is in effect,
                         unless  the symbolic link is broken.  If you want to search for symbolic links when -L
                         is in effect, use -xtype.

                  s      socket

                  D      door (Solaris)


    'ls -l'을  실행하면
    $ ll
    total 1922
    drwxr-xr-x   2 root root    4096 Nov 15 04:17 bin
    drwxr-xr-x   4 root root    1024 Apr 11  2008 boot
    drwxr-xr-x  12 root root    3900 Nov 14 13:07 dev
    drwxr-xr-x 101 root root   12288 Dec 15 04:15 etc
    drwxr-xr-x  10 root root    4096 Aug 19 13:59 home
    drwxr-xr-x  14 root root    4096 Apr 11  2008 lib
    drwx------   2 root root   16384 Apr 10  2008 lost+found
    drwxr-xr-x   2 root root    4096 Nov 14 13:07 media
    drwxr-xr-x   2 root root       0 Nov 14 13:07 misc
    drwxr-xr-x   2 root root       0 Nov 14 13:07 mnt
    drwxr-xr-x   2 root root       0 Nov 14 13:07 net
    drwxr-xr-x   2 root root    4096 Jun 19  2008 nfsroot
    drwxr-xr-x   3 root root    4096 May 29  2008 opt
    dr-xr-xr-x 195 root root       0 Nov 14 13:06 proc
    drwxr-x---  29 root root    4096 Dec 17 11:00 root
    drwxr-xr-x   2 root root   12288 Apr 11  2008 sbin
    drwxr-xr-x   2 root root    4096 Apr 10  2008 selinux
    drwxr-xr-x   2 root root    4096 Oct 11  2006 srv
    drwxr-xr-x  12 root root       0 Nov 14 13:06 sys
    drwxr-xr-x   2 root root    4096 Dec 17 13:30 tftpboot
    drwxrwxrwt  16 root dev    90112 Dec 19 20:01 tmp
    drwxr-xr-x  15 root root    4096 May 30  2008 usr
    drwxr-xr-x  24 root root    4096 Apr 10  2008 var

    이런식으로 퍼미션과 파일의 종류가 출력이 된다.
    아무튼 일반적으로 보이는 녀석들은

    - 일반 파일
    b Block device
    c Character device
    d Directory
    l symbolic Link

    인데 드물게 보이는 녀석들이 존재 한다.
    prw------- 1 morpheuz dev        0 Jul 15 13:21 initctl
    crw-rw---- 1 morpheuz dev  61,   0 May 30  2008 lirc
    srwxr-xr-x 1 morpheuz dev        0 Oct 20 19:57 lircd
    brw-rw---- 1 morpheuz dev   7,   0 May 30  2008 loop0

    이 녀석들의 의미는 역설적이게도.. find에서 찾아 냈다.

    p name Pipe
    s Socket


    Posted by 구차니
    분류가 모호한 글2008. 12. 19. 09:56
    무선설비기사 자격증 공부 하는데 머이리 잡다하게 많이 알아야 볼 수 있는지 ㄱ-

    아무튼 불 대수는 우리가 사용하는 10진수에서 적용되는 대수와는 조금 다르다



    연산자

    AND / OR / XOR / NOT / NAND / NOR / NXOR 이 있으며 아래와 같은 진리표를 가진다.

    AND

    A

    B

    O

    0

    0

    0

    0

    1

    0

    1

    0

    0

    1

    1

    1

    OR

    A

    B

    O

    0

    0

    0

    0

    1

    1

    1

    0

    1

    1

    1

    1

    XOR

    A

    B

    O

    0

    0

    0

    0

    1

    1

    1

    0

    1

    1

    1

    0

    NOT

    A

    O

    0

    1

    1

    0

    NAND

    A

    B

    O

    0

    0

    1

    0

    1

    1

    1

    0

    1

    1

    1

    0

    NOR

    A

    B

    O

    0

    0

    1

    0

    1

    0

    1

    0

    0

    1

    1

    0

    NXOR

    A

    B

    O

    0

    0

    1

    0

    1

    0

    1

    0

    0

    1

    1

    1

    표 모양은.. 티스토리에게 항의를 하도록.. OTL


    표기법
    A AND B = AB = A·B
    A OR B = A + B
    NOT A = A' = Ā

    공리
    A+0=A
    A+1=1
    A·0=0
    A·1=A
    A+A'=1
    A·A'=0
     A+AB=A
    ->  A(1+B)
    ->  A(1)
    ->  A

     X+X'Y=X+Y
    ->  X'(X'Y)'             <- 드 모르간 법칙 X'Y를 묶어서 적용
    ->  X'(X+Y')
    ->  X'X+X'Y'
    ->  0+X'Y'               <- 드 모르간 법칙 적용
    ->  X'Y'                  <- 드 모르간 법칙 적용
    ->  X+Y


    교환법칙
    A+B=B+A
    AB=BA

    분배법칙
    A(B+C)=AB+AC

    드 모르간 법칙
    A+B = (AB)'
    (AB) = (A+B)'

    연산자 우선 순위
    () > NOT > AND > OR


    '분류가 모호한 글' 카테고리의 다른 글

    확장자 sgm  (2) 2009.04.03
    mp3 ID3 tag  (0) 2009.04.02
    MD(Mini Disc) / UMD(Univeral Media Disc)  (0) 2009.03.03
    이미지 포맷별 차이점  (8) 2009.02.24
    gray code  (0) 2008.12.22
    Posted by 구차니
    Microsoft/Windows2008. 12. 18. 14:04
    회사에 새로 오신분이 계셔서 TG 에버라텍 4600 을 샀는데...

    오피스 깔고 패치 하고 나서 프린터 잡을려고 SAMBA 서버에 접속해서 파일을 복사 하는데

    갑자기 블루 스크린...


    이거 뭥미 -ㅁ-!?






    오늘 다시 출근 하셔서 하시는 말씀이

    "애들이 어제 쥬니버에서 게임하고 그랬는데 갑자기 블루 스크린이 떳다"



    그래서 에버라텍과 비스타 블루 스크린을 검색하니 의외로 도움 되는 내용은 없었다.

    아무튼 dump 파일을 보니 두개(덧. c:\windows\minidump 가 crash dump 파일 기본 위치임)

    하나는 어제 발생한 것이라서 파일 명이 Mini121708-01.dmp인데 Mini112808-01.dmp는 뭐지 -ㅁ-?
    최초 설치 하고도 삼보에서 한번 죽었는데 그걸 그냥 판건가? -ㅁ-!


    아무튼 덤프 파일은 WinDbg 를 이용하여 분석하면 된다고 해서 MS 사이트에서 받아서 돌렸는데
    결과는

    Mini112808-01.dmp
    Probably caused by : dxgkrnl.sys ( dxgkrnl+3d8b )

    Mini121708-01.dmp
    Probably caused by : NETIO.SYS ( NETIO+835b )


    아마도 2008년 11월 28일은 삼보에서 제조 하면서 설치 중에 발생한 듯 하고,
    이름만 봐서는 directX 관련 오류 인데..

    2008년 12월 17일 오류는 조금 검색을 더 해보니
    NETIO.SYS 관련 hotfix가 있다고 한다. [hotfix download]
    [출처 : http://forum.soft32.com/windows/Netio-SYS-Errors-ftopict341619.html]


    결론은.. 뽑기 운이 안 좋은 것 일려나..




    Posted by 구차니
    Programming/C Win32 MFC2008. 12. 18. 13:41
    아래는 frhed 프로그램의 레지스트리 등록 부분의 소스이다.

        case IDM_CONTEXT:
            if (MF_CHECKED == GetMenuState(hMenu, IDM_CONTEXT, 0))
            {
               //WinNT requires the key to have no subkeys
                RegDeleteKey(HKEY_CLASSES_ROOT, "*\\shell\\Open in frhed\\command");
                RegDeleteKey(HKEY_CLASSES_ROOT, "*\\shell\\Open in frhed");
            }
            else
            {
                HKEY key1;
                LONG res = RegCreateKey(HKEY_CLASSES_ROOT,
                    "*\\shell\\Open in frhed\\command",
                    &key1);
                if (res == ERROR_SUCCESS)
                {
                    char cmd[MAX_PATH];
                    int len = sprintf(cmd, "%s %%1", _pgmptr);
                    RegSetValue(key1, NULL, REG_SZ, cmd, len);
                }
            }
            break;
        case IDM_UNKNOWN:
            if (MF_CHECKED == GetMenuState(hMenu, IDM_UNKNOWN, 0))
            {
                HKEY hk;
                //WinNT requires the key to have no subkeys
                RegDeleteKey(HKEY_CLASSES_ROOT, "Unknown\\shell\\Open in frhed\\command");
                RegDeleteKey(HKEY_CLASSES_ROOT, "Unknown\\shell\\Open in frhed");
                if (ERROR_SUCCESS == RegOpenKey(HKEY_CLASSES_ROOT, "Unknown\\shell", &hk))
                {
                    RegDeleteValue(hk, NULL);
                    RegCloseKey(hk);
                }
            }
            else
            {
                HKEY key1;
                LONG res = RegCreateKey(HKEY_CLASSES_ROOT,
                    "Unknown\\shell\\Open in frhed\\command",
                    &key1);
                if (res == ERROR_SUCCESS)
                {
                    char cmd[MAX_PATH];
                    int len = sprintf(cmd, "%s %%1", _pgmptr);
                    RegSetValue(key1, NULL, REG_SZ, cmd, len);
                }
            }
            break;
        case IDM_DEFAULT:
            if (MF_CHECKED == GetMenuState(hMenu, IDM_DEFAULT, 0))
            {
                HKEY hk;
                if (ERROR_SUCCESS == RegOpenKey(HKEY_CLASSES_ROOT, "Unknown\\shell", &hk))
                {
                    RegDeleteValue(hk, NULL);
                    RegCloseKey(hk);
                }
            }
            else
            {
                RegSetValue(HKEY_CLASSES_ROOT, "Unknown\\shell", REG_SZ, "Open in frhed", 13);
            }
            break;


    notepad2의 아쉬운점이 컨텍스트 메뉴를 지원하지 않는 다는 점이었는데, 이 부분을 응용하여 적용하면
    notepad2의 효용이 200배는 증가 할 듯 하다.
    Posted by 구차니
    Linux2008. 12. 18. 11:24
    CALL source or . (dot operator) "include" another script

    [출처 : http://tldp.org/LDP/abs/html/dosbatch.html]



    In the last syntax ./ means current directory, But only . (dot) means execute given command file in current shell without starting the new copy of shell, The syntax for . (dot) command is as follows
    Syntax:
    . command-name
    [출처 : http://www.freeos.com/guides/lsst/ch02sec01.html]




    간단하게 환경변수를 쓰기 위해 만든 스크립트를 단순하게
    실행하면, 별도의 쉘이 생성이 되어 실행되므로 현재 쉘에 적용이 되지 않는다.

    그런 이유로 일반적으로 환경 변수로 사용하기 위한 스크립트를 실행 할때는 반드시
    source [script.file] 로 실행을 한다.

    source [script.file]와 동일하게
    . [script.file] 을 실행해도 된다.
    Posted by 구차니
    embeded/80512008. 12. 18. 00:04
    TIMER/COUNTER는 숫자가 클럭 마다 1씩 증가 한다.
    8051의 경우에는 입력 클럭을 1/12 로 분기 해서 사용하므로
    11.0592Mhz로 할 경우에 1초당 921,600 연산이 가능하다.
    (반대로 이야기 하자면 921,600 카운트가 진행되면 1초라는 의미이지만,
    16bit 카운터로는 65536이 한계이므로 0.07초 70ms가 측정 가능한 최고 시간이다)

    일단 타이머와 카운터는 인터럽트나 이런것의 영향 없이 독립적으로 증가 하므로,
    정확하게 시간을 측정할 수 있는데

    내가 원하는 시간을 재기 위해서 어떻게 카운터를 설정하냐는 것이 문제였다.
    (물론 알고 나니 그럴 고민 조차 의미가 없었지만 ㄱ-)

    prescaler를 설정해서 1clock에 증가하는 숫자가 1이 아니어서 원하는 횟수를 돌고(원하는 시간후에)
    timer/counter overflow interrupt를 발생시키는 것으로 알고 있었는데..

    8051에는 일단 timer/counter에 대한 prescaler가 존재 하지 않는다.
    (prescaler를 잘못 이해 한것인지는 모르겠지만..)

    즉, 원하는 시간을 클럭으로 계산후에
    Timer/counter의 초기 값을 설정해주고, 그 값이 overflow 되기를 기다리면 되는 것 이었다.

    예를 들어 1ms 를 원한다면
    1초 = 1000ms 이므로
    대략 921.6 clock 후에는 overflow가 되도록 설정을 해야 하고
    256을 넘어 서므로 16bit 카운터로 설정하여
    16bit 카운터의 최대 값에서 원하는 시간을 뺀
    "65536 - 921 = 64615 = 0xFC67" 을 타이머에 설정을 해주면
    원하는 시간인 1ms 후에 overflow가 발생하게 된다.

    그리고 overflow 이후에는 0으로 리셋되므로
    overflow ISR(Interrupt Service Routine)에는 매번 타이머/카운터를  설정을 해주어야
    주기적으로 시간을 측정할 수 있게 된다.

    'embeded > 8051' 카테고리의 다른 글

    keil compiler - memory type (code,xdata,idata)  (0) 2009.04.14
    Keil compiler - Error : Segment too large  (0) 2009.04.13
    Keil evaluation Limitation  (0) 2008.12.07
    KEIL Cx51 - Warning L5: CODE SPACE MEMORY OVERLAP  (0) 2008.12.01
    8051에 관하여  (0) 2008.11.28
    Posted by 구차니
    개소리 왈왈2008. 12. 17. 16:28
    지인들이 어떻게 그걸 까냐고 하는 법을 모르겠다고 할 때 마다 해주는 말이 있다.


    "아니 왜 그걸 못깔아? 잘 봐"

    "다음"

    "다음"

    "확인"

    "OK"

    "설치"


    오케바리?


    참~ 쉽죠?








    Posted by 구차니
    프로그램 사용/GIMP2008. 12. 16. 17:55
    GIMP를 쓰면서 불편했던 점은, 매번 곤혹을 치루게 했던 Smooth edge / Hard edge 옵션을
    매번 클릭해서 바꾸어서 써야 한다는 점이다.

    그런데 생각해보니까.. GIMP 환경 설정은 들어 가본적도 없었다 -ㅁ-!

    부랴부랴 찾아 보니 설정 저장에 대한 항목은 있지만
    기본 값은 '자동저장 하지 않음'

    그런 이유로 매번 설정을 해주는 문제가 발생했던 것이다!


    step 1. 편집 - 기본 설정을 살포시 누질러 준다.



    step 2. 도구 옵션 항목에 "마칠 때 도구 옵션 저장" 을 확인해주고 겸사겸사
              "도구 옵션 저장" 버튼을 눌러 내친김에 저장하자!


    Posted by 구차니