TI36 ccs 프로젝트 빌드 과정 CCS에서 프로젝트를 Build하거나 Rebuild 할 때 다음의 절차를 수행한다. 1. makefiles 자동생성 프로젝트의 활성 빌드 구성 폴더(디폴트로는 Debug 폴더)에 하나의 makefile과 여러 *.mk파일을 생성한다. makefile: 자동 생성된 *mk file들을 포함하는 메인 makefile 빌드에 참여하는 모든 소스파일은 아래 *.mk 파일에 정의되어 있다. objects.mk subdir.mk subdir_vars.mk 2. gmake를 사용하여 clean (optional) Rebuild Project 또는 Clean Project 선택시 gmake clean 명령을 사용하여 활성 빌드 구성 폴더의 .obj, .pp, .out 파일을 삭제하고, makefile 및 .map 파일.. 2024. 6. 12. TMS320F28388D ] 다중 ADC 사용시 변환 순서와 동기 다중 ADC 사용시 변환 순서와 동기에 대해 알아보는데 의식의 흐름순으로 작성되었다. 먼저 사전 설명을 하자면 TMS320F28388D 337-Ball ZWT 패키지는 Temp Sensor를 제외하고 총 24채널의 ADC 입력을 처리할 수 있다. 근데 그중에 3개(ADCINA0, ADCINA1, ADCINB1) 채널은 DAC 용도로도 사용된다. 예를 들어 DAC 3채널을 쓰면 ADC는 21채널만 쓸 수 있는거다. DSP의 ADC 모듈은 총 4개가 있다. ADC-A, ADC-B, ADC-C, ADC-D. 그리고 Temp Sensor는 DSP에 내장되어 있고 ADC-A 모듈과 이미 연결되어 있다. TI가 제공한 예제를 사용하면 쉽게 칩의 온도를 읽을 수 있다. 아래 그림은 ADC 모듈 블럭이다. .. 2024. 5. 1. TMS320F28388D ] SPI high-speed mode TMS320F2838x에서 지원하는 최대 SPI Clock speed는 기본적으론 12.5MHz인데 High-speed mode를 사용하면 50MHz까지 가능하다. High-speed mode를 사용하기 위한 제약사항과 사용 방법을 알아보자. 먼저 연결 시 특정 핀 구성을 따라야만한다. 칩에 SPI 모듈이 4개있는데 각 SPI는 아래 GPIO핀 먹스 옵션을 사용해야만 High-speed SPI를 사용할 수 있다. 그리고 capacitive load 때문에 High-speed mode는 single master에 single slave 연결만 지원한다. Reference : https://e2e.ti.com/support/microcontrollers/c2000-micr.. 2023. 11. 8. UniFlash 사용 방법 UniFlash 설치파일 링크 : https://www.ti.com/tool/UNIFLASH UNIFLASH Software programming tool | TI.com 20 MHz MCU with 128KB Flash, 10KB SRAM, 16-bit Sigma-Delta ADC, dual DAC, DMA, 2 OpAmp, 160 seg L MSP430FR2000 — 16 MHz MCU with 0.5KB FRAM, 0.5KB SRAM, comparator, UART/SPI, timer MSP430FR2032 — 16 MHz MCU with 8KB FRAM, 1KB SRAM, 10-bit ADC, UART/SPI www.ti.com CCS에서 빌드하면 기본 출력물이 .out인데 UniFlash 툴을 .. 2023. 9. 15. TMS320F28388D ] 부트 과정 Reset이 일어나면 먼저 PC(Program Counter)는 Reset Vector가 fetch되어있는 0x3FFFC0으로 설정된다. Reset Vector의 내용은 Boot ROM 영역에 있는 InitBoot 코드로 점프하는 것이다. Boot ROM은 한번만 프로그래밍 가능한 영역으로 공장 출하시 TI사가 부트로더 Software를 마스킹해둔 곳인데, 여기에 부트로더 역할을 하는 InitBoot 함수가 있다. InitBoot 코드가 실행되면 부트로딩을 위한 루틴을 수행하고 I/O 핀 상태에 따라 BootMode를 결정한 뒤 BootMode에 따라 온칩 메모리의 특정 Entry Point를 실행하게 된다. 참고로 Boot ROM에 마스킹된 Boot Code는 아래 경로에서 살펴볼 수 있다. C:\ti.. 2023. 8. 16. TMS320F28388D ] Reset Sources 유저매뉴얼의 Reset Sources 테이블 첫번째 열이 Reset Source 목록이고 첫번째 행이 각 Reset이 발생했을 때 초기화되는 여부를 표시한다. Yes인 것은 해당 회로가 리셋 된다는 뜻이고, - 는 해당회로 기존 상태로 남는다는 뜻이며, Hi-z는 하이 임피던스 상태라는 뜻이다. Power-On Reset (POR) POR 회로는 칩에 전원이 인가되고 안정된 상태에 이르기까지 칩을 계속 리셋 상태로 묶어두는 회로로, GPIO 핀들의 글리치를 억제하고, 칩이 깨끗하게 시동 될 수 있게한다. POR이 발생하면 칩의 모든 회로는 리셋상태가 되고, IO핀은 Hi-Z 상태가 되며, /XRS 핀은 Low 신호를 출력하게 된다. 이때 /XRS 핀의 출력 신호는 칩과 연결된 다른 IC 소자들을 리셋 시.. 2023. 8. 14. TMS320F28388D ] SPI Clocking Schemes / CPOL, CPHA 설정 TMS320F2838x칩 Clock Phase 설정에는 주의할 점이있다. 우선 SPI 통신을 하려면 CPOL(Clock Polarity)과 CPHA(Clock Phase)라는 두 가지 파라미터를 설정하는데 이 설정 조합에 따라 다음의 4가지 SPI 모드가 있다. 그리고 TMS320F2838x driverlib에도 Mode 설정이 존재하는데 CPOL은 동일하지만, CPHA를 설정할 때 주의가 필요하다. 보통은 CPOL, CPHA 설정에 따라 클럭과 데이터를 동기화하는 방법은 다음과 같다. CPOL = 0: IDLE 일 때 클럭이 LOW 레벨이다. CPHA = 0 : 데이터가 클럭의 first edge에서 캡쳐(샘플링)되고, 그 다음 edge에서 전파(출력)된다. CPHA = 1 : 데이터가 클럭의 seco.. 2023. 8. 14. TMS320F28388D ] CM, C28x 코어 진입점으로 점프 CM 먼저 CM코어의 경우는 Application 실행을 위한 Entry Point는 0x200001 이고 해당 주소로 점프하면 된다. https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/923512/tms320f28388d-cm-core-code-jump-to-execution-giving-meets-error-asking-for-how-to-do TMS320F28388D: CM core code jump to execution giving meets error, asking for how to do - C2000 microcontrollers forum - .. 2023. 5. 7. TMS320F28388D ] CSS에서 bin 파일 생성하는 법, filling a hole with 0xFF not 0x00 프로젝트를 빌드하면 기본적으로 .out 실행파일이 나오는데 바이너리 파일을 생성하기 위해서는 TI에서 제공하는 유틸을 사용하면 된다. 아래 경로에 있는 툴이고, 이걸 ccs의 post build step 기능으로 빌드와 동시에 bin 파일이 생성되게 할 수 있다. C:\ti\ccs[Version No]\ccs\utils\tiobj2bin 프로젝트 우클릭 - Build - Steps - Post-build steps 해당 부분에 아래 문구를 적는다. C28x 코어 "${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd200.. 2023. 4. 23. TMS320F28388D ] Flash API 사용 일단 아래 경로에 있는 FlashAPI 라이브러리를 복사해 프로젝트 안에 가져온다. C:\ti\c2000\C2000Ware_[Version No]\libraries\flash_api\f2838x\cm\lib 그리고 아래 경로의 FlashAPI를 사용하기 위한 헤더가 모여있는 폴더도 복사해서 프로젝트에 가져온다. C:\ti\c2000\C2000Ware_[Version No]\libraries\flash_api\f2838x\cm\include\FlashAPI 그리고 Include search path에 추가해준다. 복사해서 가져오지 않아도 c2000ware 폴더 내 경로를 추가하면 되긴하지만 선호하지 않는방법이다. 이제 아래 헤더를 include하면 FlashAPI를 가져다 쓸 수 있다. #include ".. 2023. 4. 20. 이전 1 2 3 4 다음