2013-07-27 5 views
0

x64 및 x86 아키텍처 및 어셈블리 언어 명령에 대해 배우고 있지만 독립 실행 형 프로세서에 실제로 프로그램을 작성하는 방법이 궁금합니다. avrs와 마찬가지로 MCU는 독립형이며 프로그래머를 사면 입력 및 출력 핀까지 lcds 및 gsm 모듈을 연결하여 자신의 휴대폰을 실제로 만들 수 있습니다. AVR을 사용하면 프로그래머를 컴퓨터 USB 포트에 연결하면 프로그램이 레코딩되면 mcu가 컴퓨터 및 화면에 연결되지 않고 실행됩니다. 내 질문은 어떻게 내 xc64 비트 프로세서를 컴퓨터 외부에서 프로그래밍 할 수 있으므로 내 자신의 LCD 또는 전자 모듈을 연결할 수 있습니다. 내가 실제 컴퓨터에서 x64 비트 어셈블리를 사용하여 읽은 모든 것을 유발할 수 있도록 도와주십시오. 또한 x64 브레이크 아웃 보드가 있습니다.x64 어셈블리의 독립 실행 형 64 비트 프로세서 프로그래밍

+0

일반적인 x64 프로세서는 약 1000 개의 핀이있는 칩에 제공됩니다. I/O 및 메모리 버스를 구현하려면 칩셋이 필요합니다. 당신은 그것을위한 브레이크 아웃 보드를 찾는 것이 매우 힘들 것입니다. 이들은 단순히 임베디드 애플리케이션 용으로 설계되지 않았습니다. –

+0

최신 칩은 CPU와 함께 노스 브리지 인 패키지를 가지고 있습니다. 그래서 사우스 브리지가 외부 부품으로 필요합니다 (플러스 일부 다른 지원 자료 - 예를 들어 RAM). 하지만 "x64 브레이크 아웃 보드"로 간주 될 수있는 단일 보드 컴퓨터가 많이 있습니다. –

+0

@ carl norum 나는 당신이 내가 배우고 성취하려고 노력하고있는 돈으로 맞다고 생각한다. 단일 보드 컴퓨터로 수행 할 수있는 일의 예가 있거나 사우스 브리지로 내 주변 장치 (lcds, ect)에 입력 출력을 구현하는 방법이 있습니까? 마더 보드는 마치 단일 보드 컴퓨터와 비슷하다고 잘못 말하고 싶습니다.이 싱글 보드 컴퓨터 중 하나의 어셈블리에서 코딩을 시작하는 방법과 비용은 얼마나 들지 요? – user2625876

답변

0

인텔에서 제공하는 프로세서에 대한 구체적인 설명서가 필요하지만 기본 아이디어는 칩이 16 비트 리얼 모드로 나타나고 마법 주소에서 코드 실행을 시작한다는 것입니다. 일반적으로 어떤 종류의 EEPROM 장치를 프로세서에 연결하여 코드를 해당 마법 주소에 놓습니다.

ROM에 쓰고 입력 한 16 비트 리얼 모드 어셈블리 코드는 원하는대로 프로세서 모드를 32 비트 및 64 비트 모드로 변경할 수 있습니다. 도중에 RAM 초기화도해야합니다. 인텔 머신 용 부트 ROM을 작업하면서 인텔이 메모리 초기화 코드를 비밀로 유지하기를 원했던 것 같습니다. 어쩌면 당신이 찾은 문서가 모든 것을 얻을 수 있도록 도울 것입니다. 그렇지 않으면 인텔의 판매/응용 프로그램 엔지니어와 상담해야 할 것입니다.

0

x86_64 조립이 쉽지 않습니다. 시도해 볼 수 있습니다 MenuetOS, 그것은 슈퍼 라이트 OS를 완전히 조립품으로 작성했습니다

1

임베디드 CPU 사용 경험으로 인해 타락했습니다. 당신이하려는 것은 작동하지 않을 것입니다.

  1. x86 CPU는 "브레이크 아웃 보드"에서 사용할 수 없습니다. 실행에 필요한 하드웨어를 너무 많이 지원하기 만하면됩니다. 가장 가까운 곳은 표준 컴퓨터 마더 보드입니다.

  2. 아마도 x86 CPU에는 온보드 플래시가 없습니다. 일반적으로 온보드 플래시 칩 (BIOS 칩)에서 부팅하여 하드 디스크 (예 : OS)에서 프로그램 드라이브 또는 기타 저장 장치. BIOS는 시스템별로 매우 다양하며 사용자가 직접 수정할 수없는 것으로 간주됩니다.

  3. x86 시스템에는 대개 쉽게 사용할 수있는 I/O가 많이 없습니다. 사용 가능한 대부분의 버스는 PCIe 또는 낯선 물건과 같이 작동하기 어려운 형태로되어 있습니다.

x86 용으로 개발하려면 독립 실행 형 x86 시스템이 아니라 컴퓨터 용으로 개발하십시오 (실제로는 존재하지 않음). 임베디드 시스템 용으로 개발하려면 다른 것을 선택하십시오.

관련 문제