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로 설정하시기 바랍니다.
다른 개발 환경이라면 적절히 해당하는 세팅이 필요합니다.![]()