C29x 설정
easyDSP와 연결
easyDSP는 MCU 부트 모드를 사용하여, 필요한 부팅 동작을 수행합니다.
플래시 프로그래밍을 위해서는 UART 부트모드를 사용하며, 사용자 프로그램을 수행하기 위해서는 Flash 부트모드를 사용합니다.
OTP 변경으로 부트 모드 핀 및 부트 모드를 변경 가능하나, 여기서는 공장 출하시 Default 부트모드 기준(BOOTPIN_CONFIG Key != 0x5A)으로 설명드립니다.
Default 부트 모드에서는 다음과 같이 부트 모드가 설정됩니다.
Boot Mode
GPIO72
(Default boot mode select pin 1)GPIO84
(Default boot mode select pin 0)Parallel IO
0
0
UART
0
1
CAN
1
0
Flash
1
1
따라서 UART 부트가 필요할 때, easyDSP에서 MCU에 리셋을 걸면서 (-RESET핀 = low), /BOOT핀을 Low로 출력하므로
GPIO84를 풀업 처리하고, GPIO72을 -BOOT핀에 연결합니다.
User OTP 변경을 통한 Custom Boot Mode를 사용할 경우, 상기 사항을 고려하여 custom boot mode를 설계하시기 바랍니다.
easyDSP 헤더 RX, TX 핀은 MCU UARTA GPIO42, GPIO43에 연결해주세요.![]()
기타 주의 사항 하기 참조 바랍니다.
- easyDSP cable이 연결되는 5x2 header의 전원핀(#4)은 3.3V 연결
- easyDSP /RESET신호와 MCU /XRS 신호사이에 리셋 IC같은 회로가 삽입된다면, 삽입된 회로는 /RESET신호를 0.5초내에 /XRS에 전달해야 함.
- RX, TX 신호선에 풀업 저항을 설치할 시에 그 값이 수 KOhm이상이 되어야 함
- 사용자 프로그램에서 부트핀 GPIO72, GPIO84를 사용할 수 있습니다.
프로젝트 설정
프로젝트 세팅의 Basic 탭에서 MCU의 뱅크모드를 지정해야 합니다. 뱅크모드는 0 또는 2만 지정할 수 있습니다.
easyDSP는 MCU의 뱅크모드를 변경하지 않습니다. MCU의 뱅크 모드는 Uniflash 또는 CCS를 사용하여 사용자가 설정해야 합니다.
여기서는 MCU의 뱅크 모드를 easyDSP에게 알려주는 역할입니다.
멀티 코어 MCU C29의 경우, 프로젝트 설정시 추가 주의 사항이 있습니다.
먼저 실제 동작하는 코어의 출력 파일을 모두 지정해야 합니다. easyDSP는 지정된 출력파일을 사용해 변수 모니터링 등을 수행합니다.
또한 easyDSP가 변수 모니터링하는 코어를 'Communication with easyDSP' 체크박스에 지정합니다.
하기 그림은 MCU에서는 CPU1, CPU2, CPU3 코어가 동작되며, easyDSP는 모든 코어의 변수를 모니터링하는 경우입니다.
![]()
SysConfig 설정
easyDSP는 SysConfig 기반 생성된 코드를 사용합니다. 하기에서는 SysConfig 1.22.0기준으로 설명드립니다.
easyDSP Pod가 연결된 CPU1에 대해서 UART 관련 설정을 하기와 같이 수행합니다.
먼저 이름은 반드시 ezUART이어야 하며, Baudrate는 사용자가 적절히 선정 가능하지만 easyDSP 프로젝트 설정값과 동일해야 합니다.
8 bit data, 1 stop bit, no parity bit의 데이타 규격을 사용하며, Receive Interrupt Mask, Transmit Interrupt Mask 인터럽트를 활성화시키며 그 순위는 최하순위(값 255)로 설정합니다.
UARTA GPIO42, GPIO43을 사용하셔야 합니다. 기타 부분은 하기 그림 참조 바랍니다.
\
easyDSP 관련 함수 호출
easyDSP 통신용 파일 (easy29x.h, easy29x.c)을 사용자 프로젝트에 포함하시기 바랍니다. 버전에 따라 파일 이름이 다를 수 있습니다. 해당 파일은 easyDSP 프로그램이 인스톨된 폴더에서 \source\C29x에서 찾을 수 있습니다. 그리고 CPU1 사용자 프로그램에서 각종 초기화 함수가 호출된 이후, easyDSP_init()을 호출합니다. 이로써, 변수 모니터링이 가능하게 됩니다.
변수 이름
easyDSP가 CPU1 변수만 모니터링할 경우 사용자가 지정한 변수 이름이 그대로 표시되나, 여러 개 코어의 변수를 모니터링할 경우 각 코어간 변수 이름을 구분하기 위해 CPUn(n=1,2,3)의 경우 'n:변수이름'처럼 사용자가 지정한 변수 이름 앞에 'n:'이 추가됩니다. 예를 들어 CPU1의 변수 abc의 경우 1:abc로 표기됩니다.
플래시 사용시 섹션 주소 정렬
플래시 사용시 데이타가 저장될 섹션의 시작 주소가 최소 8 바이트 또는 권장 16바이트에 얼라인되도록 요구됩니다.즉 ,섹션 시작 주소의 최하위 번지가 0x0, 0x8 로 마감되어야 합니다. 아래 TI에서 제공하는 링커 커맨드 파일을 보시면 , 기본 섹션에 대해 palign(8)을 적용하여 이를 반영하고 있습니다. 사용자가 섹션을 새로 생성할 경우에도 동일하게 적용되어야 합니다.
![]()
Code Composer Studio 설정
easyDSP는 플래시 프로그래밍을 위해 hex 파일을 사용합니다. 매 사용자 프로그램 컴파일마다 hex 파일이 생성될 수 있도록, CPU1 프로젝트의 Post-build steps의 마지막 단계에서 하기 빨간 줄을 추가합니다. 기본 세팅으로 수행되는 Post-build steps의 이전 단계에서 오류가 없어야, hex 파일 내용이 적합하게 생성됩니다. CPU2, CPU3 프로젝트에서는 해당 작업이 필요하지 않습니다.
기타 주의 사항
1. easyDSP는 MCU의 뱅크모드를 변경하지 않습니다. 뱅크 모드 설정은 사용자의 몫입니다.
2. easyDSP를 사용한 플래시 프로그래밍은 다음 조건에서만 지원됩니다 : F29H85x, CPU1/2/3, main 플래시, 뱅크 모드 0 또는 2, Device Life Cycle HS-FS