현재 이 글을 작성한 CCS 환경은 아래 사진과 같습니다.

 

Figure 1. CCS Version

Figure 1 과 같은 버전의 CCS 환경에서 프로젝트 파일을 빌드하는 중에 아래와 같은 Error가 발생했습니다.

 

This project was created using a version of DSP/BIOS tools that is not currently Installed: 5.42.1.09. Please Install the DSP/BIOS tools of this version, or migrate the project to one of the supported versions.

 

Figure 2. Error message

Error의 내용 대로라면 DSP/BIOS tools의 어떤 프로그램을 프로젝트에서 요구하는 5.42.1.09를 설치하면 될 것 같은데 App Center를 설치하지 않아서 어디서 업데이트를 진행해야 할지 헤매게 되었습니다.

 

다음 번에 같은 상황에서 빠른 해결을 진행할 수 있도록 아래에 대체 방법을 기술하도록 하겠습니다.

 

DSP/BIOS & XDC tools 업데이트 방법

우선 TI 사에서 제공하는 설치파일을 받을 수 있는 링크를 첨부합니다.

 

http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/index.html

 

TI Embedded Software Products - INDEX

Embedded Software Product Downloads Title Description TI-RTOS The TI-RTOS Real-time Operating System makes it easier to develop applications for TI microcontrollers, microprocessors, and DSPs. TI-RTOS downloads may include a real-time multitasking kernel,

software-dl.ti.com

위의 경로에서 

 

Figure 3. DSP/BIOS

 DSP/BIOS 부분을 들어가게 되면 Figure 4 와 같이 DSP/BIOS 5.x 가 나오며 이 안에 Figure 5 창이 나오며 여기서 에러를 발생시킨 버전의 업데이트 파일을 다운 받아 설치를 진행하면 됩니다.

 

Figure 4. DSP/BIOS 5.x
Figure 5. DSP.BIOS Product Releases

파일을 다운받아 설치를 하고 다시 CCS로 접속하면

 

Figure 6. New Products Discovered

Add Discovered Products 라는 창이 나타나고 Finish를 누를 수 있도록 되어있을텐데 저 같은 경우에는 또 다른 Error가 발생했습니다.

 

정확하지는 않지만 xdctools기 뭔가 필요하다는 것처럼 보여서 위의 TI 사에서 제공하는 링크에서 마찬가지로 

XDCTools 3.25.03.72 를 설치하였습니다. 이 파일은 다운로드 받기위해서는 TI사의 계정 로그인이 필요하였습니다.

 

마찬가지로 설치를 진행하고 다시 CCS를 실행하게 되면 

 

Figure 7. New Products Discovered 2

다시 Add Discovered Products 라는 창이 나타나고 Finish를 누르게 되면 CCS를 재부팅 해야한다는 메세지가 뜨게 되며 재부팅 후에 에러가 발생하였던 프로젝트파일을 빌드하게 되면 에러가 사라지게 됩니다.

 

 

'TI' 카테고리의 다른 글

IQmath  (0) 2017.09.19
#16002-D build attribute vendor section TI missing in "...": compatibility cannot be determined  (0) 2016.09.23
IQmath에 대해서...

 

IQmath를 사용하는 이유는 Floating point number를 지원하지 않는 Fixed point processor 타입의 MCU를 사용할경우

 

곱셈, 나눗셈의 연산처리 속도가 느리다는 점을 보완하여 함수의 처리 속도를 향상하기 위해서 사용합니다.


특히나 SYSCLK 이 느린 저가의 MCU의 경우엔 전체적인 시퀀스의 시간을 줄여서 더 많은 알고리즘을 탑재하기 위한 최적화 작업에


필요로 하지 않나 싶습니다.

 

IQmath를 사용하기 위한 기본 셋팅

 

우선 TI 사에서 제공하는 controlSuite를 설치하게 되면

 

C:\ti\controlSUITE\libs\math

 

다음과 같은 경로에 iqmath library들이 들어있는것을 확인할수 있는데요.

 

여기서 진행하는 것은 


iqmath library V1.6.0,     


CCS 6.1.2,     


Compiler version TI v6.4.6,      


TMS320F28027 환경에서 테스트를 진행하였습니다.

 

 

폴더 안에 들어가면 다음과 같은 목록이 보이게 될텐데 여기서 doc 폴더안에는 IQmath library 사용법에대해 적혀있는 가이드북이 들어있습니다.

 

다음은 싱크웍스에서 가져온 IQmath 사용법에대한 간략한 정리 입니다. 


<출처 : http://www.mcublog.co.kr/647 >


이를 참고해서 프로젝트를 셋팅해보고자 합니다.


우선 첫번째는 배제시켜도 되는게 요즘은 controlSuite에서 제공하는것을 사용하면 될것 같습니다. 


옛날버전을 필요로 한다면 위에 링크를 따라 다운로드 받으시면 됩니다.


두번째로 실험을 하기위한 기본 프로젝트는 생성되었다고 가정하고 다음과 같이 library와 header 파일을 프로젝트안에 넣고 설정을 해줍니다.






그리고 커맨드 파일을 아래와 같이 추가해주면 셋팅은 완료입니다.




IQmath의 사용법, 간략한 정리



 우선 IQmath는 실수를 정수로 변환하여 사칙연산을 수행하는 기법이기 때문에 내가 가진 데이터의 범위를 알고있어야 원하는 값에 근사한 값을 


얻을수 있습니다.  IQ로 표현할수있는 범위는 아래와 같습니다.


<출처 : IQmath_Quickstart.pdf 파일>

 

보면 알수있다 싶이 iq값이 증가함에 따라 소수점 이하 부분의 분해능이 좋아지고 지수 부분의 범위는 줄어드는 것을 알수있습니다.


IQmath로 표현할수 있는 숫자는 2^31까지 입니다. (2,147,483,648) 


마지막 자리수는 부호 비트입니다.


IQ15 + IQ15를 하면 IQ15가 되고 서로다른 Q값은 덧셈, 뺄셈을 하기위해 Q를 동일하게 맞추어 주어야 합니다.


또한 IQ16 * IQ14를 하면 IQ30이 됩니다. overflow를 방지하기 위해서는 이왕이면 곱이 IQ30을 넘지 않는것이 좋을것으로 보입니다.


예를들어 정수와 실수의 곱연산을 해야한다면 이둘의 곱은 2^31의 값을 벋어 나지 않아야 함으로 


실수부분의 resolution을 세밀하게 가져가거나 정수부분을 크게 가져가거나 에대한 최적의 Q값을 고려해야 합니다.


또한 IQ끼리의 곱셈을 도와주는 함수가 _IQmpy() 이고 IQ끼리의 나눗셈을 도와주는 함수가 _IQdiv() 인데


ex )


_IQ24mpy(_IQ10(변수1), _IQ20(변수2));      // 결과값은 IQ6이 되게 됩니다.


_IQ1div(_IQ2(변수1), _IQ1(변수2));            // 결과값은 IQ2가 되게 됩니다.


 

 

  

IQmath를 사용중에 생긴 문제점

 

위와 같은 환경에서 진행을 하다보면 iqmath library는 옛날 자료인데 CCS버전은 높아서 warning이 발생하는 경우가 생겼습니다.



저의 경우에는 _IQdiv() 함수를 사용했을때 위와 같은 warning이 발생하더군요.


하지만 동작은 정상적으로 작동합니다.


이부분에 대해서는 TI Communitiy에서 심심치 않에 버전에 문제로 인해서 그렇다는 글이 나와있습니다. 


또한 이전 포스팅에서 언급했던 부분인데 이부분이 신경쓰인다면 warning을 예외 처리로


숨겨놓을수가 있습니다.


project property에 들어가서 (Alt+Enter)



다음과 같이 넣어주게 되면 warning이 뜨지 않도록 할수가 있습니다.







CCS를 사용하다가

#16002-D build attribute vendor section TI missing in "...": compatibility cannot be determind

와 같은 Warning message 를 보게 된다면 해결책은 아래와 같습니다.

 

 

Alt + Enter를 눌러서 Property 에 들어가면 Build - Advanced Options - Diagnostics 까지 하위 메뉴로 들어가

Suppress diagnostic 에 id 16002 를 추가해 줍니다.

 

 

무시를 해도 되든 이유는 아래의 링크를 따라가면

 

http://processors.wiki.ti.com/index.php/C28x_Compiler_Error_and_Warning_Messages#Warning:_build_attribute_vendor_section_TI_missing_in_.22.3Clibrary_or_object.3E_:_compatibility_cannot_be_determined

 

 

아래 내용에 해당되는 Warning 이실 겁니다.

 

 

 

 

+ Recent posts