Menu Close

OpenCR 1.0 프로젝트 생성 및 기본 코드 작성.

프로젝트 생성

Workspace 설정을 마치면 이제 프로젝트를 만들어 보자..
많은 설정으로 인하여 메모를 하지만…
빠른 개발을 위해서 기본 프로젝트는 백업해두고 복원하는 식으로 개발을 하는게 좋을거 같다.
나보다 엄청 급하게 프로젝트를 만들어내야 하는 사람은..  여기(준비중) 를 통해 관련된 프로젝트를 다운로드 할 수 있다.

비어있는 Workspace 의 경우 다음의 화면을 볼 수 있다.

1. 프로젝트 생성
File -> New -> C Project 를 선택한다.

프로젝트 이름을 입력, 프로젝트 타입과 툴체인을 선택 후, Finish 버튼을 누릅니다.

프로젝트가 생성이 되면 빈 프로젝트를 확인 할 수 있습니다.

2. 프로젝트 기본 설정
빈 프로젝트를 생성을 확인 하고 기본 설정을 진행하기 위하여 생성된 프로젝트를 선택 후, Project -> Properties 를 선택합니다.

C/C++ Build -> Behavior 탭에 Enable parallel build 체크버튼을 선택하여 컴파일(Build) 속도를 향상 시킬 수 있다.

Workspace 에서 설정한 Formatter 설정이 되어 있는지 확인, 아닐경우, Enable project specific settings을 선택 하여 원하는 설정으로 변경한다.

3. 펌웨어 작성
3-1. 기본 폴더 만들기 
비어있는 프로젝트를 선택 후, 마우스 오른쪽 버튼 클릭, New -> Folder 를 선택합니다.

프로젝트 폴더 밑에 src 소스폴더를 만들고, src폴더 하단의 서브 폴더를 추가적으로 생성합니다.

상단과 같은 방법으로 아래와 같이 폴더를 만든다.

3-2. 기본 소스코드 추가
각 폴더의 들어갈 기본 소스코드를 추가한다.
소스코드 생성방법은 추가하고자 하는 폴더를 선택 후 오른쪽 버튼을 눌러서 New -> Header File 혹은 Source File 을 선택해서 선택한다.

경로와 파일명을 입력후 Finish 버튼을 누른다.

다음 이미지와 같이 상단의 방법으로 작업한다.

소스파일을 생성후 각 파일에 기본적인 초기화 함수코드를 추가합니다.

ap.h

#include "hw.h"
void apInit(void);
void apMain(void);

ap.c

#include "ap.h"
void apInit(void) {
}
void apMain(void) { 
  while(1){

  } 
}

bsp.h

#include "def.h"
void bspInit(void);

bsp.c

#include "bsp.h"
void bspInit(void){

}

def.h

#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdarg.h>

hw_def.h

#include "def.h"
#include "bsp.h"

hw.h

#include "hw_def.h"
void hwInit(void);

hw.c

#include "hw.h"
void hwInit(void){
bspInit();

}

main.h

#include "hw.h"
#include "ap.h"

main.c

#include "main.h"
int main(void){
  hwInit();
  apInit();
  apMain();
}
소스코드 내용을 모두 작성했다면 프로젝트를 빌드를 해봅니다.

아래의 그림과 같이 컴파일 콘솔에는 에러를 출력합니다… T_T..

이 문제는 include 경로를 지정하지 않아 해당 파일을 찾지 못해서 그렇습니다. 그럼 관련 설정방법으로는 다음을 참고해 주세요.
3-3. 빌드 옵션 설정
빌드옵션을 설정하기 위해 프로젝트를 선택 후, Project -> Properties 를 선택합니다.

프로젝트를 설정하기 위해 Settings 를 누르면 타겟설정이 되지 않았다고 메세지가 나오며, OK 버튼을 눌러서 설정을 계속 진행합니다.

처음으로 타겟보드를 선택해야 합니다.  아래의 그림처럼 타겟 CPU 를 검색 및 선택합니다.

링커스크립트 파일이 없다는 메세지가 나오며, 링커스크립트 파일은 나중에 추가할것이므로 Cancel 버튼을 누릅니다.

Tool Settings 탭에 C Compiler -> Symbols 에 1개의 정의를 추가합니다.

C Compiler -> Directories 에 기존에 추가했던 프로젝트 폴더를 추가합니다.
Tool Settings 에서 사용하지 않는 코드를 제거하기 위해 옵션을 선택합니다. 최적화 옵션은 초기에는 디버깅을 위해서 최적화 하지 않습니다.
Linker 옵션의 최적화 옵션에서 사용하지 않는 코드 제거 옵션을 활성화 합니다.
이제 OK 버튼을 눌러 다시 프로젝트 빌드(Ctrl + B)를 하면 Build 는 성공했지만, 링커스크립터 파일을 추가하지 않아 발생하는 Warning 메세지가 출력이 되었습니다.

3 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *