※ 이 방법은 윈도우에서 프린터가 Samsung ML-1610 Series 라고 드라이버가 잡힐 경우 사용할 수 있습니다. 사무실에 윈도우에 물려 공유중인 삼성 ML-1620 프린터가 있고, 내 맥북 프로에서는 이 프린터를 공유할 수 있는 방법을 계속 실패한 끝에 성공한 성공기이다. 맥용 드라이버는 한국 삼성전자에서 전혀 받을 방법이 없는 듯 하고, (자칭 세계 일류기업 답게도 다른 국가 홈페이지에는 드라이버를 올리면서 국내에서는 올리지 않는 센스를 보여주고 있다.) 구글링을 통해 드라이버를 찾았다.



사용자 삽입 이미지
먼저 환경설정의 프린터&팩스 설정으로 들어간다.  그리고 "+" 버튼을 클릭하여 프린터 브라우저를 열어 프린터를 추가한다.


사용자 삽입 이미지
프린터 브라우저에서는 전혀 손 댈것이 없고 단지 하단의 "다른 프린터" 를 "alt(option)" 키를 누른 채 클릭하기만 하면 된다.
alt 키를 누르지 않을 경우 고급 메뉴가 나타나지 않는다고 한다.


사용자 삽입 이미지
장비에서는 "SAMBA를 통한 Windows 프린터" 를 선택하고, 장비이름은 원하는 이름을 사용하도록 한다.


사용자 삽입 이미지
이제 장비 URL 에서는 "smb://윈도우 계정명@프린터가 공유된 Windows PC IP 주소/프린터 공유이름(공유이름을 바꾸지 않았을 경우 일반적으로 삼성 프린터는 SamsungM 이 공유 이름이다.)" 를 입력하고 프린터 모델에서 ML-1610 를 선택하고 추가를 하면 화면에 추가된 프린터나 나타나게 된다.


※※ 알림 ※※
- 원래 프린터 모델에는 삼성 드라이버가 전혀 존재하지 않으며, 위에 나온 수많은 삼성 프린터 드라이버는 그 동안 프린터를 사용하기 위해 삽질하면서 깔은 드라이버들입니다.  삼성 드라이버는 다운로드 후 설치하여야 나타납니다.

- 프린터 모델을 일반(PostScript)로 할 경우 프린터가 예열만 하고 인쇄하지 않게됩니다.  프린터가 동작한다고 착각하여 저처럼 몇 일을 삽질하시는 분이 없으시길 바랍니다.

- 윈도우 계정명과 패스워드에 한글 또는 특수문자가 있을 경우 로그인 실패라고 메세지가 나타나거나 프린트가 진행하는 척(진행률이 뜬 채로 오랫동안 멈춰져 있는 상태) 합니다.  실제로 정상적으로 진행될 경우 예열을 포함하여 1 분 이내에 프린트를 시작 합니다. (예열이 되어있을 경우엔 몇초 내에 출력하기 시작합니다.)
이올린에 북마크하기(0) 이올린에 추천하기(0)
2007/08/17 04:19 2007/08/17 04:19
Posted by TylorSTYLE™
일단 이것은 정식 방법인지는 모른다.
꽁수일 수도 있고, 뭐... 일단 잘 되니 OK ! !

보통 SmartOption 은 MDS 장비와 타겟 보드를 이용하여 개발할 때에는 사용하지 않는다.
타겟에 딥 스위치나 점퍼로 SmartOption 을 설정하게 되어있거나, 설정이 필요없는 MCU 도 있기 때문에 SmartOption 을 롬의 지정된 영역에 넣을 필요가 없다.

하지만 양산시에는 예기가 달라진다.
양산시에는 SmartOption 을 조정하는 스위치 같은 것들은 넣을 수 없다. ( 딥 스위치나 점퍼를 이용한 세팅은 개발 편의를 위해 타겟만의 특수 기능이라고 보면 된다.)

양산시 사용할 인텔 표준 헥사 규격(Intel-Standard HEX Format) 으로 헥사 파일을 생성해 대량 롬 라이터(갱 라이터를 말한다)를 이용해 MCU 의 롬을 구울경우, 즉 대량생산시에는 헥사파일로 컴파일 결과물을 만들어야 하기 때문에 사용한다.

Intel-Standard Hex 규격에 대한 자료 ( 열기 )


먼저 사용할 삼성 MCU 에 데이터 쉬트를 보자!
데이터 쉬트는 삼성 반도체나 AllDataSheet 를 이용하면 된다.

S3F9488 의 경우 2-3 페이지에 스마트 옵션과 관련된 내용이 있다.

이제 상세 설명으로....
스마트 옵션 코드는 롬 코드에 존재해야되는데, 데이터 쉬트상에 보면 롬의 0x003C 번지부터 순서대로 4 개의 영역(4 Byte)에 이 코드를 넣으라고, 한다.
설정에 대한 내용은 데이터 쉬트를 참고하도록 하고...

이제 IAR 에서 간단하게 3 줄만 넣자.

/*코드 상단에*/   __code const unsigned char SmartOption[4] @ 0x003C = { 0x00, 0x00, 0xD8, 0x04 }   unsigned char SOTemp;........./*리셋 함수내에 위치*/   SOTemp = SmartOption[0];

__code 는 컴파일러 지시자로서 컴파일러에게 해당 변수 내용을 롬 코드로 만들라는 명령이다.
후반부에 @ 0x003C 는 주소를 표현하며 이 부분이 없을 경우 컴파일러 마음대로 위치시키게 된다.
이 함수는 램에 존재하지 않고 직접 롬에서 데이터를 읽기 때문에 램을 절약할 수 있다.
특히 __code 는 절대 변해선 안되는 코드일 경우에 좋다.

하단에 변수 선언과 선언한 변수에 데이터를 넣는 작업은 컴파일러 때문에 하는 작업이다.

컴파일러마다 특성이 다르기 때문에 약간씩은 다르지만 기본적으로 사용되지 않는 함수, 변수, 상수 등은 컴파일시 자동으로 제외된다. (물론 제외 안하는 것들도 있을 수 있으며, IAR 의 경우 사용 안하는 것들은 컴파일 하지 않는다.)
그렇기 때문에 강제로 딱 한번, MCU 가 리셋되었을 때(전원인가시, 리셋이 걸렸을 때) 리셋 부분에서 대충 데이터를 넣도록 하는것일 뿐, 큰 의미가 없다.

일단 이 방법의 강점은 걍 코딩하면서 쓴다는 것과, 급하게 스마트 옵션 변경시 HEX 파일에서 해당 부분을 수정하면 된다는 것이다. (물론 위에 걸어놓은 인텔 표준 헥사 규격을 알고 있어야 된다.)
이올린에 북마크하기(0) 이올린에 추천하기(0)
2006/11/01 02:14 2006/11/01 02:14
Posted by TylorSTYLE™

사용법 : PUSU <소스>

<소스>의 값을 스텍 포인터가 가르키는 곳에 넣는다.
단, <소스>의 하위 레지스터 값은 현재 가르키는 곳 + 1 에 넣고, <소스>의 상위 레지스터 값은 현재 가르키는 곳에 넣는다.
즉, PUSH 는 1 Byte (8 Bit)의 데이터를 처리한다.
그리고 이 명령은 스텍을 제어하는 명령이다. ( 스텍의 데이터 인·아웃 구조를 알아야 이해 가능 )

이올린에 북마크하기
2006/08/21 11:11 2006/08/21 11:11
Posted by TylorSTYLE™

사용법 : POP <목적지>

스텍 포인터가 가르키는 값을 <목적지> 에 넣는다.
단, 가르키던 곳의 데이터는 하위 레지스터에 넣고, 가르키던 곳 + 1 의 데이터는 상위 레지스터에 넣는다.
즉, POP 는 1 Byte (8 Bit)의 데이터를 처리한다.
그리고 이 명령은 스텍을 제어하는 명령이다. ( 스텍의 데이터 인·아웃 구조를 알아야 이해 가능 )

이올린에 북마크하기
2006/08/21 11:07 2006/08/21 11:07
Posted by TylorSTYLE™

사용법 : XCH <목적지>, <소스>

<목적지> 와 <소스> 를 그냥 바꾼다.
4 Bit MCU 지만 8 Bit 씩도 바꾸기가 가능하다.

XCHI 에 대해 사장님께서 설명해주시길 삼성 MCU가 NEC 쪽 영향을 받아 4 Bit MCU 임에도
불구하고 8 Bit 연산이 가능하다고 하셨다.
(상세한 건 여기저기 잘 알아보고 올리겠다.)

영어로 표현하자면 SWAP 이라고 표현하면 정확하다.

tmp = a;
a = b;
b = tmp;

이렇게 표현하면 정확하다고 볼 수 있겠다!!

이올린에 북마크하기
2006/08/18 20:21 2006/08/18 20:21
Posted by TylorSTYLE™

BLOG main image

카테고리

전체 (119)
Freeware (2)
SAMSUNG MCU (14)
Embedded Linux (10)
AE32000(EAGLE) (2)
Mac OS X (5)
신변잡기 (48)
디지털 회로 (1)
Programming (12)
무선 네트워크 (15)
Computer (5)
사용기 (5)

글 보관함

124

87

-35 days

today : 9

Daum 블로거뉴스
믹시