embeded/AVR (ATmega,ATtiny)2008. 11. 10. 00:21
요즘에는 대부분의 메인보드에 USB만 있을뿐 LPT(패러럴)나 COM(시리얼)이 없는 경우도 상당히 많다.
하지만 AVR을 프로그래밍 하려면 롬 라이터가 있어야 하는데,
이 장비의 경우 고가인데다가, 칩의 핀수에 맞는 커넥터를 구매 하여야 한다.

그런 이유로 현실적인 대안은 USB 시리얼/패러럴이나
시리얼 / 패러럴이 달린 구형 메인보드, 혹은 최상급의 메인보드를 구매 해야 한다.

그렇다고 하기에는 이래저래 돈이 많이 드는 관계로 조금이라도 덜 들고 편한쪽을 택하라면
USB ISP를 구매 하는게 좋을듯 하다.

유니텍의 경우 패러럴 포트를 내부에 26핀으로 별도로 꺼내서 유니텍에서 별도 판매 하는
패러럴 포트를 구매 하면 되지만, 이래저래 가격 부담도 크고, 유니텍스럽게 택배비는 착불이라서 기분도 나쁘고
그냥 USB ISP를 사는게 가장 효율적인 방안으로 생각이 된다.


---
나머지는 구매 후 적도록 ^^;
STK-500 이라는 것과 호환이 되고, USB-ISP 역시 일종의 USB 시리얼로 COM포트로 인식하고
(보드는 USB 시리얼 + STK500 제어용 칩으로 구성) 시리얼로 프로그램을 전송한다.
데이터 시트 상으로는 시리얼 프로그래밍에 관한 항목이 있으므로 이부분을 좀더 읽어 봐야 할 듯 하다.
Posted by 구차니
개소리 왈왈2008. 11. 9. 23:20
내가 컴퓨터라면
아주 드물게 발생하는 Kernel Panic이 이런 느낌일까? 라는 생각을 해본다.
그냥 머리가 백지가 되는 느낌.
아무런 것도 하고 싶지 않고
아무런 것도 손에 잡히지 않는 그런 상태.

커널 패닉은 완전 죽어 버리니까 다른 문제일지도 모르지만,
인간이란게 컴퓨터보다는 100만배 똑똑해서 해결 못하고 죽지 않을뿐
비슷한건 아닐까 생각이 든다.

지금 11:20분 자전거를 타고 머리를 식히는게 나을까 머가 나을까 후우..
Posted by 구차니
embeded/AVR (ATmega,ATtiny)2008. 11. 7. 23:05
결론 : 실패
원인 : 아직 모름..

일단 Ponyprog에서 포트 자동 탐지를 끄라고 한다.
  • PonyProg2000 (Freeware programmer esp. for PIC, ATmega, serial EEPROMs)
    • The INI file must be modified to get PonyProg to work: change „AutoDetectPorts=NO“!

[출처 : http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/liste.htm.en]

일단 ponyprog.ini의 내용은 아래와 같다.



그리고 나서 해보니 먼가 되는듯한데.. 여전히 -16오류, 장치를 발견하지 못한다고 한다.
그래서 계속 검색을 해보니.. 그런 이유로 USB ISP가 나온거라는 식으로 되어 있어서 좌절 OTL

USB LPT / 도킹 전부 임베디드 장비에서 패러럴이 아닌 프린트 포트로 인식을 해서 안된대나..
일부 외국산 장비중에는 인식하는것도 있지만 강원전자꺼는 드라이버 문제인지 안된다고 한다.

[링크 : http://kldp.org/node/46808]
Posted by 구차니
Linux/Fedora Core2008. 11. 7. 12:15
생각을 해보니.. 회사 서버랑은 Fedora Core 8 이었는데..
일단 조금은더 Ubuntu 스러워졌다.(욕아님)

일단 보안 강화를 위해서 Gnome 자체에서 권한을 상당히 자주 물어 보게 되고,
X-windows 로그인시 Root로 로그인을 할 수 없다.(LiveCD에서 이미 겪었었지만..
실제 Live가 아닌 것에도 적용이 될줄이야 ㄱ-)

결정적으로 SCIM이 없다(다국어 입력기). 한글로 설정하면 한글은 잘나오는데 입력할 방법이 없다 ㄱ-

검색을 해보니 SCIM으로는 linux 네이트온 한글 입력이 안된다고 하는데
nabi 라는 녀석을 추천해 주던데 이녀석은 libhangul.so 종속성 땜시 이것저것 요청해서 귀차니즘.



결론 : 리눅스는 역시.. gcc 없으면 단팥없는 호빵.. 프로그램 설치를 위해서라도 반드시 gcc가 필요 하다
결론2 : 그러니까 오늘 다시 포맷 OTL 덤으로 윈도우로 파티션 조정? ㅠ.ㅠ
Posted by 구차니
명박이가 오바마 보고 감명 받아서











"영어를 오바마 처럼 잘해야 대통령을 하니 영어 교육을 더욱 강화하시오!"
라고 하지 않을까?
Posted by 구차니
Linux2008. 11. 4. 14:43
졸지에 낙시글이 되것 같아. 디렉토리 이름 변경하는 방법 급조 -ㅁ-
리눅스에서는 엄밀하게 디렉토리 이름 바꾸는 방법은 존재하지 않습니다.
리눅스의 모든 것들은 파일로 관리 되기 때문이죠.

그런 이유로 리눅스에서 디렉토리 이름을 변경하려면 mv
다른 이름으로 디렉토리를 옮기면 됩니다.

예) test_1 디렉토리를 test_opps로 바꾸기
$ mv test_1 test_oops

---------------------------------------------
오늘 작업을 하다가 신기한 현상을 발견했다.

리눅스에서 컴파일 하고, 윈도우에서 samba와 cvs로 관리하는 시스템인데,
리눅스 에서 열어 놓은 디렉토리를 윈도우에서 다른 이름으로 변경하고
리눅스에서 열린 디렉토리의 이름으로 cvs checkout을 했다.(그러니까 백업본을 가져왔다)

그리고 나서 소스를 변경하고 다시 컴파일 하는데, 변경사항이 없음?!?!?!
먼가 이상해서 경로를 빠져 나왔다가 다시 들어 가니 그 제서야 제대로 컴파일이 된다.

결론만 말하자면, linux에서 directory는 이름으로 확인하는것이 아니라 inode로 확인하므로,
다른 곳에서 디렉토리를 수정했을 경우, 반드시 cd 명령어로 다시 경로를 이동해서 사용하자!!


삭제 테스트
step 1. 임의의 디렉토리를 만든다. (귀찮으니 tt라고 하자)
           [user@hostname ~] $ mkdir tt

step 2. 임의의 디렉토리로 들어간다.
           [user@hostname ~] $ cd tt

step 3. 임의의 디렉토리의 inode를 확인해본다.
           [user@hostname tt] $ ls -ali
           11044597 drwxrwxr-x 2 user hostname 4096 Nov  4 14:38 .
            3866626 drwxrwxrwx 9 user hostname 4096 Nov  4 14:38 ..

step 4. 임의의 디렉토리를 다른 콘솔이나 윈도우의 다른 창에서 삭제한다.

step 5. 다시 inode를 출력해본다.
           [user@hostname tt] $ ls -ali
           total 0

step 6. 현재 경로를 알아본다.
           [user@hostname tt] $ pwd
           /home/user/tt

'Linux' 카테고리의 다른 글

파일 존재 유무 확인하기(how to check existence of file on C,linux)  (2) 2008.12.16
execl() - excute a file  (0) 2008.12.08
fork : Not Enough Memory  (2) 2008.12.08
mkfs - ext2 & ext3  (4) 2008.11.21
SRM - Secure RM  (0) 2008.11.10
Posted by 구차니

Title : Your Keys for Recovery
From : Georgia Hinkle <ppyqcpbeuesw@boatlettering.com>

Hello
Jaewon

We are sending you the keys for your account recovery. Please, save them and keep  in a reliable place.

Thanks for using our service.
Georgia Hinkle


라는 메일에 New_keys.zip 이라는 파일이 있었고,
압축을 풀면 DOC 문서가 하나 나온다.

먼지 모르고 생각도 안하고 실행했더니.. 리부팅 시에

Filter Dump Utility 오류가 나면서 탐색기가 실행이 안된다.
다르게 말하자면.. 윈도우가 구동을 못하고 내 컴퓨터 관련된 모든 작동을 하지는 않는다.
물론 강제로 작업관리자에서 실행은 가능하지만, 실제로 제어판도 들어갈 방법이 막막하고 하다 보니 포맷을 했다.


그런데.... USB로 작업하고
내 노트북에 꼽고 작업을 해주신 누님덕에.... OTL
노트북도 날아 갔다. ㄱ-

라는 바이러스 인 듯 한데.. 상당히 강력하다.
[출처 : http://appriver.blogspot.com/]

FiltDump.Exe (Filter dump utility) is an executable from the software Microsoft� Windows� Operating System version 5.2.0 by Microsoft Corporation. FiltDump.Exe version 5.2.0 is most commonly found under the directory "Bin" with a creation date of December 13, 2004. This is not a known spyware, adware, or trojan executable. Microsoft Windows is the most widely used PC operating system.
[출처 : http://processlist.com/info/filtdump.html]

머 .. 검색을 해도 쓸만한 정보는 나오지가 않고..
아무튼 기획자의 놀라운 파괴력에 애도의 표시를.. OTL

결론 : 괜히 이상한 메일은 열어도 실행도 하지 말자!!!!
사족 : 웬만한건 다 백업했는데 포맷하고 보니.. 아차! incoming!!!! OTL
Posted by 구차니
개소리 왈왈2008. 10. 30. 15:58
구차니 : 건드리면 터져 건드리지마
웬수놈 : 톡톡


Posted by 구차니
제가 하는 일은 위성셋탑 개발입니다. 아직 연차와 능력이 안되서 UI 개발을 하고 있지만, 취미로는 AVR을 하고 있습니다.
머 같은 프로그래밍이니 차이가 없을꺼 같긴하지만, 조금더 H/W에 가까운 AVR이 마음에 들긴 합니다.

아무튼 오늘 위성셋탑 카페에서 운영자님의 고뇌에 찬 쪽지와 메일이 날아 왔습니다.
어떻게 하면 카페를 활성화 시킬수 있겠느냐. 나 혼자 운영해 나가기 너무 힘들다 라는게 주요 내용인데
위성셋탑뿐만 아니라 국내 IT 업계 특성/혹은 SDK도 License 맺어서 하는 한계상
자신의 노하우나 질문도 마음대로 하지 못한다는 사실에 이래저래 좌절을 느끼고
실질적으로 쓸만한 결론을 내리지 못한채 하루가 지나가고 있습니다.

일부 회원은 자기 밥줄이니까 자신의 결정이니 공개하려면 해라, 안할꺼면 하지 말고 라는 식으로 적었는데
전직을 하신 분이라(원래 마케팅쪽이였다가 개발로 오셨다고 하셨는데 영업맨 말투라서 조금 짜증은 납니다)
말로는 참 쉽게 하시지만, 우리나라 개발자의 족쇄를 너무 모르시는거 같아서 답답합니다.

내가 개발한 프로그램. 모듈들은 전부 내것이 아닌 회사의 소유물이고,
내가 공개적으로 알릴수가 없습니다. 이러한 회사의 배타성이 이러한 정보의 공유를 막고 있는게 아닐까 생각이 됩니다만
위에서 말했듯이 노하우 = 기술 = 돈 이라는 공식이 있기 때문에 지금까지 이 관행이 이어져 오고 있는게 아닐까 생각이 됩니다.

그래도 opensource의 사례를 보면, 폐쇄적인 windows 보다 linux의 발전이 빠르고, 단기간에 안정화 될 수 있다는 장점이 있듯,
IT개발자들도 폐쇄성에서 조금은 벗어 낫으면 하는 바램이 있습니다.



그러기 위해서는 역으로, 회사에서 쓸만한 모듈, 기술들을 미리 공개적으로 개발하고 그것을 회사의 프로그램에 적용하는 방식이
현재로서는 그나마 현실적인 대안이 될 듯 합니다. 회사의 것을 만들기 위해 만들어진 기술은 회사에 종족이 된다면, 범용적으로
미리 만들어 놓은 기술은 그렇게 종속시킬수 없을테니 말이죠.

아무튼 하나하나 만들어서 미리미리 올려 놓고 회사에 것에 적용하도록 열심히 머리를 굴려 봐야겠습니다.
Posted by 구차니
Programming/C Win32 MFC2008. 10. 29. 15:24
굳이 c언어에서 파일의 길이를 알아내려면

  fseek(file,0,SEEK_END);
  len = ftell(file);
  rewind(file);

명령어의 조합으로 알아 낼수 있지만.. 느린거 같기도 하고. 그래서 다른 방법을 찾아 보았더니
linux에서는 stat 라는 함수가 있는데, 이것을 이용하면 파일의 상태를 얻어 올 수 있다.

char filename[];
struct stat statinfo;
stat(filename, &statinfo);
len = statinfo.st_size;

그리고 fstat로도 해봤는데
fp = fopen();
fstat(fp,&statinfo);
으로는 안되었다. 아무래도 타입이 다르거나 아니면 FILE 구조체의 다른 변수를 사용해야 할듯 하다.
이미 열어 놓은 파일이라면 fstat로 하는게 훨씬 빠르게 작동이 가능할 듯 하다.


#include <
sys/stat.h>

int stat(const char *path, struct stat *buf);
int fstat(int filedes, struct stat *buf);
int lstat(const char *path, struct stat *buf);

struct stat {
    dev_t     st_dev;     /* ID of device containing file */
    ino_t     st_ino;     /* inode number */
    mode_t    st_mode;    /* protection */
    nlink_t   st_nlink;   /* number of hard links */
    uid_t     st_uid;     /* user ID of owner */
    gid_t     st_gid;     /* group ID of owner */
    dev_t     st_rdev;    /* device ID (if special file) */
    off_t     st_size;    /* total size, in bytes */
    blksize_t st_blksize; /* blocksize for filesystem I/O */
    blkcnt_t  st_blocks;  /* number of blocks allocated */
    time_t    st_atime;   /* time of last access */
    time_t    st_mtime;   /* time of last modification */
    time_t    st_ctime;   /* time of last status change */
};

[출처 : http://linux.die.net/man/2/stat]

 

Posted by 구차니