1.
소프트웨어 프로그래밍을 위해서 자주 사용하는 stdio.h나 math.h는 표준 C에서 정의된 각종 입출력 함수와 수학함수가 정의되어 있다.
하지만 DSP같은 임베디드 프로세서에는 '표준 입출력 장치가 없다' 그런데도 표준 입출력 함수를 사용한다면, DSP는 메모리 영역인 stack, heap에서 '가상 입출력 장치'를 만들어서 데이터 입출력을 하게 된다. 언뜻 보기만 해도 매우 거추장스럽고 느려질 것 같지 않은가? 하드웨어가 됐든 소프트웨어가 됐든 신속 정확 간결이 중요하거늘 이는 매우 치명적인 문제가 될 수 있다.
더욱이 math.h는, 표준 C는 플랫폼(리눅스던, ARM이던, WINDOWS던)을 가리지 않고 수행되어야 하기 때문에 범용성을 높인 대신 어느 한 플랫폼에 최적화 되어있지는 않다. 즉, DSP에 있어서는 비효율적일 수 밖에 없다는 것이다. 따라서 TI에서는 DSP에 적합한 효율이 좋은 수치함수를 IQmath로 제공하고 있다.
2.
28X DSP는 일부 데이터 형이 C와 다르다.
|
char |
short |
int |
long |
long long |
float |
double |
long double |
C |
8 |
16 |
32 |
32 |
64 |
32 |
64 |
64 |
28X |
16 |
16 |
16 |
32 |
|
32 |
32 |
64 |
char, int, double의 크기가 다르며 long long이 없다.
따라서 double을 쓸것 없이 float를 사용하면 된다. 일반 C플랫폼과 DSP간의 데이터 교환이 있을 경우 이런 bit차이에 조심하여야 하겠다.
'TMS320 > Study' 카테고리의 다른 글
DSP281x_CodeStartBranch.asm (0) | 2014.08.05 |
---|---|
asm(" nop") (0) | 2014.08.05 |
.gel 파일 대충 이해하기 (0) | 2014.08.05 |
[이론]풀-업 저항과 풀-다운 저항2 (0) | 2014.07.27 |
[이론]풀-업 저항과 풀-다운 저항 (0) | 2014.07.27 |