Hallo,
wollte mit dem ADSP-21369 Simulator die Aufgaben des Tutorials im
VisualDSP++ 5.0 Getting Started Guide lösen, aber mit der zweiten
Aufgabe habe ich ziemlich viel Stress. Dort wird gezeigt, wie man
assembly-Funktionen im C-Code aufrufen kann. Das Tutorial ist für
Blackfin Prozessoren gedacht. Ich benutze einen SHARC (hab den Simulator
auf meinem SHARC umgestellt), aber das sollte eigentlich kein Problem
sein...
Wenn ich die Beispielfiles ins Projekt importiere, und das ganze builden
will, kommt folgende Fehlermeldung auf:
1 | [Error ea1007] ".\dotprod_func.asm":3 [column 1] Syntax Error at ".global".
|
2 |
|
3 | [Error ea1040] ".\dotprod_func.asm":6 '_my_asm' not in a section:
|
4 | A valid directive defining a section must precede any label.
|
5 | Attempting error recovery by creating section '.dummyCode'.
|
Ich habe die entsprechenden Seiten im Compiler Manual durchgelesen, und
das Program ist so aufgebaut, wie es sein soll, d.h.
im C-File muss stehen:
vor dem Calling die asm-Funktion als function prototype deklarieren:
1 | ...
|
2 | extern int my_asm( int );
|
3 |
|
4 | ...
|
5 |
|
6 | void main()
|
7 | {
|
8 | ...
|
9 | out = my_asm(in);
|
10 | ...
|
11 | }
|
im asm-File muss stehen:
1 | .section asm_sect;
|
2 | .global _my_asm;
|
3 |
|
4 | _my_asm:
|
5 |
|
6 | ...
|
7 |
|
8 | _my_asm.end:
|
Ich komme einfach nicht weiter... Kann mir jemend helfen?