CCS 버전이 12.x 버전으로 변경됨에 따라 사용하던 11.x 버전 및 관련 SDK를 삭제하고, 새롭게 개발환경 구축을 하면서 그 과정에 대해 기록해본다. C2000WARE SDK 설치 사용할 MCU는 TMS203F2811PBKA로 C2000 계열에 포함됨으로 C2000WARE SDK를 설치한다. 아래 링크로 TI 공홈의 C2000WARE SDK를 설치한다. (23-12 기준 version: 5.01.00.00) ControlSUITE 라는 SDK가 있는데 업데이트지원은 중단되고, C2000WARE로 대체되었기 때문에 필요에 따라 설치를 고려할 수 있다. C2000WARE Software development kit (SDK) | TI.com lock Windows Installer for C2000W..
FLASH API FLASH API 란 무엇인가? 📌 Flash API (Flash Application Program Interface) TI에서 제공하는 라이브러리와 함수들의 집합 사용자 Application 상에서 프로세서의 내부 플래시를 사용할 수 있음 📌 Flash API가 제공하는 함수들 함수명 설명 Flash_Erase() Flash 에서 선택한 섹터를 Erase 해주는 함수 Flash_Program() Flash 에서 데이터를 Program해주는 함수 Flash_Verify() Flash 에서 데이터가 올바로Program 됐는지 검증해주는 함수 Flash_ToggleTest() 프로그램의 Flash API 사용을 위한 클럭 설정이 올바로 됐는지 테스트 해주는 함수 Flash_DepRecov..
목차 소프트웨어 개발의 흐름 모든 소프트웨어 개발은 흐름이 비슷하지만 마이컴의 경우에는 다음의 플로우 차트와 같이 개발이 진행된다. TMS320F28x C 컴파일러 TMS32F28X C언어 특징 ANSI/ISO Standard ISO Standard C(ISO/IEC 9899:1990) Kernighan and Ritchie's "The C Programming Language" 모든 라이브러리 함수들은 ISO C 라이브러리 표준에 따름 Output File(COFF) Common Object File Format C코드와 데이터를 메모리 영역에 링크한 파일 소스레벨 디버깅 지원 인터페이스 Edit, Compile, Optimize, Assemble, Link 를 지원하는 통합 개발 환경 개발환경 내에서..
목차 ECAP 란 ? 📌 Enhanced capture의 약자로 간단하게 말해서 시간변위의 analog data를 digital로 바꾸는 동작을 의미한다. ECAP 모듈의 특징 32bit 타이머를 기반으로 한다. (Overflow없이 42.9sec 신호 타이밍 검출 가능) 4개의 32bit Time stamp 레지스터를 가지고 있다. 입력 신호의 Prescaling이 가능하다. 2가지 동작모드(Absolute Time-Stamp mode, Time Difference Mode) APWM Mode(Auxilary PWM) Capture를 사용하지 않을 때는 eCAP 모듈을 PWM모듈과 같이 사용하는 것을 말한다. Abosolute Time-stamp Mode 📌 이 모드에서는 PWM입력 신호의 Rinsin..
TI 에서 제공하는 ccs 라이브러리 구조 분석 예를 들어 ADC Registers 의 Address 는 DataSheet를 찾아보면 위와 같이 정의 되어 있다. TI 에서 제공하는 라이브러리는 위의 Address 어떻게 참조하여 호출하는 것 일까 ? 그 답은 DSP2833x_Header_nonBIOS.cmd 파일에 있다. DSO2833x_Headers_nonBIOS.cmd 파일에 위와 같이 "MEMORY > PAGE 1:" 위 치에 아래와 같이 ADC Register 주소와 그 Register 크기가 명시되어 있다. 그리고 위와 같이 SECTIONS 부분에서 아래와 같이 AdcRegsFile 네임을 PAGE1의 ADC에서 참조하도록 명시되어 있다. DSO2833x_Headers_nonBIOS.cmd 파..
I2C 통신 LoopBack Test SOURCE TR28335_I2c.h /*=============================================== * * FILE : TR28335_I2c.h .2017 * TITLE : TR28335 I2C (Inter integrated circuit) * *===============================================*/ #ifndef __TR28335_I2C_H__ #define __TR28335_I2C_H__ #ifdef __cplusplus extern "C" { #endif #include void InitI2c(void); void i2cLpb(void); Uint16 I2caWData(Uint16 saddr, Uin..
CAN (Controller Area Network) ? Bosch사에서 자동차 전장용으로 개발한 비동기식 직렬 통신의 한 방식 2가닥(CAN H, CAN L)의 CAN BUS에 접속된 다수의 주변 장치들 간에 Half-Duplex 통신이 가능함 멀티 마스터 구조를 가지며 N : N 통신이 가능함 Differential 신호 방식을 사용해 전기적인 노이즈에 매우 강하고, 하드웨어적인 오류 검출 및 처리 기능이 있기 때문에 높은 신뢰성을 가지 고있음. 주로 자동차에서 사용되지만 항공기, 각종 산업용 제어기, 빌딩 관리 등 사용 분야가 확대되는 추세임 TMS320F28335 eCAN Module CAN protocol version 2.0B 지원 데이터 속도 최대 1Mbps 32개의 사서함 수신 또는 전송 ..
GPIO 설정 Step 1. 핀의 기능을 계획한다. F2833X 는 멀티 플렉싱 방식으로 하나의 핀을 GPIO로 사용할 수도 있고 최대 3개까지의 DSP의 부가기능을 사용하기 위한 핀으로 선택할 수 있다. Step 2. 내부 풀업(pull-up)저항 사용여부 선택 GPIO pullup disable 레지스터(GPAPUD, GPBPUD, GPCPUD)를 이용하여 내부 풀업저항의 사용여부를 선택한다. 기본값으로 GPIO~GPIO11은 풀업저항을 사용하지 않는 것으로 설정되어 있고 GPIO12~GPIO79는 사용하는 것으로 되어있다. Step 3. 입력 Qualification 선택 특정 핀을 입력으로 사용할 때, 필요한 입력 Qualification을 선택한다. GPACTRL, GPBCTRL, GPAQSEL..