EMBEDDED/STM322010. 10. 21. 11:21

이번에는 [STM32F103] 개발환경 구축(2) 에서 생성한 .bin파일을 퓨징해보자.

노트북에 시리얼포트가 없기 때문에 Serial-to-USB 케이블을 사용해야 한다.
필자는 다음의 케이블을 사용한다.


  HL-340 드라이버


그리고 해당 보드의 Serila은 숫놈으로 되어있기 때문에 Serial Cable은 암-암으로 준비해야 한다.

그리고 퓨징 프로그램인 Flash Loader Demostrator를 실행한다.

드라이버가 설치되서 제대로 포트가 인식되면 위와 같이 Port Name에 현재 사용하는 포트가 나와야한다.
Port name은 현재 사용하는 포트로 설정하고 나머지는 위와같이 설정한다.


위와 같은 에러가 나오는 이유는 현재 STM32보드는 BOOT모드와 일반모드 2가지가 있는데 일반모드로 보드를 켜고
퓨징프로그램을 실행했을때 나오는 화면이다.
현재보드에서는 점퍼를 이용하여 모드를 바꿀 수 있다. (점퍼를 빼면 BOOT 모드) 점퍼를 빼고 전원을 다시켠다.


다음과 같이 신호등의 파란불이 뜨면 정상적으로 보드가 인식되었다는 뜻이다.
Next를 클릭한다.


현재 보드의 메모리를 보여주는데 따로 설정하는건 없기 때문에 Next를 클릭!!


위의 Download to device의 Download from file에는 생성한 .bin파일의 경로를 입력한다.
erase necessary pages는 기존의 데이터를 지우고 퓨징하는 것이고 80000000번지에 .bin파일을 올려야한다.(80000000번지가 시작번지. 자세한거는 데이터시트 참조)

퓨징 성공!!
제대로 동작하는지 보드를 재부팅하고 확인한다.

'EMBEDDED > STM32' 카테고리의 다른 글

[STM32F103] 개발환경 구축(2)  (0) 2010.10.21
[STM32F103] 개발환경 구축 (1)  (0) 2010.10.21
Posted by 해해해해해해해해
EMBEDDED/STM322010. 10. 21. 10:12

IAR Embedded Workbench IDE를 실행하면 초기화면은 다음과 같이 나온다.


먼저 프로젝트를 생성한다. 메뉴에서 project -> Create New Project를 클릭한다.

다음과 같은 화면이 나오게 되는데 Empty project로 선택하고 OK를 클릭한다.
 

OK를 클릭하면 project를 저장하는 화면이 나온다. 우선 LED라는 이름으로 project를 저장해본다.

위와 같이 프로젝트가 하나 생성된다. 마우스를 가져다 우클릭을 하고 Option을 클릭한다.

위와같이 Device를 클릭하고 옆의 작은 아이콘을 클릭하면 툴에서 지원하는 칩들이 있는데 STM32f103VE버전이므로
ST->STM32F10xxE를 설정해주고 OK를 클릭한다.

output converter를 클릭하고 위와같이 설정한다.(output 파일 설정) 그리고 OK클릭

프로젝트 이름에서 마우스를 가져다 우클릭을 하고 Add->Add Group을 클릭한다.

그룹이름은 user라고 붙이고 (아무거나 해도 됨) OK 클릭!


위와 같이 user라는 폴더가 project하위에 만들어진다. 여기서 File메뉴를 클릭하고 New->file을 클릭한다.


그럼 위와 같이 새로운 텍스트창이 생성된다. 그럼 아래와 같이 코드를 작성해보자
(STM32F103을 기준으로 코드를 작성하였다.)
[-] Collapse
#define     MYRCC       (*(volatile unsigned long *) 0x40021018) // GPIO-B를 클럭인가해주는 주소
#define     RCC_APB2ENR (*(volatile unsigned long *) 0x40021018)
#define     GPIOB_CRL   (*(volatile unsigned long *) 0x40010C00)
#define     GPIOB_ODR   (*(volatile unsigned long *) 0x40010C0C)

void Delay(volatile int nCount);

int main(void)
{
    MYRCC = 8;
    GPIOB_CRL = (1 << 20);
    GPIOB_ODR = 0xFF;

    while(1)
    {
        GPIOB_ODR = 0xFF;
        Delay(60000);
        GPIOB_ODR = 0x00;
        Delay(60000);
    }
}
void Delay(volatile int nCount)
{
  for(; nCount != 0; nCount--);
}

(코드에 대한 설명은 패쓰!!)


이름은 main.c라고 지정하고 적당한 폴더에 저장한다. 다시 왼쪽에 프로젝트 목록에서 전에 생성한 user폴더에
마우스 우클릭으로 Add->Add files를 클릭한다. 그리고 방금 생성한 main.c를 찾아서 추가해준다.
main.c를 추가해주면 밑에 Output폴더가 자동으로 생성된다. 이 폴더에는 main.c를 컴파일 하고난 결과물이 저장된다.
F7을 눌러서 Make를 해보자.
(workspace 저장화면이 나오면 프로젝트 이름과 같이 생성해주던지 아무거나 지정하고 저장하면 된다.)

 컴파일 하면 위와 같은 화면이 코딩창 아래에 나온다.
그리고 왼쪽의 프로젝트 폴더에 다음과 같이 LED.bin파일이 생성된 것을 확인할 수 있다.

'EMBEDDED > STM32' 카테고리의 다른 글

[STM32F103] 개발환경 구축(3)  (0) 2010.10.21
[STM32F103] 개발환경 구축 (1)  (0) 2010.10.21
Posted by 해해해해해해해해
EMBEDDED/STM322010. 10. 21. 09:44

제조사 홈페이지

stm32와 관련 목록 링크

개발환경 구축에 필요한 프로그램 및 데이터시트 등이 제공된다.

Flash loader demonstrator 링크

Flash loader demonstrator은 컴파일해서 생성된 .hex나 .bin등을 플래쉬로 퓨징해주는 프로그램이다.

다운 받아서 설치!! (설치시 따로 설정해줘야하는 부분은 없으므로 패스..)

datasheet 링크

이 데이터시트에는 레지스터에 대한 설명이 없다. reference manual 이라고 자세히 나온 데이터시트가 따로있다.

reference manual 링크

그리고 마지막으로 통합개발환경 툴을 다운받아야하는데 Keil, IAR, RIDE 등 여러가지 툴들이 있는데 나는 IAR로 

사용했다.

IAR 공식홈페이지 링크

위의 화면과 같이 Downloads를 클릭한다. 

그러면 아래와 같은 화면이 나오게 된다.

IAR Embedded Workbench IDE 링크

여기서 30-day evaluation edition은 30일 체험판이다.

그리고 Kickstart edition은 날짜제한은 없지만 32KByte밖에 파일을 못 만든다. 간단한 학습용으로는 32KB도 충분하기

때문에 Kickstart edition을 다운받는다. (이거또한 설치시 따로 설정해줘야 하는것은 없기 때문에 패쓰)

'EMBEDDED > STM32' 카테고리의 다른 글

[STM32F103] 개발환경 구축(3)  (0) 2010.10.21
[STM32F103] 개발환경 구축(2)  (0) 2010.10.21
Posted by 해해해해해해해해