2005년 11월 30일 수요일

"A, IMG 태그 점선 외각선 없에는 방법"

Source: http://www.popome.com/index.php?pl=8&ct1=1

html을 작성하다보면 링크 또는 이미지 태그를 마우스로 누르다가 말거나 또는 스크립트 링크(페이지 이동이 없는)경우에 해당 링크를 눌렀다는 표시로 외각 점선이 나오게 된다...

이 부분을 항상 안나오게 하는 스크립트를 맨 아래 넣어주면 이 부분이 깔끔하게 해결된다...^^

<script>
function bluring()
{
  if (event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG")
    document.body.focus();
}
document.onfocusin=bluring;
</script>

2005년 11월 16일 수요일

EDN Asia.com: 90nm에서 돌풍 예고하는 스트럭처드 ASIC

This is a message from EDN Asia sent to you by:

C.W.Yang
cwyang@changwooyang.com

I thought you might find this story interesting.

EDN Asia.com: 90nm에서 돌풍 예고하는 스트럭처드 ASIC
http://www.ednkorea.com/article.asp?articleid=1037

2005년 11월 7일 월요일

Emailing: [아이뉴스24] 레인콤 게임기, KT 와이브로로 서비스된다

Source: http://www.inews24.com/php/news_view.php?g_serial=177491&g_menu=020200



레인콤 게임기, KT 와이브로로 서비스된다

김지연기자 hiim29@inews24.com
2005.11.07 10:13:37

휴대형 멀티미디어 기기업체 레인콤(대표 양덕준)이 내년에 내놓을 휴대형 게임단말기가 KT의 휴대인터넷(와이브로)망을 통해 온라인 서비스된다.

레인콤은 KT와 이같은 내용에 대해 지난 4일 합의하고 협정식을 체결했다고 7일 발표했다.

레인콤은 KT의 와이브로망에 접속해 서비스받을 수 있는 특화된 단말기를 내년 8월에 출시할 예정이다.

레인콤은 원활한 서비스 제공을 위해 게임 전용 포털사이트와 플랫폼도 구축할 계획으로, 이 포털사이트는 레인콤의 와이브로 전용 단말기에 한해 동영상이나 음악, 메신저, 채팅 서비스를 제공하게 된다.

또 레인콤은 와이브로 단말기 출시를 기점으로 기존 단말기 분야에서 서비스분야로 사업영역을 확대해 무선 포털서비스 사업에도 진출할 예정이라고 밝혔다.

레인콤 미래전략연구소장인 신순철 상무는 "유무선 연동 서비스 등 콘텐츠를 원활하게 확보하기 위해 주요 게임 포털 서비스 업체와도 지속적인 교섭중"이라며 "단말기 완성도가 매우 높아질 것으로 기대한다"고 말했다.

양사는 와이브로 서비스 및 게임기 수요 확산을 위해 각사의 유통망을 최대한 활용해 가입자 유치 업무를 진행하는 등 적극적으로 공동마케팅을 펼치기로 했다.

Copyright(c) 2000. inews24.com All rights reserved.

2005년 10월 5일 수요일

Now, I'm in Singapore...^^;

엊그제 10월 3일부터 SINGAPORE 출장중이다... 다가오는 10월8일 한국으로 출발예정...

여기오면 무진장 더워서 고생할줄 알았는데, 생각보다 덥지는 않아서 다행~~~ 오히려 건물들은 너무 춥다...ㅋㅋ

Anyway, 이곳 특유의 딱딱 끊어지는 이상한 영어 발음들과 열심히 씨름중... (__") 뭐라카는지는 둘째치고, 일단 무슨 발음인지라도 정확히 알아 들었으면 좋겠당...^^;

놀러온것이 아니라 출장이긴 하지만, Stress 받을일은 없어서 그건 Good이다...헤헤헤

2005년 9월 15일 목요일

ECN Korea.com: 설계의 틀을 바꾸는 FPGA 설계 툴

본 메시지는 ECN Asia(Korea)에서 귀하께 발송한 것입니다:

Chang-woo YANG
cwyang@changwooyang.com

흥미로운 기사여서 전송합니다.

ECN Korea.com: 설계의 틀을 바꾸는 FPGA 설계 툴
http://www.ecnkoreamag.com/article.asp?id=1045

2005년 9월 7일 수요일

일상 생활에서 흔히 쓰이는 20가지 잘못된 영어표현

일상 생활에서 흔히 쓰이는 20가지 잘못된 영어표현

  1. 핸드폰 hand phone ---------------------------> cellular phone
  2. 자동차 핸들 handle ---------------------------> steering wheel / wheel
  3. 리모콘 remocon ------------------------------> remote controller / remote
  4. 매스컴 mass com ----------------------------> mass media / mass communication
  5. 모닝콜 morning call ---------------------------> wake-up call
  6. 아르바이트 arbeit -----------------------------> part-time job
  7. 아이쇼핑 eye shopping -----------------------> window shopping
  8. 호치키스 hotchikiss ---------------------------> stapler
  9. 에어컨 aircon --------------------------------> air-conditioner / air / AC
  10. 애프터서비스 A/S(after service) --------------> warrantee service
  11. 비닐봉투 vinyl bag --------------------------> plastic bag
  12. 탤런트 talent --------------------------------> actor / actress
  13. 와이샤쓰 Y-shirt ----------------------------> dress shirt / white shirt / shirt
  14. (남녀의) 미팅 meeting ----------------------> blind date
  15. 황금시간대 golden time ---------------------> prime time
  16. 휘발유 oil ----------------------------------> gas / gasoline
  17. 사이다 cider(사과주스) ---------------------> 7-Up / Sprite
  18. 공중전화 박스 telephone box ---------------> phone booth / telephone booth
  19. 팬티 panties ------------------------------> underwear (남녀의 속옷 모두를 통칭)
  20. 오디오 / 전축 audio -----------------------> stereo / audio system

2005년 8월 31일 수요일

XBOX 360 Architecture

XBOX 360 Architecture

The CPU

The Xbox 360 is equipped with a huge 3-core CPU running at 3.2 GHz. A 1MB L2 cache is shared among all three CPU cores, and the communication with the GPU is achieved through a 21.6GB/sec FSB (Front Side Bus) channel.

South Bridge Connection through PCI express

The GPU is connected with the South Bridge chipset (I/O controlling unit) through a dual PCI Express interface (10GB/sec). The South Bridge chipset also includes an XMA decoder for audio, reducing the load on the CPU. The external I/O interfaces include SATA (20GB hard drive, 12x DL DVD recorder), USB Memory Unit ports (MU), ethernet controllers etc. The provided I/O interfaces look similar to those that will be found in Sony's Playstation 3.

GPU and CPU transistors

The GPU core unit uses 232,000,000 transistors while the eDRAm Die (Pixel processing unit) use 100,000,000 transistors.

The 232M transistors on GPU unit is about 40% more than those found on ATI's RADEON X800 (R420/423) GPU, and is almost equal to NVidia's GeForce 6800(NV40) system (222,000,000).

However, considering that Microsoft's early announcements for the Xbox concerning 48 Unified-Shaders, 232M transistors seems small. This might mean that ATI has possibly used some new techniques in the Unified-Shader design.

For comparison reasons, the GeForce 7800 GTX (G70) from NVIDIA uses 302,000,000 transistors for 32 Shaders. The RSX (Reality Synthesizer) GPU" installed in the Playstation 3, has a composition similar to the G70.

In addition, Microsoft disclosed the number of transistors of the Xbox 360 CPU. The CPU unit uses 165,000,000 transistors, a number equal to that found in a Pentium 4 6xx (Prescott 2M) CPU.

On the other hand, IBM's Cell processor on the Playstation 3 uses 241M transistors, which is roughly 1.5 more than those found on the Xbox.

Xbox hits the market soon

Xbox video game and entertainment system for as little as $299.99 U.S.

The Xbox 360 will make its debut in North America, Europe, and Japan in time for this holiday season, for $299.99 U.S (standard version). For gamers who want the ultimate experience right out of the box, Microsoft will offer a premium editionof the Xbox for the $399.99 U.S. The premium edition includes the Xbox 360 Console, a wireless controller, a removable faceplate, a HD AV Cable and many more.

2005년 8월 28일 일요일

米IBM,ソニー,東芝が「Cell」プロセサ関連の技術情報を公開 : IT Pro US News Flash

Source URL: http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20050826/166875/

미IBM, 소니, 도시바가「Cell」프로세서 관련 기술정보를 공개...

미IBM, 도시바, 소니, 소니·컴퓨터 엔터테인먼트(SCEI)는, 차세대 컴퓨터/디지털 가전대상 마이크로 프로세서「Cell」에 관한 기술사양「Cell Broadband Engine Architecture」를 공개한다. 4사가 미국 시간 8월25일에 밝힌 것. 사양서는 웹 사이트(
IBM, SCEI)에서 입수할 수 있다.

Cell은, IBM의 64비트 Power PC코어를 베이스로 하는 신형 프로세서. IBM, 도시바, 소니가 2001년에 개발 계획을 발표해, 텍사스주 오스틴에 설립한 공동 연구소에서 설계/개발을 진척시키고 있었다. 코어를 복수내장해, 부동소수점 연산의 처리 성능이 높다고 한다. 여러가지의 OS에 대응하고 있어, Linux와 같은 일반적인 OS외에, 게임기나 가전을 위한 real time OS도 이용할 수 있다. 가상 머신 환경을 구축해서 게스트OS를 동작시키면, 복수OS의 동시 실행도 가능.

Cell Broadband Engine Architecture는, Cell에 있어서의 분산 처리나 멀티미디어·어플리케이션을 위한 프로세서 구조를 정의하는 사양서. Power Architecture베이스의 제어 프로세서를 포함하는 아키텍쳐에 대해서 기술하고 있다.

또한 이들 4개사는,「Synergistic Processor Unit Instruction Set Architecture(SPU ISA)」과「Synergistic Processor Unit C/C++ Language Extensions, Application Binary Interface, and Assembly Language specifications」이라고 하는 관련 사양서도 공개한다.

2005년 8월 24일 수요일

전자 메일 보내기: 썬, 오픈소스DRM 띄운다..."개방형 바람 불까?"

Source URL: http://news.inews24.com/php/news_view.php?g_serial=166353&g_menu=020600

Free로 제공될 Sun주도의 Opensource DRM인데, 좀더 지켜봐야... 그러나 대세가 되지는 않는다고 하더라도 Free of charge가 주는 이점이 많은 관계로 많은 MP3 제조업체 및 Device Vendor에서 마냥 무시하고 있지만은 않을듯...


썬, 오픈소스DRM 띄운다..."개방형 바람 불까?"

황치규기자 delight@inews24.com
2005.08.22 10:54:49

썬마이크로시스템즈가 오픈소스 소프트웨어 기반 기술을 앞세워 디지털저작권관리(DRM) 시장에 출사표를 던졌다.

썬은 특정 시스템에 의존하지 않는 DRM 표준 확산을 위한 '오픈미디어커먼이니셔티브'(Open Media Commons initiative )를 발표하고 저작권자, 소프트웨어 개발 업체 등과의 협력에 나설 것이라고 로이터통신이 21일(현지 시간) 보도했다.

DRM 시장은 마이크로소프트(MS), 애플, 소니, 이동통신 진영 등이 독자노선을 추구하면서 기술간 호환성 문제에 직면한 상황.

이에 따라 '개방'을 슬로건으로 내건 썬의 행보가 어떤 영향을 불러일으킬지 관심이 집중되고 있다.

◆로열티 없는 개방형 플랫폼 추구

'오픈미디어커먼이니셔티브'는 썬 내부 연구 프로그램인'DReaM'과 'DRM-오페라' 프로젝트를 포함하고 있다.

썬에 따르면 'DReaM'은 네트워크상에서 비디오 스트리밍 관리를 쉽게 할 수 있도록 지원한다. DRM-오페라'는 하드웨어와 운영체제 그리고 특정 미디어 포맷에 한정되지 않는 DRM을 표방하고 있다.

'오픈미디어커먼이니셔티브'는 사용자 기반 라이선스도 적용할 수 있는 것이 특징. 대다수 DRM 표준은 하드웨어 기반으로 라이선스가 적용되고 있다. '오픈미디어커먼이니셔티브'는 로열티와도 무관하다.

애널리스트들은 DRM 기술간 호환성 부족이 문제로 떠오른 상황에서 등장한 썬의 계획에 대해 '야심적'이란 평가를 내리고 있다. 그러나 대중화를 위해서는 저작권자, 소프트웨어 개발자, 하드웨어 업체들로부터 광범위한 지지를 이끌어낼 필요가 있다고 지적한다.

이에 대해 슈워츠 COO는 "개방적이고 산업 친화적인 디지털 콘텐츠 환경을 위해 산업은 넘나드는 협력에 적극 나설 것"이라고 강조했다.

Copyright(c) 2000. inews24.com All rights Reserved.

2005년 8월 23일 화요일

SyncToy for Windows XP

SyncToy for Windows XP
SyncToy: the smart way to copy files

Published: August 2, 2005

http://www.microsoft.com/windowsxp/using/digitalphotography/prophoto/synctoy.mspx

http://www.atfile.com/pds_leaf.asp?pg_code=3512&pv_code=1

내 컴퓨터의 특정 폴더의 데이터와 다른 드라이브의 특정 폴더의 데이터를 간편하게 동기화 시켜주는 SyncToy입니다.

최근에 디지털 카메라나 휴대용 MP3 플레이어와 같은 디지털 장치를 많이 사용하게 됨에 따라 PC와 이러한 디지털 장치간의 데이터 교환도 빈번해지고 있습니다.

디지털 카메라로 찍은 이미지 데이터들을 PC에 연결하여 PC의 사진 저장 폴더와 동기화 시키거나, 혹은 PC에 다운로드 받은 새 MP3파일들을 MP3 플레이어의 음악 폴더와 동기화 시키는 등의 작업을 간편하게 해주는 프로그램이 있다면 편리할 것입니다. 또는 이러한 프로그램이 있다면 앞서의 용도 이외에도 노트북의 작업 폴더를 집의 PC의 작업 폴더와 동기화 시키거나 네트워크에 연결된 다른 PC의 특정 폴더와 내 컴퓨터의 특정 폴더를 동기화 시키는 등의 용도로 활용할 수도 있을 것입니다. SyncToy는 이러한 작업을 간편하게 할 수 있는, 마이크로소프트에서 제작하여 배포하는 동기화 프로그램입니다.

프로그램을 사용하기 위해서는 "Folder Pair"라는 작업 단위를 이해할 필요가 있습니다. 만일 어떤 사용자가 앞서 언급한 네가지 동기화 작업을 모두 하고자 한다면 하나하나의 작업을 Folder Pair로 등록해두고 처리할 수 있는 것입니다.

가령 두번째 작업인 MP3와의 동기화 작업을 Folder Fair로 등록한다고 가정해보도록 하겠습니다. 우선 신규로 Folder Pair를 등록하기 위해서 창 하단의 "Create New Folder Pair"를 클릭합니다. PC에 MP3를 모아두는 폴더가 D드라이브의 Music 폴더(D:\music)이고 MP3를 PC에 연결했을때 G드라이브로 인식이 되고 음악 폴더는 Music(G:\music)일때, 첫번째 단계에서는 내 컴퓨터의 Music폴더를, 그리고 두번째 단계에서는 MP3의 Music폴더를 등록을 해주면 됩니다.

동기화를 할 양쪽의 폴더를 지정했다면 다음 과정에서는 어떤 방식의 동기화를 할 것인지를 지정하게 됩니다. 각각의 방식에 대한 설명은 다음과 같습니다.

①Syncronize - 양쪽 폴더의 데이터를 비교하여 각각의 새로운 데이터들을 다른쪽에 저장해주는 방식입니다. 왼쪽 폴더에도 새로운 데이터가 있다면 오른쪽 폴더로 저장을 해주며, 오른쪽 폴더에 새로운 데이터가 있다면 마찬가지로 왼쪽 폴더에 저장을 하게 되어 서로 동기화를 시켜줍니다. 파일 이름의 변경이나 삭제된 것까지 반영이 됩니다.

②Echo - 왼쪽 폴더를 기준으로 오른쪽 폴더를 왼쪽 폴더와 완전히 동일하게 만들어주는 기능입니다. 왼쪽에는 없고 오른쪽에만 있는 데이터가 있다면 해당 데이터는 삭제가 되며, 왼쪽의 데이터 내용이 오른쪽보다 새로운 것이건 오래된 것이건 오른쪽 데이터는 왼쪽의 그것에 따르게 됩니다.

③Subscribe - 같은 이름의 파일이 양쪽에 있을 때 보다 새로운 쪽을 다른쪽에 갱신해주는 방식입니다. 파일의 삭제 및 없는 파일의 복사는 이루어지지 않습니다.

④Contribute - Echo와 비슷하지만 왼쪽에 없는 파일이 오른쪽엔 있다고해서 오른쪽의 파일을 지우지는 않습니다.

⑤Combine - Syncronize와 비슷하지만 단순히 양쪽 데이터를 비교하여 새로운 것으로 갱신을 해주는 기능만 합니다. 파일 이름 변경 및 삭제 결과는 반영되지 않습니다.

이렇게 동기화 방식을 지정했다면 마지막으로 Folder Pair의 이름을 지정하면 됩니다. 이렇게 생성한 Folder Pair는 프로그램 창의 왼쪽에 등록되어 언제나 사용자가 원할때 동기화 작업을 진행할 수 있습니다.

특정 Folder Pair를 선택한 후 Preview를 클릭하면 해당 Folder Pair의 동기화 대상 파일들을 보여주게 되며 Run을 클릭하면 동기화 작업이 진행됩니다. 만일 모든 Folder Pair의 동기화 작업을 한꺼번에 진행하고 싶다면 All Folder Pair를 선택한 후 Run All을 실행하면 됩니다.

특정 폴더간 데이터 복사 작업이 잦거나, 혹은 사용자가 일일이 신규 데이터 여부를 확인하지 않고 간편하게 데이터 동기화 작업을 하고자 할때 유용한 프로그램입니다.

이 프로그램은 윈도 XP 사용자를 위해 Powertoy의 일환으로 마이크로소프트가 무료로 배포하는 프리웨어입니다. 프로그램을 설치하기 위해서는 Microsoft .NET Framework 1.1 이상이 설치되어 있어야 합니다.

EDN - Global Designer: Asian SOPC-design applications now textbook cases

Chang-woo YANG (cwyang@changwooyang.com) has sent you an article.

Global Designer: Asian SOPC-design applications now textbook cases
Read the full article at:
http://www.edn.com/article/CA633453.html&

To apply for your own free subscription to EDN, just click here now:
http://www.edn.com/sub

2005년 8월 22일 월요일

(주)엑사큐브 시스템

Source URL: http://www.exacube.co.kr/



엑사큐브시스템은 우수한 기술력으로 고품질의 스토리지 시스템을 개발 및 제공하는 스토리지 전문 회사입니다.



엑사큐브시스템은 스토리지 시스템 분야의 새로운 물결을 일으키고자 2001년 새롭게 출범한 회사로서,지난 10년 이상 중대형 서버 및 스토리지 시스템 개발 경험을 바탕으로 고 품질의 스토리지 제품을 제공하고자 노력하는 기술 집약형 벤처 기업입니다.

엑사큐브시스템은 우수한 기술력으로 고 품질의 SAN 저장장치(RAID System)와 네트워크 연결형 저장장치(NAS System)를 독자적으로 개발및 공급하고 있으며, 또한 전사적 재난복구솔루션, 스토리지 가상화 솔루션, 스토리지 통합 관리 솔루션 등 기업의 총체적인 IT인프라 구축을위한 고품질의 서비스도 제공하고 있습니다.

저희 엑사큐브시스템은 고객의 의견과 요구를 기업 경영의 기준으로 삼아 언제나 고객의 소리에 귀 기울이면서 고객의 부가가치 창출과 고객 만족을 목표로 전 임직원들은 최선의 노력을 다하고 있습니다.

AMI Sector One

Source URL: http://amiga.emucamp.com/index2.htm

This site is dedicated to Amiga emulation and all what's related to it. AMI Sector One's only goal is to provide the Amiga emulator fan with the stuff he or she needs legally. You'll find here a huge collection of games, module files and demos of the Amiga scene. But keep in mind - all you can download here is shareware or a commercial product we're allowed to put it up, because we're having a written permission by the author or the distributor. You'll find a list of all contributors in the corporate area. We hope you'll enjoy your stay.

예전 아미가 컴퓨터와 관련된 각종 리소스들이 많이 모여있는곳, 나름대로 정리도 잘 되어있다... 아직도 외국에서는 "아미가", "애플", "싱클레어"등과 같은 예전 컴퓨터와 관련된 사이트들이 많이 운영이 되고 뉴스그룹이나 커뮤니티들의 활동도 나름대로 활발하더만...^^;

field-programmable gate array AnswerPage from www.answers.com

cwyang@changwooyang.com has sent you this link with information about field-programmable gate array and has added this note for you:

One of good resource pages

Click http://www.answers.com/topic/field-programmable-gate-array to view this AnswerPage.



About Answers.com:

Answers.com is a reference search service that delivers instant answers on over a million topics without having to search through lists of links. Answers.com content is collected from over 100 authoritative encyclopedias, dictionaries, glossaries and atlases, carefully chosen for breadth and quality. For ultimate convenience, install 1-Click AnswersTM software, and click on any word in any document on your screen for "Answers at your Fingertips".

Programmable Logic DesignLine

미국의 유명한 출판업체중 하나인 CMP Media LLC.에서 새로운 웹사이트를 하나 Launching했다... FPGA / CPLD와 관련된 전용의 웹진인데, 제목은 "Programmable Logic DesignLine"이라고 기존 EE Product Center의 PLDs-FPGAs 페이지 (http://www.eeproductcenter.com/pld-fpga/)만으로 모든걸 다 다루기에는 역부족이라고 느끼고 이번에 새롭게 기획된것 같다는...?!


Source URL: http://www.pldesignline.com/



What's In The Programmable Logic DesignLine

Where can you find real solutionsto tough programable logic design challenges? The Programmable Logic DesignLine is the place. This site provides the practical how-to information needed to program, develop, and implement field programmable gate arrays (FPGAs) and programmable logic devices (PLDs) in wireless, networking, industrial, automotive, and other design applications.

  • Cover the latest news and trends globally, so staying up to date is a cakewalk.
  • Provide essential how-to and reference data for the technologies you require most to get your job done.
  • Comprehensive analysis on electronics industry trends, along with links to important Web sources.
Programmable Logic DesignLine connects you to critical programmable logic knowledge no matter who created it - us, a vendor, or even our competitors. If you need it, you'll find it here.

2005년 8월 20일 토요일

[EETimes.com] IP verification panel advocates standards

Source URL: http://www.eetimes.com/news/design/technology/showArticle.jhtml?articleID=164303613

아래의 URL을 같이 참고하는것도 도움이 될듯~~~
http://verificationguild.com/modules.php?name=Forums&file=viewtopic&t=845

Emailing: 삼성전자 미니켓 Mega

 
미니켓
VM-M2100
 
 
- 211만화소 동영상용 CCD
- 400만화소급 디지털카메라
- 1GB 대용량 기본 메모리
- 광학 10배/디지털 100배
- 고화질 MPEG-4 레코딩
- 멀티 메모리 카드 슬롯
- TV 녹화 기능
제품설명
 
 
■ 6가지 멀티 제품 기능
- 디지털 캠코더 : MPEG-4 ASP 방식의 DVD급 고화질 동영상 촬영
- 디지털 카메라 : 400만화소급(2400*1800) 해상도의 정지영상 촬영
- MP3 플레이어 : 최대 250곡의 MP3 파일 저장
- 이동식 디스크 : 1GB 대용량 기본 메모리 내장
- 보이스 레코더 : 최대 18시간 고음질 스테레오 녹음 가능
- PC 카메라 : 화상회의와 화상채팅이 가능
■ USB 2.0 채용 : 동영상이나 사진 및 데이터 전송시 기존 USB보다 최대 40배 빠른 고속 전송이 가능합니다.
■ 고배율 줌렌즈 채용 : 광학 10배, 디지털 100배 줌렌즈 채용하여 원거리의 피사체도 화질 손상 없이 선명하게 촬영할수 있습니다.
■ 멀티메모리카드슬롯 채용 : 메모리스틱, 메모리스틱 프로, SD, MMC등 총 4가지 메모리 호환이 가능해 추가 메모리 확장이 가능합니다.
■ TV 녹화 기능 : AV 단자를 TV와 연결하여 TV에서 나오는 드라마, 영화, 쇼프로등을 미니켓에 저장 간편하게 PC로 전송, 감상이 가능합니다.
 
상세 spec
 
 
▶메모리방식 MPEG-4 ASP 고화질 레코딩(720X480,30프레임)
▶동영상용 211만화소 CCD
▶1G 대용량 메모리 내장
▶400만 화소급 디지털 카메라 기능 (2400*1800)
▶다양한 메모리 확장 가능한 멀티 메모리카드 슬롯 채용
▶2.0" TFT LCD(211K)
▶광학줌 10배 / 디지털줌 100배
▶손떨림보정(EIS)
▶밝은 사진촬영을 위한 플래쉬 기본 장착
▶PictBridge 기능
▶멀티 디스플레이
▶USB 2.0채용
▶TV 녹화기능
▶접사촬영
▶다양한 특수효과
▶Earphone
▶배터리 2종 제공(대용량 1개, 일반용량 1개)
▶크기 : 길이69 Ⅹ 높이103.5 Ⅹ 폭37.6mm
▶무게 : 184g
 

 
© 2001~ 2005 삼성전자(주) All rights reserved.

배너 for "PLDWorld.{블로그}"...


153 x 43 pixels

그동안 엄청난 양의 귀차니즘 압박으로 인하여 내 블로그용 배너를 만들지 못하고 있었는데... 원래 실력도 없지만서두... 그렇지만 마냥 손놓고 있을수만은 없어서, 지난주말에 대충 끄적거려서 하나 만들었다... 역시나 짜집기 및 대충대충의 느낌이 엄청나지만, 그래도 나름대로 맘에 든다... (내가 만들어서 그런가...^^a;)

바탕색과 테두리만 CSS로 잘 요리하면 여기저기 잘 쓸수 있겠다...

2005년 8월 19일 금요일

전자 메일 보내기: 등가직렬저항(ESR;equivalent series resistance)

Source URL: http://kin.naver.com/popup/print.php?dir_id=110209&docid=1411533&status=DB
1411533전원에 전해콘덴서를 연결하는 이유.
+ 8 (8명)
   조회 : 997   답변 : 3
답변이 완료된 질문입니다.(2005-02-24 22:51 작성)
대충.. 전원에 전해콘덴서를 다는 이유는 대충 알겠습니다.
추전하는 바로는, 전원 투입후, 다른 장비를 동작시키면, 순간 전원이 다운되는것을 막기위해 콘덴서가 보충해주는것 같습니다.

그런데,
궁금한것은,
카오디오나, 컴퓨터의 파워 및 메인보드...
잘 보면, 회로가 콘덴서와 연결되어있는데, 병렬로 여러개 연결한것입니다.

이해가 안되는것입니다.
예를 들어, 2200마이크로페렛의 콘덴서가 있다면, 전원부에 하나 달고, 바로 옆에 병렬로 470마이크로페렛 달고, 또 220마이크로 페렛 달고, 그리고, 세라믹콘덴서가 달려있었어요.

음..
avr을 이용한 제품중 7805ic를 통과하기전에 콘덴서 두개가 병렬로 연결되었고, ic통과후 1개 콘덴서가 더 연결되어있더군요...

예를 들어, 470마이크로 페렛을 두개 연결할거면, 차라리, 속편하게 1000마이크로 페렛을 달지 왜 이런식으로 달까요?

그이유에 대해 궁금합니다.

관련 고수님들의 따뜻한 답변 부탁합니다.

내공 20올려드리겠습니다.
기본 내공 10
총내공 31입니다.

질문자가 선택한 답변
re: 전원에 전해콘덴서를 연결하는 이유.이의제기
(2005-02-24 23:24 작성)

몇가지 이유중 가장 큰 이유는 내부저항을 낮추기 위해서입니다.
실제로 콘덴서를 측정해 보면 콘덴서라기 보다 콘덴서+저항이라 할수 있는데
이때 콘덴서 내부저항을 ESR(직렬등가저항)이라 합니다. 이값은 용량과 직접적으로 관계없는 값으로 유전체의 재질,모양,등에 관련됩니다.
가령 470uF 의 경우 등가저항까지 포함하여 표시한다면 470uF+0.1Ω이라 할수 있습니다. 1000uF도 비슷하게 1000uF+0.1Ω 이라 할수 있죠. 이때 470uF을 2개병렬로 연결한다면 940uF+0.05Ω 이 됩니다. 콘덴서의 임피던스 Xc = 1/2πFC로 만약 F(주파수)가 충분히 높다면 Xc가 0이 되어야 하는데 위의 ESR값에 의해 유한의 값을 가지는 것입니다. 이것이 결국 스위칭 노이즈제거비와 관련된다 할수 있죠.

ESR이 낮을수록 특성은 좋지만 일반적으로 용량이 큰 전해는 ESR이 낮고, ESR이 낮은 세라믹등은 큰 용량값으로 만드는 것이 힘듭니다. 그래서 전해 콘덴서와 세라믹등을 복합적으로 사용하여 전 주파수대에 모두 임피던스가 낮은 콘덴서를 만들어 주는 것이죠.

참고하세요.
 
질문자가 선택한 답변
re: 전원에 전해콘덴서를 연결하는 이유.이의제기
(2005-02-25 11:05 작성)

다른분들내용에 동의하지만 전 다른 견해를 가지고 있씁니다.
왜 같은 용량등을 병렬로 여러개를 사용하는가?
속시원히 하나로 큰용량을 달면되지...
저의 견해는..이렇습니다.
용량이 클수록 캐패시터의 크기와 가격이 높아집니다.
가격이 반정도 되는 용량 두개를 합한것보다 더 많이 비싸집니다..
크기가 커지면 공간도 협소해집니다.
무거워집니다..무거워지면 잔진동에 리드선이 흔들리면서 수명도 단축됩니다.
잔진동에 끊어질수 있거든요...
다리가 두개이다보니까...
그래서 커다란 캐패시터 보면 사용방법에 따라서 다르겠지만...붙잡아주는 틀이 같이 나오기도 합니다..
아니면 실리콘이나 본드등으로 고정시켜줘야합니다.
...반대로
크기가 작으면 용량을 분산해서 빈공간을 활용할수도 있고..가격도 저렴해지고..가볍고 ...해서 이렇게 설계하기도 하는겁니다.
 
답변들
re: 전원에 전해콘덴서를 연결하는 이유.이의제기
(2005-02-25 00:58 작성)
윗분의 말씀에 거의 동감합니다.
그러나 콘덴서는 그 용도 이외에 왜란(노이즈)을 차단하는 역할도 합니다.
 

Copyright © NHN Corp. All Rights Reserved.

2005년 8월 18일 목요일

Emailing: 애플 아이팟 신제품에 낸드형 플래시 채용

반도체업계 수익 개선 `단비'
MP3P 중심 수요증가로 메모리가 강세 예상
한국업체도 낸드형 칩 생산체제 전환 ‘순조’

게재일자 : 2005/08/18

애플컴퓨터가 4분기에 출시할 플래시메모리 기반의 아이팟(iPod) 신제품이 낸드형 플래시 메모리의 수요를 크게 확대할 것이라고 아시안월스트리트저널(AWSJ)이 17일 보도했다.

애플은 플래시 메모리 기반의 4GB 용량의 아이팟을 연말경에 선보일 예정인데, 반도체 업계에서는 이로 인해 플래시 메모리 시장에서 큰 폭의 수요가 발생할 것으로 보고 있다. 낸드형 플래시 메모리는 PC에 주로 사용되는 D램보다 가격이 더 비싸면서도 MP3플레이어와 디지털카메라 등 소비자 가전제품에 보다 대중적으로 사용되고 있다.

신문은 낸드형 플래시 메모리의 타이트한 공급은 반도체업체들에게 앞으로 호기를 제공해 줄 것임을 의미한다고 설명했다. 애플의 아이팟 신제품으로 하반기 낸드형 플래시 메모리의 공급에 여유가 없을 것이며, 이는 3분기 반도체업체들의 이익 마진 개선으로 이어질 것이라는 시장의 기대도 한층 강화되고 있다.

시장조사기관 아이서플라이의 김남형 메모리 분야 수석 분석가는 "애플의 아이팟 신제품에 대한 수요증가로 하반기 낸드형 플래시 메모리의 공급은 빠듯해질 것으로 보고 있다"고 전망했다. 그는 이어 "주요 업체들이 올해 잔여 기간동안 주문자상표부착생산(OEM)업체들과 공급 계약이 돼 있는 점을 감안하면 현금 구매자들은 지속적인 공급부족 현상을 겪게 될 것"이라고 분석했다.

이에 따라 현재 생산의 무게 중심을 D램에서 낸드형 플래시 메모리로 조금씩 옮기고 있는 주요 반도체 업체들의 변화가 보다 가속화될 전망이다. 현재 D램 업체들은 큰 자본 지출 없이 일부 생산 장비만 변경, 낸드형 플래시 메모리를 생산할 수 있을 것으로 보인다.

삼성전자와 하이닉스 등 한국 반도체업체들은 2분기에 D램 가격이 가파른 하락세를 보이자 이미 낸드형 칩 생산 체제로 전환했으며, 이는 D램 시장의 과다공급을 완화시켜 가격을 안정시킬 것으로 신문은 전망했다.

한편 여전히 많은 분석가들은 하반기에 낸드형 플래시 메모리 가격이 계속 하락할 것으로 전망하고 있는 가운데 시장의 수요를 보다 긍정적으로 받아들이는 분석가들도 증가하고 있다고 신문은 지적했다.

도이체방크의 분석가인 D.J.요크는 하반기 낸드형 플래시 메모리 가격이 당초 예상보다 높아질 것으로 예상했다. 그는 "3분기에 접어들면서 애플과 소니 등 MP3플레이어 업체들의 수요 증가로 인해 가격이 당초 기대보다 높게 형성되고 있다"고 설명했다.

또 BNP파리바 페레그린의 한 분석가도 "낸드형 플래시 메모리에 대한 공급 부족의 두려움이 존재한다는 것은 당초 많은 사람들이 기대했던 것만큼의 가격 하락이 없다는 것을 의미한다"면서 "이는 D램 업체들에게는 좋은 소식"이라고 덧붙였다.

이홍석기자@디지털타임스
[저작권자(c) 디지털타임스 무단 전재-재배포 금지]

2005년 8월 17일 수요일

퀄컴 Vs.인텔, 듀얼CPU 시장 ′맞짱′



퀄컴 Vs.인텔, 듀얼CPU 시장 ′맞짱′
퀄컴 'MSM7500' 선공에 인텔 맞불
'휴대폰+스마트폰' 분야 혈전 예상
모바일타임스 / 김종율 기자
2005/08/11 15:21

모바일 기기용 프로세서 시장 양대산맥으로 활동하고 있는 퀄컴과 인텔이 모뎀과 애플리케이션 프로세서를 하나로 묶은 듀얼CPU 시장에서 정면으로 맞붙는다.

그동안 퀄컴은 MSM으로 통칭되는 모뎀칩으로 업계를 평정해왔으며, 인텔은 PXA시리즈(코드명 '벌버디')로 불리는 애플리케이션 프로세서칩으로 업계를 이끌어왔다.

이처럼 각기 다른 시장에서 주도권을 쥐고 활동해 온 이들 두 업체가 상호 경쟁을 피할 수 없게 된 것은 두 기능을 하나로 묶은 제품 출시를 기대하는 업계 요구 때문.

양사 경쟁에서 선공을 시작한 업체는 퀄컴이다. 이 회사는 지난 2분기 자사 최초의 듀얼CPU 지원 ‘MSM7500′을 발표했다. 1xEV-DO 및 GPRS를 지원한다.

이 제품에 이어 퀄컴은 내년 1분기 HSUPA를 지원하는 듀얼CPU ‘MSM7200′을, 내년 중 HSDPA 및 W-CDMA를 지원하는 ’MSM7600′을 발표할 예정이다.

퀄컴의 듀얼CPU 제품의 경우, 베이스밴드부에는 ARM9코어가, 애플리케이션 프로세서 부에는 ARM11코어가 채용된다.

퀄컴에게 선제공격을 당했지만 인텔은 예정된 자사 로드맵대로 내년 중 듀얼CPU를 채용한 제품을 출시한다는 방침이다. 인텔측은 현재 이 제품의 코드명 거론도 조심하는 상태.

그러나 자사 애플리케이션 프로세서인 PXA시리즈의 후속 제품에 W-CDMA 베이스밴드 칩인 ‘허몬’을 결합시킨다는 사실은 인정하고 있다.

인텔의 듀얼CPU 프로세서에는 이 회사가 자체적으로 만든 ‘엑스스케일’ 코어가 베이스밴드부와 애플리케이션부에 채용된다.

한편 업계 관계자들은 퀄컴과 인텔이 같은 조건의 듀얼CPU 칩을 출시하지만 시장에서 전면적인 경쟁은 피할 수 있을 것으로 보고 있다. 퀄컴은 휴대폰 시장을, 인텔은 스마트폰 시장을 주요 대상으로 하기 때문이라는 분석 때문이다.

이와 관련, 퀄컴측은 “각종 애플리케이션을 원활하게 처리할 수 있는 휴대폰 개발 업체를 공략할 방침”이라고 밝혔으며, 인텔측은 “심비안 및 MS 등 범용OS를 채용한 스마트폰 개발 업체를 대상으로 제품을 공급한다는 방침”이라고 설명했다.

그러나 일부에서는 양사 직접적인 충돌이 불가피할 것으로 점치기도 한다. 휴대폰과 스마트폰이 교집합을 이루는 시장은 분명 존재하며, 퀄컴 또한 2008년 1억대 돌파가 예상되는 스마트폰 시장을 무시할 수 없어 양사의 자존심 대결은 피할 수 없을 것이라는 게 이들의 판단이다.

2002 ittn.co.kr All rights reserved.

태터 툴즈로 전 세계가 하나가 됩니다

http://www.tattertools.com/

"태터툴즈"
국내에서 설치형 블로그 툴로는 가히 최고라 할 만하며, 사용하기도 편하고 태터 센터라는 타 설치형 블로그에서 찾아보기 어려운 강력한 social network 기능까지 갖추고 있지만, 근본적으로 웹 표준에 관해서 블로거들의 욕구를 충족시키지 못한다는 얘기도 들리는 한국산 설치형 블로그 시스템...

외산중엔 WordPress (http://wordpress.org/) 라는게 남름대로 인지도가 있는 모양이다...

어쨌거나, 어차피 추후에는 이러한 설치형 블로그로 옮겨가야 할것 같은디 아직은 생각만 하고있다...쩝 아직까지는 잘 모르겠다... 그때가면 그때상황에 걸맞는 좋은 생각이 떠오르겠지...^^;

2005년 8월 15일 월요일

Women - In the Morning








DataCraft에서 제작한 이미지CD에 들어있는 느낌이 좋은 이미지사진 몇장...

햇볕 잘 들고 넓찍한 방 한칸에 흰색의 썰렁한 (간결한???) 인테리어... 내가 제일 좋아하는 설정인데, White color가 주종이라 밝은데다가 집이 넓어보이는 느낌까지 같이 들어서 더더욱 괜찮은것 같다... 이미지 관련 사이트에 갔더니, 내 맘에 딱드는 느낌의 인테리어가 되어있는 사진들이 있어서 허락없이 가져왔슴...

언제 쯤이나 이런 집에서 살수 있을까나... 에휴~~~ (__")

2005년 8월 14일 일요일

Summit Microelectronics at Virtual Earth

MSN Virtual Earth를 통해 찾은 주소...  Google 못지않은 해상도와 검색능력을 보여준다...  (Google로도 찾은게 내 블로그 저~~~ 아래 어딘가에 들어있는디...쩝)
 
Summit Microelectronics
1717 Fox Dr, San Jose, CA 95131
http://virtualearth.msn.com/?sp=yp.12917574

MSN Virtual Earth

URL: http://virtualearth.msn.com/

"구글이 하는건 우리도 한다." 뭐 이런건지는 몰라도, 어쨌던 우리는 양질의 위성사진으로 제공되는 지도서비스가 또하나 생겼으니 Google과 MSN을 잘 활용하는 일만 남았군...^^; 그나저나, 검색해보니 지도사진 참 선명하군...ㅋㅋㅋ

2005년 8월 10일 수요일

Security Review Of Embedded Systems And Its Applications To Hacking Methodology


                           ==Phrack Inc.==
 
                Volume 0x0b, Issue 0x3f, Phile #0x11 of 0x14
 
|=------------[ Security Review Of Embedded Systems And Its ]------------=|
|=------------[     Applications To Hacking Methodology     ]------------=|
|=-----------------------------------------------------------------------=|
|=----[ Cawan: <chuiyewleong[at]hotmail.com> or <cawan[at]ieee.org> ]----=|
 

--=[ Contents
 
    1. - Introduction
 
    2. - Architectures Classification
 
    3. - Hacking with Embedded System
 
    4. - Hacking with Embedded Linux
 
    5. - "Hacking Machine" Implementation In FPGA
 
    6. - What The Advantages Of Using FPGA In Hacking ?
 
    7. - What Else Of Magic That Embedded Linux Can Do ?
 
    8. - Conclusion
 

--[ 1. - Introduction
 
    Embedded systems have been penetrated the daily human life. In
residential home, the deployment of "smart" systems have brought out the
term of "smart-home". It is dealing with the home security, electronic
appliances control and monitoring, audio/video based entertainment, home
networking, and etc. In building automation, embedded system provides the
ability of network enabled (Lonwork, Bacnet or X10) for extra convenient
control and monitoring purposes. For intra-building communication, the
physical network media including power-line, RS485, optical fiber, RJ45,
IrDA, RF, and etc. In this case, media gateway is playing the roll to
provide inter-media interfacing for the system. For personal handheld
systems, mobile devices such as handphone/smartphone and PDA/XDA are going
to be the necessity in human life. However, the growing of 3G is not as
good as what is planning initially. The slow adoption in 3G is because it
is lacking of direct compatibility to TCP/IP. As a result, 4G with Wimax
technology is more likely to look forward by communication industry
regarding to its wireless broadband with OFDM.
 
    Obviously, the development trend of embedded systems application is
going to be convergence - by applying TCP/IP as "protocol glue" for
inter-media interfacing purpose. Since the deployment of IPv6 will cause
an unreasonable overshooting cost, so the widespread of IPv6 products
still needs some extra times to be negotiated.
As a result, IPv4 will continue to dominate the world of networking,
especially in embedded applications. As what we know, the brand-old
IPv4 is being challenged by its native security problems in terms of
confidentiality, integrity, and authentication.
Extra value added modules such as SSL and SSH would be the best solution
to protect most of the attacks such as Denial of Service, hijacking,
spooling, sniffing, and etc. However, the implementation of such value
added module in embedded system is optional because it is lacking of
available hardware resources. For example, it is not reasonable to
implement SSL in SitePlayer[1] for a complicated web-based control and
monitoring system by considering the available flash and memory that
can be utilized.
 
    By the time of IPv4 is going to conquer the embedded system's world,
the native characteristic of IPv4 and the reduced structure of embedded
system would be problems in security consideration.
These would probably a hidden timer-bomb that is waiting to be exploited.
As an example, by simply performing port scan with pattern recognition to
a range of IP address, any of the running SC12
IPC@CHIP[2] can be
identified and exposed. Once the IP address of a running SC12 is confirmed,
by applying a sequence of five ping packet with the length of 65500 is
sufficient to crash it until reset.
 

--[ 2. - Architectures Classification
 
    With the advent of commodity electronics in the 1980s, digital utility
began to proliferate beyond the world of technology and industry. By its
nature digital signal can be represented exactly and easily, which gives
it much more utility. In term of digital system design, programmable
logic has a primary advantage over custom gate arrays and standard cells
by enabling faster time-to-complete and shorter design cycles. By using
software, digital design can be programmed directly into programmable
logic and allowing making revisions to the design relatively quickly.
The two major types of programmable logic devices are Field Programmable
Logic Arrays (FPGAs) and Complex Programmable Logic Devices (CPLDs).
FPGAs offer the highest amount of logic density, the most features,
and the highest performance. These advanced devices also offer features
such as built-in hardwired processors (such as the IBM Power PC),
substantial amounts of memory, clock management systems, and support
for many of the latest very fast device-to-device signaling technologies.
FPGAs are used in a wide variety of applications ranging from data
processing and storage, instrumentation, telecommunications, and digital
signal processing. Instead, CPLDs offer much smaller amounts of logic
(approximately 10,000 gates). But CPLDs offer very predictable timing
characteristics and are therefore ideal for critical control applications.
Besides, CPLDs also require extremely low amounts of power and are very
inexpensive.
 
    Well, it is the time to discuss about Hardware Description Language
(HDL). HDL is a software programming language used to model the intended
operation of a piece of hardware. There are two aspects to the description
of hardware that an HDL facilitates: true abstract behavior modeling and
hardware structure modeling. The behavior of hardware may be modeled and
represented at various levels of abstraction during the design process.
Higher level models describe the operation of hardware abstractly, while
lower level models include more detail, such as inferred hardware
structure. There are two types of HDL: VHDL and Verilog-HDL. The history
of VHDL started from 1980 when the USA Department of Defence (DoD) wanted
to make circuit design self documenting, follow a common design methodology
and be reusable with new technologies. It became clear there was a need for
a standard programming language for describing the function and structure
of digital circuits for the design of integrated circuits (ICs). The DoD
funded a project under the Very High Speed Integrated Circuit (VHSIC)
program to create a standard hardware description language.
The result was the creation of the VHSIC hardware description language or
VHDL as it is now commonly known. The history of Verilog-HDL started from
1981, when a CAE software company called Gateway Design Automation that was
founded by Prabhu Goel. One of the Gateway's first employees was Phil
Moorby, who was an original author of GenRad's Hardware Description
Language (GHDL) and HILO simulator. On 1983, Gateway released the Verilog
Hardware Description Language known as Verilog-HDL or simply Verilog
together with a Verilog simulator. Both VHDL and Verilog-HDL are reviewed
and adopted by IEEE as IEEE standard 1076 and 1364, respectively.
                
    Modern hardware implementation of embedded systems can be classified
into two categories: hardcore processing and softcore processing. Hardcore
processing is a method of applying hard processor(s) such as ARM, MIPS,
x86, and etc as processing unit with integrated protocol stack.
For example, SC12 with x86, IP2022 with Scenix RISC, eZ80, SitePlayer
and Rabbit are dropped in the category of hardcore processing.Instead,
softcore processing is applying a synthesizable core that can be targeted
into different semiconductor fabrics. The semiconductor fabrics should be
programmable as what FPGA and CPLD do. Altera[3] and Xilinx[4] are the
only FPGA/CPLD manufacturers in the market that supporting softcore
processor. Altera provides NIOS processor that can be implemented in SOPC
Builder that is targeted to its Cyclone and Stratix FPGAs. Xilinx provides
two types of softcore: Picoblaze, that is targeted to its CoolRunner-2
CPLD; and Microblaze, that is targeted to its Spartan and Virtex FPGAs. 
For the case of FPGAs with embedded hardcore, for example ARM-core in
Stratix, and MIPS-core in Virtex are classified as embedded hardcore
processing. On the other hand, FPGAs with embedded softcore such as
NIOS-core in Cyclone or Stratix, and Microblaze-core in Spartan or Virtex
are classified as softcore processing. Besides, the embedded softcore can
be associated with others synthesizable peripherals such as DMA controller
for advanced processing purpose.
 
    In general, the classical point of view regarding to the hardcore
processing might assuming it is always running faster than softcore
processing. However, it is not the fact. Processor performance is often
limited by how fast the instruction and data can be pipelined from external
memory into execution unit. As a result, hardcore processing is more
suitable for general application purpose but softcore processing is more
liable to be used in customized application purpose with parallel
processing and DSP. It is targeted to flexible implementation in adaptive
platform.
 

--[ 3. - Hacking with Embedded System
 
    When the advantages of softcore processing are applied in hacking, it
brings out more creative methods of attack, the only limitation is the
imagination. Richard Clayton had shown the method of extracting a 3DES key
from an IBM 4758 that is running Common Cryptographic Architecture
(CCA)[5]. The IBM 4758 with its CCA software is widely used in the banking
industry to hold encryption keys securely. The device is extremely
tamper-resistant and no physical attack is known that will allow keys to be
accessed. According to Richard, about 20 minutes of uninterrupted access to
the IBM 4758 with Combine_Key_Parts permission is sufficient to export the
DES and 3DES keys. For convenience purpose, it is more likely to implement
an embedded system with customized application to get the keys within the
20 minutes of accessing to the device. An evaluation board from Altera was
selected by Richard Clayton for the purpose of keys exporting and
additional two days of offline key cracking.
 
    In practice, by using multiple NIOS-core with customized peripherals
would provide better performance in offline key cracking. In fact,
customized parallel processing is very suitable to exploit both symmetrical
and asymmetrical encrypted keys.  
     
 
--[ 4. - Hacking with Embedded Linux
 
    For application based hacking, such as buffer overflow and SQL
injection, it is more preferred to have RTOS installed in the embedded
system. For code reusability purpose, embedded linux would be the best
choice of embedded hacking platform. The following examples have clearly
shown the possible attacks under an embedded platform. The condition of
the embedded platform is come with a Nios-core in Stratix and  uClinux
being installed. By recompiling the source code of netcat and make it run
in uClinux, a swiss army knife is created and ready to perform penetration
as listed below: -
 
    a) Port Scan With Pattern Recognition
 
        A list of subnet can be defined initially in the embedded system
    and bring it into a commercial building. Plug the embedded system
    into any RJ45 socket in the building, press a button to perform port
    scan with pattern recognition and identify any vulnerable network
    embedded system in the building. Press another button to launch attack
    (Denial of Service) to the target network embedded system(s). This
    is a serious problem when the target network embedded system(s) is/are
    related to the building evacuation system, surveillance system or
    security system.
   
     b) Automatic Brute-Force Attack
   
        Defines server(s) address, dictionary, and brute-force pattern
    in the embedded system. Again, plug the embedded system into any RJ45
    socket in the building, press a button to start the password guessing
    process. While this small box of embedded system is located in a hidden
    corner of any RJ45 socket, it can perform the task of cracking over
    days, powered by battery.
   
    c) LAN Hacking
 
        By pre-identify the server(s) address, version of patch, type
    of service(s), a structured attack can be launched within the area
    of the building. For example, by defining:
   
       
http://192.168.1.1/show.php?id=1%20and%201=2%20union%20select%20
        8,7,load_file(char(47,101,116,99,47,112,97,115,115,119,100)),5,4,
        3,2,1
  
        **char(47,101,116,99,47,112,97,115,115,119,100) = /etc/passwd
   
    in the embedded system initially. Again, plug the embedded system into
    any RJ45 socket in the building (within the LAN), press a button to
    start SQL injection attack to grab the password file of the Unix
    machine (in the LAN). The password file is then store in the flash
    memory and ready to be loaded out for offline cracking. Instead of
    performing SQL injection, exploits can be used for the same
    purpose.
   
    d) Virus/Worm Spreading
 
        The virus/worm can be pre-loaded in the embedded system. Again,
    plug the embedded system into any RJ45 socket in the building, press a
    button to run an exploit to any vulnerable target machine, and load the
    virus/worm into the LAN.
   
    e) Embedded Sniffer
 
        Switch the network interface from normal mode into promiscuous mode
    and define the sniffing conditions. Again, plug the embedded system
    into any RJ45 socket in the building, press a button to start the
    sniffer. To make sure the sniffing process can be proceed in switch
    LAN, ARP sniffer is recommended for this purpose.
   
 
--[ 5. - "Hacking Machine" Implementation In FPGA
 
    The implementation of embedded "hacking machine" will be demonstrated
in Altera's NIOS development board with Stratix EP1S10 FPGA. The board
provides a 10/100-base-T ethernet and a compact-flash connector. Two
RS-232 ports are also provided for serial interfacing and system
configuration purposes, respectively. Besides, the onboard 1MB of SRAM,
16MB of SDRAM, and 8MB of flash memory are ready for embedded linux
installation[6]. The version of embedded linux that is going to be applied
is uClinux from microtronix[7].
 
    Ok, that is the specification of the board. Now, we start our journey
of "hacking machine" design. We use three tools provided by Altera to
implement our "hardware" design. In this case, the term of "hardware" means
it is synthesizable and to be designed in Verilog-HDL. The three tools
being used are: QuartusII ( as synthesis tool), SOPC Builder (as
Nios-core design tool), and C compiler. Others synthesis tools such as
leonardo-spectrum from mentor graphic, and synplify from synplicity are
optional to be used for special purpose. In this case, the synthesized
design in edif format is defined as external module. It is needed to import
the module from QuartusII to perform place-and-route (PAR). The outcome of
PAR is defined as hardware-core. For advanced user, Modelsim from mentor
graphic is highly recommended to perform behavioral simulation and Post-PAR
simulation. Behavioral simulation is a type of functional verification to
the digital hardware design. Timing issues are not put into the
consideration in this state. Instead, Post-PAR simulation is a type of
real-case verification. In this state, all the real-case factors such as
power-consumption and timing conditions (in sdf format) are put into the
consideration. [8,9,10,11,12]
 
    A reference design is provided by microtronix and it is highly
recommended to be the design framework for any others custom design with
appropriate modifications [13]. Well, for our "hacking machine" design
purpose, the only modification that we need to do is to assign the
interrupts of four onboard push-buttons [14]. So, once the design
framework is loaded into QuartusII, SOPC Builder is ready to start
the design of Nios-core, Boot-ROM, SRAM and SDRAM inteface, Ethernet
interface, compact-flash interface and so on. Before starting to generate
synthesizable codes from the design, it is crucial to ensure the check-box
of "Microtronix uClinux" under Software Components is selected (it is in
the "More CPU Settings" tab of the main configuration windows in SOPC
Builder). By selecting this option, it is enabling to build a uClinux
kernel, uClibc library, and some uClinux's general purpose applications by
the time of generating synthesizable codes. Once ready, generate the design
as synthesizable codes in SOPC Builder following by performing PAR in
QuartusII to get a hardware core. In general, there are two formats of
hardware core:-
 
    a) .sof core:  To be downloaded into the EP1S10 directly by JTAG and
                   will require a re-load if the board is power cycled
                   **(Think as volatile)
            
    b) .pof core:  To be downloaded into EPC16 (enhanced configuration
                   device) and will automatically be loaded into the
                   FPGA every time the board is power cycled
                   **(Think as non-volatile)
                
    The raw format of .sof and .pof hardware core is .hexout. As hacker,
we would prefer to work in command line, so we use the hexout2flash tool
to convert the hardware core from .hexout into .flash and relocate the
base address of the core to 0x600000 in flash. The 0x600000 is the startup
core loading address of EP1S10. So, once the .flash file is created, we
use nios-run or nr command to download the hardware core into flash memory
as following:
 
    [Linux Developer] ...uClinux/: nios-run hackcore.hexout.flash
 
    After nios-run indicates that the download has completed successfully,
restart the board. The downloaded core will now start as the default core
whenever the board is restarted.
 
    Fine, the "hardware" part is completed. Now, we look into the
"software" implementation. We start from uClinux. As what is stated, the
SOPC Builder had generated a framework of uClinux kernel, uClibc library,
and some uClinux general purpose applications such as cat, mv, rm, and etc.
 
We start to reconfigure the kernel by using "make xconfig".
 
    [Linux Developer] ...uClinux/: cd linux
    [Linux Developer] ...uClinux/: make xconfig
 
In xconfig, perform appropriate tuning to the kernel, then use
"make clean" to clean the source tree of any object files.
 
    [Linux Developer] ...linux/: make clean
 
To start building a new kernel use "make dep" following by "make".
 
    [Linux Developer] ...linux/: make dep
    [Linux Developer] ...linux/: make
 
To build the linux.flash file for uploading, use "make linux.flash".
 
    [Linux Developer] ...uClinux/: make linux.flash
 
The linux.flash file is defined as the operating system image.
As what we know, an operating system must run with a file system.
So, we need to create a file system image too. First, edit the config
file in userland/.config to select which application packages get
built. For example:
 
    #TITLE agetty
    CONFIG_AGETTY=y
 
If an application package's corresponding variable is set to 'n'
(for example, CONFIG_AGETTY=n), then it will not be built and copied
over to the target/ directory. Then, build all application packages
specified in the userland/.config as following:
 
    [Linux Developer] ...userland/: make
 
Now, we copy the pre-compiled netcat into target/ directory.
After that, use "make romfs" to start generating the file system or
romdisk image.
 
    [Linux Developer] ...uClinux/: make romfs
 
Once completed, the resulting romdisk.flash file is ready to be
downloaded
to the target board. First, download the file system image following by
the operating system image into the flash memory. 
 
    [Linux Developer] ...uClinux/: nios-run -x romdisk.flash
    [Linux Developer] ...uClinux/: nios-run linux.flash
 
Well, our FPGA-based "hacking machine" is ready now.
 
    Lets try to make use of it to a linux machine with /etc/passwd
enabled. We assume the ip of the target linux machine is 192.168.1.1
as web server in the LAN that utilize MySQL database. Besides, we know
that its show.php is vulnerable to be SQL injected. We also assume it has
some security protections to filter out some dangerous symbols, so we
decided to use char() method of injection. We assume the total columns in
the table that access by show.php is 8.
 
Now, we define:
 
    char getpass[]="http://192.168.1.1/show.php?id=1%20and%201=2%20union
      %20select%208,7,load_file(char(47,101,116,99,47,112,97,115,115,119,
      100)),5,4,3,2,1";   
 
as attacking string, and we store the respond data (content of
/etc/passwd) in a file name of password.dat. By creating a pipe to the
netcat, and at the same time to make sure the attacking string is always
triggered by the push-button, well, our "hacking machine" is ready.
 
    Plug the "hacking machine" into any of the RJ45 socket in the LAN,
following by pressing a button to trigger the attacking string against
192.168.1.1. After that, unplug the "hacking machine" and connect to a
pc, download the password.dat from the "hacking machine", and start the
cracking process. By utilizing the advantages of FPGA architecture,
a hardware cracker can be appended for embedded based cracking process.
Any optional module can be designed in Verilog-HDL and attach to the
FPGA for all-in-one hacking purpose. The advantages of FPGA implementation
over the conventional hardcore processors will be deepened in the
following section, with a lot of case-studies, comparisons and
wonderful examples.
 
Tips:
  
**FTP server is recommended to be installed in "hacking machine"
because of two reasons:
 
  1) Any new or value-added updates (trojans, exploits, worms,...) to
     the "hacking machine" can be done through FTP (online update).
    
  2) The grabbed information (password files, configuration files,...)
     can be retrieved easily.
    
Notes:
 
**Installation of FTP server in uClinux is done by editing
  userland/.config file to enable the ftpd service.    
 
**This is just a demostration, it is nearly impossible to get a
  unix/linux machine that do not utilize file-permission and shadow
  to protect the password file. This article is purposely to show
  the migration of hacking methodology from PC-based into embedded
  system based.
 
 
--[ 6. - What The Advantages Of Using FPGA In Hacking ?
 
    Well, this is a good question while someone will ask by using a $50
Rabbit module, a 9V battery and 20 lines of Dynamic C, a simple "hacking
machine" can be implemented, instead of using a $300 FPGA development
board and a proprietary embedded processor with another $495. The answer
is, FPGA provides a very unique feature based on its architecture that is
able to be hardware re-programmable.
 
    As what we know, FPGA is a well known platform for algorithm
verification in hardware implementation, especially in DSP applications.
The demand for higher bit rates by the wired and wireless communications
industry has led to the development of higher bit rate and low cost serial
link interface chips. Based on such considerations, some demands of
programmable channel and band scanning are needed to be digitized and
re-programmable. A new term has been created for this type of framework
as "software defined radio" or SDR. However, the slow adoption of SDR is
due to the limitation in Analog-to-Digital Converter(ADC) to digitize
the analog demodulation unit in transceiver module.
Although the sampling rate of the most advanced ADC is not yet to meet
the specification of SDR, but it will come true soon. In this case, the
application of conventional DSP chips such as TMS320C6200 (for
fixed-point processing) and TMS320C6700 (for floating-point processing)
are a little bit harder to handle such extremely high bit rates. Of
course, someone may claim its parallel processing technique could solve
the problem by using the following symbols in linear assembly language[15].
 
     Inst1
    || Inst2
    || Inst3
    || Inst4   
    || Inst5
    || Inst6
     Inst7 
 
    The double-pipe symbols (||) indicate instructions that are in parallel
with a previous instruction. Inst2 to Inst6, these five instructions run
in parallel with the first instruction, Inst1. In TMS320, up to eight
instructions can be running in parallel. However, this is not a true
parallel method, but perform pipelining in different time-slot within a
single clock cycle.
Instead, the true parallel processing can only be implemented with
different sets of hardware module. So, FPGA should be the only solution to
implement a true parallel processing architecture. For the case of SDR that
is mentioned, it is just a an example to show the limitation of data
processing in the structure of resource sharing. Meanwhile, when we
consider to implement an encryption module, it is the same case as what
data processing do. The method of parallel processing is extremely worth to
enhance the time of key cracking process. Besides, it is significant to
know that the implementation of encryption module in FPGA is
hardware-driven. It is totally free from the limitation of any hardcore
processor structure that is using a single instruction pointer (or program
counter) to performing push and pop operations interactively over the stack
memory. So, both of the mentioned advantages: true-parallel processing, and
hardware-driven, are nicely clarified the uniqueness of FPGA's architecture
for advanced applications.
 
    While we go further with the uniqueness of FPGA's architecture,
more and more interesting issues can come into the discussion.
For hacking purpose, we focus and stick to the discussion of utilizing
the ability of hardware re-programmable in a FPGA-based "hacking machine".
We ignore the ability of "software re-programmable" here because it can be
done by any of the hardcore processor in the lowest cost. By applying the
characterictic of hardware re-programmable, a segment of space in flash
memory is reserved for hardware image. In Nios, it is started from
0x600000. This segment is available to be updated from remote through the
network interface. In advanced mobile communication, this type of feature
is started to be used for hardware bug-fix as well as module update [16]
purpose. It is usually known as Over-The-Air (OTA) technology. For hacking
purpose, the characteristic of hardware re-programmable had made our
"hacking machine" to be general purpose. It can come with a hardware-driven
DES cracker, and easily be changed to MD5 cracker or any other types of
hardware-driven module. Besides, it can also be changed from an online
cracker to be a proxy, in a second of time.
 
    In this state, the uniqueness of FPGA's architecture is clear now.
So, it is the time to start the discussion of black magic with the
characteristic of hardware re-programmable in further detail. By using
Nios-core, we explore from two points: custom instruction and user
peripheral. A custom instruction is hardware-driven and implemented by
custom logic as shown below:
 
       |---->|------------|
       |     |Custom Logic|-|
       | |-->|------------| |
       | |                  |
       | | |----------------||
    A ---->|               |-|
       |   |  Nios-ALU     | |----> OUT
    B ---->|               |-|
           |-----------------|          
       
By defining a custom logic that is parallel connected with Nios-ALU inputs,
a new custom instruction is successfully created. With SOPC Builder, custom
logic can be easily add-on and take-out from Nios-ALU, and so is the case
of custom instruction. Now, we create a new custom instruction, let say
nm_fpmult(). We apply the following codes:
 
    float a, b, result_slow, result_fast;
 
    result_slow = a * b;            //Takes 2874 clock cycles
    result_fast = nm_fpmult(a, b);  //Takes 19 clock cycles
 
From the running result, the operation of hardware-based multiplication
as custom instruction is so fast that is even faster than a DSP chip.
For cracking purpose, custom instructions set can be build up in respective
to the frequency of operations being used. The instructions set is easily
to be plugged and unplugged for different types of encryption being
adopted.
 
    The user peripheral is the second black magic of hardware
re-programmable. As we know Nios-core is a soft processor, so a bus
specification is needed for the communication of soft processor with other
peripherals, such as RAM, ROM, UART, and timer. Nios-core is using a
proprietary bus specification, known as Avalon-bus for
peripheral-to-peripheral and Nios-core-to-peripheral communication purpose.
So, user peripherals such as IDE and USB modules are usually be designed to
expand the usability of embedded system. For hacking purpose, we ignore the
IDE and USB peripherals because we are more interested to design user
peripheral for custom communication channel synchronization. When we
consider to hack a customize system such as building automation, public
addressing, evacuation, security, and so on, the main obstacle is its
proprietary communication protocol [17, 18, 19, 20, 21, 22].
 
    In such case, a typical network interface is almost impossible to
synchronize into the communication channel of a customize system.
For example, a system that is running at 50Mbps, neither a 10Based-T
nor 100Based-T network interface card can communicate with any module
within the system. However, by knowing the technical specification of such
system, a custom communication peripheral can be created in FPGA. So, it is
able to synchronize our "hacking machine" into the communication channel of
the customize system. By going through the Avalon-bus, Nios-core is
available to manipulate the data-flow of the customize system. So, the
custom communication peripheral is going to be the customize media gateway
of our "hacking machine". The theoretical basis of custom communication
peripheral is come from the mechanism of clock data recovery (CDR). CDR is
a method to ensure the data regeneration is done with a decision circuit
that samples the data signal at the optimal instant indicated by a clock.
The clock must be synchronized as exactly the same frequency as the data
rate, and be aligned in phase with respect to the data. The production of
such a clock at the receiver is the goal of CDR. In general, the task of
CDR is divided into two: frequency acquisition and timing alignment.
    Frequency acquisition is the process that locks the receiver clock
frequency to the transmitted data frequency. Timing alignment is the phase
alignment of the clock so the decision circuit samples the data at the
optimal instant. Sometime, it is also named as bit synchronization or phase
locking. Most timing alignment circuits can perform a limited degree of
frequency acquisition, but additional acquisition aids may be needed. Data
oversampling method is being used to create the CDR for our "hacking
machine". By using the method of data oversampling, frequency acquisition
is no longer be put into the design consideration. By ensuring the sampling
frequency is always N times over than data rate, the CDR is able to work as
normal. To synchronize multiple of customize systems, a frequency synthesis
unit such as PLL is recommended to be used to make sure the sampling
frequency is always N times over than data rate. A framework of CDR
based-on the data oversampling method with N=4 is shown as following in
Verilog-HDL.
 
**The sampling frequency is 48MHz (mclk), which is 4 times of
  data rate (12MHz).
 
    //define input and output
   
    input data_in;
    input mclk;
    input rst;
   
    output data_buf;
   
    //asynchronous edge detector
 
    wire reset = (rst & ~(data_in ^ capture_buf));
 
    //data oversampling module
 
    reg capture_buf;
 
    always @ (posedge mclk or negedge rst)
      if (rst == 0)
        capture_buf <= 0;
      else
        capture_buf <= data_in;
   
    //edge detection module
 
    reg [1:0] mclk_divd;
 
    always @ (posedge mclk or negedge reset or posedge reset)
      if (reset == 0)
        mclk_divd <= 2'b00; 
      else
        mclk_divd <= mclk_divd + 1;
 
    //capture at data eye and put into a 16-bit buffer
 
    reg [15:0] data_buf;
   
    always @ (posedge mclk_divd[1] or negedge rst)
      if (rst == 0)
        data_buf <= 0;
      else
        data_buf <= {data_buf[14:0],capture_buf};
 
    Once the channel is synchronized, the data can be transferred to
Nios-core through the Avalon-Bus for further processing and interaction.
The framework of CDR is plenty worth for channel synchronization in various
types of custom communication channels. Jean P. Nicolle had shown another
type of CDR for 10Base-T bit synchronization [23]. As someone might query
for the most common approach of performing CDR channel synchronization in
Phase-Locked Loop (PLL). Yes, this is a type of well known analog approach,
by we are more interested to the digital approach, with the reason of
hardware re-programmable - our black magic of FPGA. For those who
interested to know more advantages of digital CDR approach over the analog
CDR approach can refer to [24]. Anyway, the analog CDR approach is the only
option for a hardcore-based (Scenix, Rabbit, SC12 ,...) "hacking machine"
design, and it is sufferred to:
 
1. Longer design time for different data rate of the communication link.
   The PLL lock-time to preamble length, charge-pump circuit design,
   Voltage Controlled Oscillator (VCO), are very critical points.
  
2. Fixed-structure design. Any changes of "hacking application" need
   to re-design the circuit itself, and it is quite cumbersome.
         
    As a result, by getting a detail technical specification of a
customized system, the possibility to hack into the system has always
existed, especially to launch the Denial of Service attack. By disabling
an evacuation system, or a fire alarm system at emergency, it is a very
serious problem than ever. Try to imagine, when different types of CDRs
are implemented in a single FPGA, and it is able to perform automatic
switching to select a right CDR for channel synchronization. On the other
hand, any custom defined module is able to plug into the system itself
and freely communicate through Avalon-bus. Besides, the generated hardware
image is able to be downloaded into flash memory through tftp. By following
with a soft-reset to re-configure the FPGA, the "hacking machine" is
successfully updated. So, it is ready to hack multiple of custom systems at
the same time.  
 
case study:
 
**The development of OPC technology is slowly become popular.
  According to The OPC Foundation, OPC technology can eliminate
  expensive custom interfaces and drivers tranditionally required
  for moving information easily around the enterprise. It promotes
  interoperability, including amongst different computing solutions
  and platforms both horizontally and vertically in the emterprise [25].
 
--[ 7. - What Else Of Magic That Embedded Linux Can Do ?
 
    So, we know the weakness of embedded system now, and we also know
how to utilize the advantages of embedded system for hacking purpose.
Then, what else of magic that we can do with embedded system? This is a
good question.
 
    By referring to the development of network applications, ubiquitous
and pervasive computing would be the latest issues. Embedded system would
probably to be the future framework as embedded firewall, ubiquitous
gateway/router, embedded IDS, mobile device security server, and so on.
While existing systems are looking for network-enabled, embedded system
had established its unique position for such purpose. A good example is
migrating MySQL into embedded linux to provide online database-on-chip
service (in FPGA) for a building access system with RFID tags. Again,
the usage and development of embedded system has no limitation, the only
limitation is the imagination.
 
Tips:
 
**If an embedded system works as a server (http, ftp, ...), it is going
  to provide services such as web control, web monitoring,...
**If an embedded system works as a client (http, ftp, telnet, ..), then
  it is more likely to be a programmable "hacking machine"   
 

--[ 8. - Conclusion
 
    Embedded system is an extremely useful technology, because we can't
expect every processing unit in the world as a personal computer. While
we are begining to exploit the usefullness of embedded system, we need
to consider all the cases properly, where we should use it and where we
shouldn't use it. Embedded security might be too new to discuss seriously
now but it always exist, and sometime naive. Besides, the abuse of embedded
system would cause more mysterious cases in the hacking world.
 

--=[ References
 
 
 
 
 
 
[6] Nios Development Kit, Stratix Edition: Getting Started User Guide
    (Version 1.2) - July 2003
   
http://www.altera.com/literature/ug/ug_nios_gsg_stratix_1s10.pdf
 
 
[8] Nios Hardware Development Tutorial (Version 1.1) -
    July 2003
   
http://www.altera.com/literature/tt/tt_nios2_hardware_tutorial.pdf
 
[9] Nios Software Development Tutorial (Version 1.3) -
    July 2003
   
http://www.altera.com/literature/tt/tt_nios_sw.pdf
 
[10] Designing With The Nios (Part 1) -
     Second-Order, Closed-Loop Servo Control
     Circuit Cellar, #167, June 2004
    
[11] Designing With The Nios (Part 2) -
     System Enhancement
     Circuit Cellar, #168, July 2004
    
[12] Nios Tutorial (Version 1.1)
     February 2004
    
http://www.altera.com/literature/tt/tt_nios_hw_apex_20k200e.pdf
    
[13] Microtronix Embedded Linux Development -
     Getting Started Guide: Document Revision 1.2
    
http://www.pldworld.com/_altera/html/_excalibur/niosldk/httpd/
     getting_started_guide.pdf
    
[14] Stratix EP1S10 Device: Pin Information
     February 2004
    
http://www.fulcrum.ru/Read/CDROMs/Altera/literature/lit-stx.html
 
[15] TMS320C6000 Assembly Language Tools User's Guide
    
http://www.tij.co.jp/jsc/docs/dsps/support/download/tools/
     toolspdf6000/spru186i.pdf
 
[16] Dynamic Spectrum Allocation In Composite Reconfigurable Wireless
     Networks
     IEEE Communications Magazine, May 2004.
    
http://ieeexplore.ieee.org/iel5/35/28868/01299346.pdf?tp=&arnumber=
     1299346&isnumber=28868
   
[17] TOA - VX-2000 (Digital Matrix System)
    
http://www.toa-corp.co.uk/asp/catalogue/products.asp?prodcode=VX-2000
    
[18] Klotz Digital - Vadis (Audio Matrix), VariZone (Complex Digital
     PA System For Emergency Evacuation Applications)
    
http://www.klotz-digital.de/products/pa.htm
    
[19] Peavey - MediaMatrix System
    
http://mediamatrix.peavey.com/home.cfm
    
[20] Optimus - Optimus (Audio & Communication), Improve
     (Distributed Audio)
    
http://www.optimus.es/eng/english.html
    
[21] Simplex - TrueAlarm (Fire Alarm Systems)
    
http://www.simplexgrinnell.com/
    
[22] Tyco - Fire Detection and Alarm, Integrated Security Systems,
     Health Care Communication Systems
    
http://www.tycosafetyproducts-us.com
    
[23] 10Base-T FPGA Interface - Ethernet Packets: Sending and Receiving
    
http://www.fpga4fun.com/10BASE-T.html
    
[24] Ethernet Receiver
    
http://www.holmea.demon.co.uk/Ethernet/EthernetRx.htm
 
[25] The OPC Foundation
    
http://www.opcfoundation.org/
 
[26] www.ubicom.com (IP2022)
 
 
 
 

|=[ EOF ]=---------------------------------------------------------------=|