MCX 사용 


본 페이지는 사용자가 Configuration Tools 및 MCUXpresso SDK를 사용하는 것을 전제하고 있습니다.

하드웨어 설정

ISP를 사용하여 플래시 프로그래밍하기 위해 easyDSP는 MCU의 ISP 관련핀에 연결되어야 합니다.
ISP 관련핀은 MCU 데이타시트를 참조하세요. 공장 출하값은 CMPA 설정에 의해 변경될 수 있음에 유의하세요.




기타 주의 사항 :
- /RESET 핀은 MCU에 리셋을 줄 수 있도록 적절히 연결  (/RESET핀의 Low상태 유지 기간은 약 500msec)
- easyDSP /RESET신호와 MCU RESET_B 신호사이에 리셋 IC같은 회로가 삽입된다면, 삽입된 회로는 0.5초내에 신호를 전달해야 함.
- easyDSP 헤더 RX, TX 신호는 easyDSP 포드 내부에서 100k 오옴으로 풀업되어 있습니다.
- 부트핀 동작 모드 및 주의 사항은 여기를  참조하시기 바랍니다.

Configuration Tools 설정

앞서 하드웨어 설정에서 사용된 핀을 설정합니다. TX, RX 핀의 Identifier에 각각 EZ_TX, EZ_RX를 입력합니다.
해당핀에 할당된 LPUART 채널은 MCU마다 다를 수 있습니다.
아래 그림에서는 RXD는 36번핀, TXD는 35번핀을 사용하며, 이 핀에 LPUART2가 할당되어 있는 경우입니다.
각 핀의 성질을 Rounting Details 탭과 같이 설정합니다. 특히 풀업을 설정하는 것에 주의하세요.


Configuration Tool에서 Peripherals이 활성화되어 있지 않으면 이를 활성화시킵니다.


그리고 Drivers에 LPUART 모듈을 추가합니다.

추가된 모듈에 대해서 설정합니다.
Custom name 박스를 클릭하고 이름을 LPUARTez로 설정합니다.
인터럽트 모드를 사용하며 LPUART 채널을 선정합니다. 여기서는 앞서 예제와 같이 LPUART2을 사용합니다.
또한 각종 설정치를 아래 그림을 참조하여 설정합니다.
적절한 클럭 관련 설정도 필요합니다. 필요시 ConfigTools>Clocks 메뉴에서 해당 LPUART의 클럭을 활성화 및 설정해주세요.
Baudrate 설정치는 easyDSP 프로젝트에서 사용될 보드레이트와 동일하게 설정합니다.
TX, RX FIFO watermark는 모두 0으로 설정합니다.
인터럽트는 Receiver data register full interrupt만 허용하며 그 순위는 최하위로 설정합니다. MCX-A의 경우 7을 입력합니다.
인터럽트 핸들러 이름은 LPUARTez_SERIAL_RX_TX_IRQHANDLER으로 설정합니다.

 

easyDSP 제공 소스 파일 및 함수 호출

제공되는 소스파일 (easyMCX.h, easyMCX.c)을 프로젝트에 포함하시기 바랍니다.
해당 파일은 easyDSP 프로그램이 인스톨된 폴더 아래 \source\MCX에서 찾을 수 있습니다.
main.c에 easyMCX.h를 include하여 주시고, main 함수에서 초기화 루틴 이후 easyDSP_init() 함수를 호출하시기 바랍니다.
앞서 Configuration Tools에서 설정한 바, LPUART에 대한 핀 설정, 클럭 설정, 통신 설정이 main 함수 초기 BOARD_InitHardware 함수에서 수행되어야 합니다.
혹시나 easyDSP 모니터링이 제대로 동작하지 않을 경우 이를 재확인하시기 바랍니다.

IDE 설정

1. 매 컴파일마다 hex 파일 (인텔 형식) 이 생성되어 출력 파일과 동일한 폴더에 동일한 이름으로 위치하도록 IDE를 설정해주세요. Hex 파일은 플래시 프로그래밍할 때 사용됩니다. 
   예를 들어 MCUXpresso IDE 사용시 Post-build steps에 헥스파일 생성을 지정할 수 있습니다.

2. easyDSP로 모니터링을 수행하기 위해서는, 출력 파일 (예:*.axf)에 debug information이 반드시 포함되어야 합니다. 이를 위해  컴파일러/링커 옵션을 적절히 선택하시기 바랍니다.
3. 최적화 또는 링커 세팅에 따라, 선언되었지만 실제 사용되지 않는 변수는 debug information에 포함되지 않아 easyDSP에서 모니터링되지 않을 수 있습니다. 
이 경우에도 해당 변수를 모니터링하려면 적절한 IDE 세팅이 필요합니다. 예를 들어 GNU 링커 옵션에서 --gc-sections를 제거합니다.