MPLAB/MPLAB Xpress IDE (Cloud기반)

MPLAB Xpress IDE (Cloud 기반)

ElectricShock 2016. 2. 17. 12:47

MPLAB Xpress IDE 가 새로 출시됬다.

▼바로가기 사이트

http://www.microchip.com/mplab/mplab-xpress


여기 사이트로 가서 

하단에 있는 3개의 버튼중 가장 오른쪽에 있는 My Account를 누르면

Cloud상에서 자유롭게 Coding작업을 할 수있다.

.

.

.

https://java.com/ko/download/windows-64bit.jsp

▲여기서 Java 8버전 다운로드


.

.

.

기존 프로그램은 다운받아서 설치하는 과정에서 많은 번거로움이 있었다.

알다시피 MPLAB은 본래 Assembly Language 기반이고, C Language를 사용하려면 Plug-In을 얹어야하는 불편함이 이만저만이 아니었다.


그래서 나온게 Cloud기반.

ID가 없다면 가입하면 되고,

가입시 E-mail, PW만 잘 적고 나머지는 그냥 칸만 적당히 채워넣으면 된다.

장점은 컴퓨터에 프로그램을 설치하지 않도 되고

웹상의 코드와 연동된다. (자세한건 좀 써봐야 알것같다.)



단점이 있다면 XC8 Compiler로 인해

▼아래 xc.h 해더파일이 포함된다.

#include <xc.h>


Hi-TechCCS-C 에 익숙한 사람이라면 과거 버젼인 MPLAB IDE를 이용하는걸 권한다.

이들 컴파일러와 Microchip사의 계약이 만료되서 더이상의 지원이 안되는 관계로 

XC8을 비롯한 MPLAB X용 Compiler를 내놓았지만

많은 개발자들이 전부터 써온 Hi-Tech와 CCS-C를 애용해서 Microchip사에서도 애로사항이 많았을듯하다.


이런 상황을 XC8의 사용으로 유도하기위해 MPLAB Xpress IDE를 출시하지 않았을까 조심스레 추측해본다.


xc8을 다운받는 경로(파일이 큰편이다).txt



▼해더파일 선언시 구조들

#ifndef     MCC_H       //MCC.H 해더선언 (#endif를 만날때까지의 선언에 대당한다.)

#define MCC_H      //MCC.H 해더선언 (앞으로 MCC_H로 불린다.)

#include <xc.h>         //XC8 Compiler 설치시 생성되는 해더파일

#include "pin_manager.h"

#include <stdint.h>

#include <stdbool.h>

#include "clc1.h"      //추가시킨코드

#include "pwm6.h"    //추가시킨코드

#include "pwm7.h"    //추가시킨코드

#include "tmr4.h"      //추가시킨코드

#include "tmr6.h"      //추가시킨코드

#define _XTAL_FREQ  500000 

#endif        //MCC.H를 위한 선언 끝!.



▼xc.h 해더파일의 내부를 보면 아래와 같다.

#ifndef _XC_H_

#define _XC_H_

#ifdef __XC8

#include <htc.h>              //htc.h 해더파일을 포함하고 있다.

#endif


#endif //_XC_H


▼htc.h 해더파일의 내부를 보면 다음과 같다.

#ifndef _HTC_H_

#define _HTC_H_


#if defined(__CCI__) && !defined(_XC_H_)

#warning "CCI projects should use the top-level support file xc.h\nIncluding xc.h instead"

#include <xc.h>

#endif


/* Definitions for _HTC_EDITION_ values */

#define __LITE__ 0

#define __STD__ 1

#define __PRO__ 2


/* common definitions */


#define ___mkstr1(x) #x

#define ___mkstr(x) ___mkstr1(x)


#define _OMNITARGET ((void *)0xFFFFFFFF)


extern const char __xc8_OPTIM_SPEED;


#pragma intrinsic(__builtin_software_breakpoint)

extern void __builtin_software_breakpoint(void);


#if defined(__DEBUG)

#define __debug_break() __builtin_software_breakpoint()

#else

#define __debug_break() ((void)0)

#endif


/* HI-TECH PICC / PICC-Lite compiler */

#if defined(__PICC__) || defined(__PICCLITE__)

#include <pic.h>

#endif


/* HI-TECH PICC-18 compiler */

#if defined(__PICC18__)

#include <pic18.h>

#endif


/* MPLAB C18 Compatibility Header */

#ifdef __18CXX

#include <pic18.h>

#endif


/* HI-TECH dsPICC compiler */

#if defined(__DSPICC__)

#include <dspic.h>

#endif


/* HI-TECH C for PIC32 */

#if defined(__PICC32__)

#include <pic32.h>

#endif


#endif