2012-05-16 9 views
5

저는 데스크톱 응용 프로그램 작성을 위해 Visual Studio를 사용하고 있습니다. 매우 사용하기 쉽고 사용하기 쉽습니다.Visual Studio의 임베디드 코드 개발 (특히 C18이 포함 된 PIC 용)

가능한 경우 Visual Studio에 포함 된 코드를 작성하려고합니다. 예를 들어, C18 또는 다른 유사한 C 기반 언어로 PIC18Fxxx 시리즈 용 .hex 파일을 생성 할 수 있습니까?

+0

http : // stackoverflow도 참조하십시오.com/questions/4762268/free-alternative-to-mplab-pic-development – Clifford

답변

1

불행히도 Visual Studio의 PIC에 대한 공식적인 지원은 없습니다. 그리고 나는 누군가가 이것을 "비공식적 인"방식으로 만들었다는 말을 결코 들어 보지 못했습니다. 이러한 기능에 대한 소문과 추측이 항상 있었지만 깨닫지는 못했습니다. 따라서 대답은 "no"입니다. 표준 Visual Studio IDE로 .hex 파일을 컴파일 할 방법이 없습니다.

+0

IronRuby 및 IronPython과 같은 다른 많은 기능은 "표준"VS에서 실행되지 않지만 VS는 확장되도록 설계되었습니다. 원하는대로 IDE로 사용하고 외부 도구를 플러그인하는 여러 가지 방법이 있습니다 –

+0

이것은 아마도 가장 좋은 대답은 아니 었습니다. 외부 컴파일러와의 비공식적 인 통합은 사람들이 오랫동안 해왔 던 것 이상입니다. –

7

저는 PIC를 포함한 임베디드 시스템으로 많은 개발 작업을 수행하고 있으며 Visual Studio를 주로 사용합니다. 주로 VIsual Assist for C 작업을 좋아하기 때문입니다. 내가 무엇

그래서 나는 코드이 모든 PIC 관련 하드웨어

장소에서 스텁을 넣어 의미 http://code.google.com/p/seatest/

을 테스트하기 위해 PC와 사용 단위 테스트 도구에 대한 코드를 컴파일 .... 멀티 대상

그런 다음 TOols 메뉴를 통해 빌드 도구를 트리거하거나 장치에서 디버깅을 위해 기본 IDE (예 : MPLAB)로 바꿀 수 있습니다.

+0

나는 또한 컴파일러를 실행하고 오류 메시지를 클릭 할 수 있도록 모든 출력 (경고 ​​/ 오류)을 시각적 인 스튜디오 압축 가능 형식으로 변환하는 작은 프로그램을 작성하는 것에 대해 생각하고 있었고 문제의 코드 행으로 연결될 것입니다. –

+0

필자는 잠시 동안 임베디드 코드 용 gcc를 구동하고 오류를 포착하려고했지만, 2 번째 엔지니어가 프로젝트에 참여하고 소스 레벨 디버깅없이 무력감을 느낄 때 IDE를 gdb와보다 쉽게 ​​인터페이스 할 수있는 것으로 전환했습니다. 궁극적으로 전적으로 개발 플랫폼을 바꿨습니다. –

+0

이전에 본능을 보았습니다. 일반적으로 누군가를 유닛 테스트에 참여 시키면 소스 레벨 디버깅을 PC에서 수행 할 수 있으며, 대부분의 경우 매우 많은 소프트웨어가 작동합니다. 신속하게, 가끔씩, 칩에서 디버깅하기 위해 원시 툴로 떨어질 필요가 있습니다 (특히 PIC에서는 컴파일러가 잘못된 코드를 생성 할 수있는 습관이 있습니다 ***) –

2

Visual Studio (특히 Visual C++)는 코드 편집기로 사용할 수 있습니다. 어떤 타겟을위한 코드이지만 완전한 IDE로는 부족하다.

MPLAB에는 프로젝트의 메이크 파일을 출력하는 기능이 있습니다. 그런 다음 Visual Studio에서 "Makefile Project"를 만들고 build 명령을 입력하여 사용할 수 있습니다. MPLAB이 생성하는 makefile은 MS nmake가 아닌 GNU make와 호환되며, 설치해야합니다. Visual Studio의 코드 탐색 기능과 인텔리 센스 기능을 최대한 활용하려면 모든 프로젝트 헤더와 소스를 Visual Studio 프로젝트에 추가해야합니다. 이는 빌드에 영향을 미치지 않지만 소스 탐색, 자동 완성 등을 위해 파싱됩니다. 프로젝트에서 사용하는 명령 줄 또는 컴파일러 미리 정의 된 매크로도 빌드 설정에 추가되어야하며 모든 컴파일러 및 추가 라이브러리 헤더 폴더의 경로도 프로젝트에 포함되어야합니다.

이 방법은 잘 작동하며 코드를 편집하고 작성할 수 있지만 대용량 프로젝트의 경우에만 가치가 있습니다. 컴파일러 출력은 VS가 이해하는 형식으로 배치하기 위해 마사지가 필요할 수 있습니다. 예를 들어 오류 메시지를 클릭하면 해당 파일/행으로 이동합니다. 나는 과거에 그렇게하기 위해 GNU sed 유틸리티를 사용했다. 코드를로드하고 디버깅하려면 MPLAB을 시작해야합니다. 열려 있으면 Visual Studio가 MPLAB에서 자동으로 변경 한 사항을 자동으로 선택합니다 (두 환경 모두에서 저장되지 않은 변경 사항을 저장하지 마십시오!).

이 방법의 문제점은 MPLAB 프로젝트를 VS 파일 세트 및 설정과 동기화 할 수 없다는 것입니다. 수동으로해야합니다.

또 다른 문제는 MPLAB에서 생성하는 메이크 파일에 프로젝트 설정의 게시/사전 바이블드 단계가 포함되지 않는다는 것입니다. makefile을 손으로 수정하거나 단계를 pre/make/post하는 배치 파일을 만들고 프로젝트에서 일반 make 대신 호출 할 수 있습니다.