[Microchip]/PIC12F_PIC10F2011. 3. 1. 19:10

[PIC12F EVM] 무료컴파일러 HI-TECH C, MPLAB을 이용한 개발환경 설정

[PIC12F EVM] 무료컴파일러 HI-TECH C, MPLAB을 이용한 개발환경 설정

PIC12F 시리즈는 MPLAB설치시 무료로 설치되는 HI-TECH PCC컴파일러를 이용하면 C언어로 프로그램 할 수 있다.

MPLAB Project Wizard를 이용하여 간단히 프로젝트 파일을 생성할 수 있다. PIC12F683 보드를 테스트 하는 예제를 작성 해보자.



컴파일러 옵션에서 HI-TECH C컴파일러를 설정한다.



적당한 프로젝트 명을 선택하고 저장하면 프로젝트 파일이 생성된다.



옵션으로 드라이버 파일의 경로를 설정할 수 있다.



PIC12 개발환경 설정완료
컴파일 잘 된다. 8핀의 소형 MCU이지만 요즘은 소프트웨어 발전이 좋아 C언어로 쉽게 개발 할수 있어 저렴하고 편리하게 프로젝트를 진행 할수 있는것 같다.
(요즘 PIC12F675 사용할 일이 있었는데 하드디스크가 고장나는 바람에 예전 정리해 둔것이 없어 다시 정리해 둔다. 자료 백업의 중요성을 다시한번 생각하며..)
Posted by nexp

댓글을 달아 주세요

[Microchip]/dsPIC33-SM2009. 4. 25. 01:00

dsPIC (Microchip MPLAB C30) 에서 printf 사용 하기

dsPIC (Microchip MPLAB C30) 에서 printf 사용 하기
엔지니어에게 있어서 가장 강력한 디버깅 무기라는 printf를 임베디드에서 사용하기란 쉽지 않다. 특히 컴파일러마다 버젼마다 옵션이 달라서 고생을 많이 하는데... Microchip사의 MPLAB C30의 경우 write()함수를 오버라이딩 하면 된다고 한다.
 
#include <stdio.h> 추가하고 아래 write()함수를 추가해 주면 된다.
 
int write(int handle, void *buffer, unsigned int len)
{
 int i;
 for (i = len; i; --i)
 {
  char c = *(char*)buffer++;
  
  U1TXREG = c;
  while(!U1STAbits.TRMT);
 }
 return(len);
}
 
그리고 PIC은 Heap영역을 따로 할당해 주어야 한다.
MPLAB Project Builder Option에서 힙영역을 할당해 주면 된다.
 
 
물론 printf를 사용하면 20%정도 오버헤드가 걸린다.
 
printf 사용하지 않았을 경우
section                    address   length (PC units)   length (bytes) (dec)
-------                    -------   -----------------   --------------------
.reset                           0                 0x4             0x6  (6)
.ivt                           0x4                0xfc           0x17a  (378)
.aivt                        0x104                0xfc           0x17a  (378)
.text                        0x200               0x2cc           0x432  (1074)
.const                       0x4cc                0x32            0x4b  (75)
.dinit                       0x4fe                 0x8             0xc  (12)
.isr                         0x506                 0x2             0x3  (3)
__FOSCSEL                 0xf80006                 0x2             0x3  (3)
__FOSC                    0xf80008                 0x2             0x3  (3)
__FWDT                    0xf8000a                 0x2             0x3  (3)
                     Total program memory used (bytes):          0x78f  (1935) 5%
                        Total data memory used (bytes):            0x2  (2) <1%
 
 
printf 사용했을경우
section                    address   length (PC units)   length (bytes) (dec)
-------                    -------   -----------------   --------------------
.reset                           0                 0x4             0x6  (6)
.ivt                           0x4                0xfc           0x17a  (378)
.aivt                        0x104                0xfc           0x17a  (378)
.text                        0x200              0x116a          0x1a1f  (6687)
.const                      0x136a                0x3c            0x5a  (90)
.dinit                      0x13a6                0xbc           0x11a  (282)
.isr                        0x1462                 0x2             0x3  (3)
__FOSCSEL                 0xf80006                 0x2             0x3  (3)
__FOSC                    0xf80008                 0x2             0x3  (3)
__FWDT                    0xf8000a                 0x2             0x3  (3)
                     Total program memory used (bytes):         0x1e99  (7833) 23%
                        Total data memory used (bytes):           0xd0  (208) 10%

Posted by nexp

댓글을 달아 주세요

[Microchip]/PIC_EVM2008. 3. 13. 21:32

[MPLAB]8.02 업데이트 버젼

MicroChpis의 다른 PC에서 작업하던 프로젝트가 내 PC에서 작업하려 하다보니 정상적으로 열리지 않는다... 이런 무식한 프로그램을 봤나...

MPLAB를  업데이트를 해볼까?
MPLAB8.02가 나왔군...

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&redirects=mplab


MPLAB Software

Downloads

Associated Files and Release Notes

MPLAB IDE v8.00 Full Release Zipped Installation

Release Notes for MPLAB IDE v8.00

MPLAB IDE v8.00 Build Project Patch

 

MPLAB IDE v8.02 Interim Release Zipped Installation

Release Notes for MPLAB IDE v8.02


MPLAB 8.02로 업데이트 후 정상적으로 프로젝트가 로드 된다.
역시 소프트웨어는 주기적으로 업데이트 해 주어야 하는것 같다.
Posted by nexp
TAG MPLAB

댓글을 달아 주세요

[Microchip]/PIC12F_PIC10F2008. 1. 23. 18:26

[PIC10Fx EVM] 개발환경 설정 - PIC10F202를 이용한 LED제어

[PIC10Fx EVM] 개발환경 설정 - PIC10F202를 이용한 LED제어


세계 초소형 MCU PIC10F 시리즈는 SOT-23 타입으로 작은것 하나로 모든것이 용서되는 MCU이다. 저렴하고 소형이라 로직으로 구현해야 하는 부분을 초소현으로 대체하지 않을까...
C언어를 이용하여 간단히 LED제어 해 보았다.


Hitech-C를 이용한 개발환경 설정
MPLAP IDE를 설치하면 무료로 제공되는 HI-TECH C를 이용하면 PIC10F 시리즈를 쉽게 C언어로 프로그램을 작성할 수 있다.
프로젝트 위자드로 생성하고 디바이스를 설정한다.(PIC10F202)



동일하고 컴파일러를 HI-TECH C로 설정한다.



옵션에서 패스를 잡아주면 기존 예제를 동일하게 적용할 수 있다.



소스코드
0.5초 주기로 LED 점등 예제... 기존 예제를 그대로 사용할 수 있도록 했다.
기존 PIC와 다른점은 TRIS레지스터의 접근이 명령어로 되어 있어 C에서 접근이 불가능하다. HI-TECH는 control 키워드를 두어서 ASM에서 명령어로 인식할 수 있도록 정의 되어 있었다.
volatile unsigned char control TRISGPIO @ 0x06;

그러면 아래와 같이 해석된다.
 MOVLW b'00001000'
 TRIS GPIO   ;

전체 소스코드
#include "system.h"

void main(void)
{
 SystemInit();
 
 Led1Init();
 while (1)
 {
  Led1On();
  Delay(500);
  Led1Off();
  Delay(500); 
 }
}


테스트 동영상
PIC10F202를 이용한 LED On/Off 제어


무료컴파일러 CC5x를 이용한 PIC10F 컴파일러 개발환경 설정
컴파일러는 무료로 다운 받을 수 있는 CC5x도 가능하다. HI-TECH-C도 가능하지만..제한이 있다.
CC5x는 무료이지만 #define 메크로 정의에 제한이 있다. 상당히 마음에 안든다.
 
무료로 다운받을 수 있는곳
http://www.bknd.com/cc5x/index.shtml

다른것은 동일하고 컴파일러 옵션만 잡아 주면 된다.


Posted by nexp

댓글을 달아 주세요

  1. 비밀댓글입니다

    2011.07.28 10:47 [ ADDR : EDIT/ DEL : REPLY ]

[Microchip]/PIC_EVM2007. 12. 12. 19:47

PICkit2 EVM사용기 - 간단한 C언어 개발환경 설정


 PICkit2 EVM사용기 - 간단한 C언어 개발환경 설정

 

[테스트 예제 소스]


Pic사용자 카페에서 공구한 PicKit2을 예전버젼으로 제대로 동작하지 않아... 새롭게 환경설정을 해 볼 생각으로 간단한 환경설정법에 관해 기록해 보았다.

하드웨어 기술이 발전하면서 각 MUC회사마다 전략적으로 지원을 많이 해 주는것 같아 가난한 엔지니어들 에게는 나날히 편하고 값싸게 공부 해 볼 수 있는것 같다.

PICKIT2 환경설정에 필요한 소프트웨어는 IDE환경 MPLAB IDE v8.00  과, 프로그래머 소프트웨어 PICkit 2 V2.40 Install

Microchip에서 제공하는 MPLAB를 이용하면 정말 간단하게 컴파일해서 다운로드 해 볼 수 있는데 이번에 MPLAB 8.0을 이용하니 정말로 간단해 졌다. 예전 생각하면 눈물이 앞을 가릴정도로...
따라오는 CD에도 소프트웨어가 있지만 아무래도 최신의 버젼을 받기위해 다운로드 하는것이 좋다.

MPLAB 8.0 다운로드
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002

MPLAB IDE v8.00 Full Release Zipped Installation

MPLAB IDE v8.00 Build Project Patch

 

 Pickit2 다운로드

Software Firmware

Size

 

D/L

PICkit 2 V2.40 Install

1.99 MB

 

PICkit 2 V2.40 Install with .NET Framework

28.3MB

 

Readme for PICkit 2 V2.40

30 KB

 

PICkit 2 Firmware V2.10

22 KB

 

Device File Update V1.41.00 for PICkit 2 V2.40

17 KB

 

PK2CMD V1.01 PICkit 2 Command Line Interface

54 KB

 

       

Code Examples

Size

 

D/L

PICkit 2 Starter Kit Lessons

452 KB

 

PICkit 2 Debug Express Lessons (PIC16F887)

510 KB

 

PICkit 2 Debug Express Lessons (PIC16F917)

 

 MPLAB 환경설정

소프트웨어 설치가 끝나면 MPLAB를 실행하고 메뉴에서 [Project]->[New] 새로운 프로젝트를 생성한다.

새로운 프로젝트 생서을 위해 Project Wizard를 이용하면 상당히 편한데...

Pickit2 데모보드의 Device는 18F887 이므로 디바이스를 선택한다.

 

 

컴파일러는 여러가지가 있지만 C를 지원하고 데모보드의 MCU(16F887)를 무료로 컴파일 할 수 있는 HiTECH 데모버젼을 이용하면 된다. 여담이지만 컴파일러는 여러 버젼을 이용해 봤지만 그래도 성능도 좋고 다른 컴파일러와 호환성이 좋은것 같다.

 

 

프로젝트파일이 생성되면 기본 프로젝트 골격이 생성된 것을 확인할 수 있다. 메뉴의 [View]->[Project]에서 확인할 수 있다.

 

 

프로젝트가 생성되었으니 소스코드를 작성하고 컴파일 하면 프로그램 생성은 끝이다.

 

 

 

소스코드 작성이 완료되고 컴파일 하면 Hex파일이 생성된다.

 

생성된 파일을 다운로드 하기위해 메뉴에서 [Programmer]->[PICkit2]를 선택하고 [Programmer]->[Program]으로 다운로드 할 수 있다.

 

 

 

참고로 프로그램 다운로드가 완료되면 [Programmer]->[Release from Reset]로 보드를 리셋해 주어야 프로그램이 샐행된다.

 

 

 

몇가지 수정하여 LED를 쉬프트 하는 예제를 작성해 봤는데... 동영상이 예전만 못하네...

Posted by nexp

댓글을 달아 주세요