PSoC4 소프트웨어 설정


easyDSP는 플래시 프로그래밍을 지원하기 위해 Single-application bootloader 구성만을 지원합니다. 다른 구성에서는 변수 모니터링은 가능하나 플래시 프로그래밍이 불가능함에 유의 바랍니다.
하기에 easyDSP를 사용하기 위한 소프트웨어 설정을 PSoC Creator 4.4 기준으로 설명합니다.
부트로더 및 부트로더블 프로젝트를 작성하는 방식 자체는 업체의 매뉴얼을 참조하세요.
 

STEP 1 : Bootloader 프로젝트 작성

먼저 컴포넌트 카탈로그에서 하기와 같이 schematic을 작성합니다.
Bootloader 컴포넌트의 이름을 Bootloader_UART로 변경합니다.
MCU 부하를 크게 주지 않는 이상 다른 컴포넌트 추가도 가능합니다 (예 LED)

먼저 Bootloader_UART 컴포넌트 설정은 다음과 같습니다.
Communication component을 UART_1으로 설정하고, Optional commands 를 설정합니다. 나머지는 디폴트값을 사용하세요.
필요시 Security key를 활성화하여 사용 가능합니다.

 

UART 컴포넌트에서 UART Basic 탭은 디폴트 그대로 사용합니다. 통신 방식은 115200bps, 8bits, one stop, no parity로 고정입니다.
UART Advanced 탭은 Buffer size를 변경함에 주의하세요.

 

UART 핀을 사용자 보드에 맞게 선정하시기 바랍니다. 본 예제에서는 P0.4, P0.5에 할당되었습니다.

마지막으로 main() 함수 상단에 Bootloader_UART_Start() 호출하시기 바랍니다.
이로서 easyDSP 사용을 위한 부트로더 프로젝트가 완료되었습니다.

   

STEP 2 : Bootloader 프로젝트 굽기

상기 Bootloader 프로젝트를 컴파일한 후, 디버거를 사용하여 해당 MCU 플래시에 프로그래밍하여 주세요.
필요시 해당 플래시 영역을 Protection 할 수 있습니다.
Bootloader 프로그램 프로그래밍은 easyDSP로 수행될 수 없습니다.

한번 Bootloader 프로그램이 플래시에 프로그래밍된 이후에는 easyDSP를 사용하여 Bootloadable 프로젝트를 플래시에 프로그래밍 할 수 있습니다.

STEP 3 : Bootloadable 프로젝트 작성

먼저 컴포넌트 카탈로그에서 하기와 같이 schematic을 작성합니다.UART 컴포넌트의 이름을 UART_ezDSP 로 변경합니다.
기타 프로그램 동작을 위한 다른 컴포넌트는 여기에 표시하지 않았습니다.

각 컴포넌트의 설정은 하기와 같습니다.
먼저 Bootloader 컴포넌트 설정입니다. General 탭은 디폴트 그대로. Dependencies 탭에서 이전 Bootloader 프로젝트의 파일을 등록하세요.

UART 컴포넌트 설정입니다.
UART Basic 탭에서는 easyDSP 통신 속도를 설정하시기 바랍니다. 부트로더의 통신 속도와 동일할 필요는 없습니다. 하지만 easyDSP 프로젝트에서 설정된 bps와 동일해야 합니다.
또한 8비트, 패러티 없음, 1 스톱비트로 설정하세요.
UART Advanced 탭에서 하기 그림과 같이 설정해주세요.

 

easyDSP를 위한 UART 인터럽트 순위는 최하위로 설정 바랍니다.

UART 핀은 사용자 보드에 맞게 선정하시기 바랍니다. 앞서 부트로더 프로젝트와 동일한 핀 선정이 되어야 합니다. 본 예제에서는 P0.4, P0.5에 할당되었습니다.

 

STEP 4 : easyDSP_init() 함수 호출

easyDSP 통신을 위해 제공되는 소스파일(easyPSoC4.h, easyPSoC4.c)을 프로젝트에 포함하시기 바랍니다.
해당 파일은 easyDSP 프로그램이 인스톨된 폴더에서 \source\PSoC 에서 찾을 수 있습니다.

마지막으로 main() 함수에서 easyDSP_init() 함수를 호출하시기 바랍니다.
이로서 easyDSP 사용을 위한 부트로더블 프로젝트가 완료되었습니다.

 

STEP 5 : IDE 설정

1. easyDSP로 변수를 억세스하기 위해서는, 출력 파일(예:*.elf)에 debug information이 반드시 포함되어야 합니다.이를 위해 어셈블리/ 컴파일러/링커 옵션을 적절히 선택하시기 바랍니다.
2. 매 컴파일마다 cyacd 파일이 생성되어 출력 파일과 동일한 폴더에 동일한 이름으로 위치하도록 해주세요. cyacd 파일은 플래시 프로그래밍할 때 사용됩니다.
3. 최적화 또는 링커 세팅에 따라, 선언되었지만 실제 사용되지 않는 변수는 debug information에 포함되지 않아 easyDSP에서 모니터링되지 않을 수 있습니다. 
이 경우에도 변수를 포함되게 하기 위해서라면
    예를 들어 PSoC Creator 4.4에서 
링커 옵션에 'Remove Unused Sections' 항목을 False로 설정하시기 바랍니다.
    다른 개발 환경이라면 적절히 해당하는 세팅이 필요합니다.