Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:code_composer_studio:start [2012-05-31 08:02]
Tinner
software:code_composer_studio:start [2016-01-29 14:45] (aktuell)
abajric
Zeile 18: Zeile 18:
 Die C674x DSPLIB ist eine Floating Point Bibliothek mit optimierten Algorithmen für rechenintensive Aufgaben. \\ Die C674x DSPLIB ist eine Floating Point Bibliothek mit optimierten Algorithmen für rechenintensive Aufgaben. \\
 [[http://processors.wiki.ti.com/index.php?title=C674x_DSPLIB|C674x_DSPLIB]]\\ [[http://processors.wiki.ti.com/index.php?title=C674x_DSPLIB|C674x_DSPLIB]]\\
 +
 +==== CMake anstatt Code Composer Studio verwenden ====
 +
 +Beispiel eines Programs:
 +
 +<code>
 +#include <evmc6748.h>
 +#include <evmc6748_timer.h>
 +#include <evmc6748_i2c.h>
 +#include <evmc6748_led.h>
 +
 +int main(void) {
 + USTIMER_init();
 + I2C_init(I2C0, I2C_CLK_400K);
 +   
 + LED_init();
 + LED_turnOn(LED_1);
 + LED_turnOff(LED_2);
 +   
 + while(1) {
 +      LED_toggle(LED_1);
 + LED_toggle(LED_2);
 + USTIMER_delay(DELAY_10TH_SEC);
 +    }
 +}
 +</code>
 +
 +Beispiel der CMakeLists.txt eines Programs:
 +
 +<code>
 +cmake_minimum_required(VERSION 2.8)
 +project(test C)
 +add_executable(test test.c)
 +</code>
 +
 +Toolchain-File:
 +
 +<code>
 +include(CMakeForceCompiler)
 +
 +set(CMAKE_SYSTEM_NAME Generic)
 +
 +set(C6000_BASE "C:/Program Files/Texas Instruments/ccsv4/tools/compiler/C6000")
 +set(BSP_BASE "${CMAKE_CURRENT_LIST_DIR}/../../")
 +set(LINK_CMD_FILE "${CMAKE_CURRENT_LIST_DIR}/linker_dsp.cmd")
 +
 +CMAKE_FORCE_C_COMPILER(${C6000_BASE}/bin/cl6x.exe TI)
 +CMAKE_FORCE_CXX_COMPILER(${C6000_BASE}/bin/cl6x.exe TI)
 +set(CMAKE_C_FLAGS_DEBUG "-g")
 +set(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG")
 +set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
 +set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
 +
 +set(CMAKE_FIND_ROOT_PATH ${C6000_BASE})
 +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 +
 +include_directories(${BSP_BASE}/inc)
 +link_directories(${BSP_BASE}/lib)
 +</code>
 +
 +Konfiguration von CMake unter Windows:
 +
 +<code>
 +"D:\programs\CMake 2.8\bin\cmake.exe" .. -DCMAKE_TOOLCHAIN_FILE="D:\work\BSP\share\dsp\c6000.cmake" -G"MinGW Makefiles"
 +</code>
 +
 +Kompilieren mit Make:
 +
 +<code>
 +"c:\Program Files\mingw\bin\mingw32-make.exe"
 +</code>
 +
 +Wegen einem Bug in den CMake Scripts für den C6000 Compiler ist es nicht möglich das Link-Command-File dem Compiler zu übergeben. Das Link-Command-File muss als letzter Parameter dem C6000 Compiler übergeben werden. In der aktuellen CMake Version sind die Object Files die letzten Parameter. (Weil CMake die Reihenfolge der Object-Files selber bestimmt, kann man das Linker-Command-File nicht als Object-File übergeben. Dieser Workaround funktioniert also nicht.)
 +
  
 ==== TMS320C6748 auf eXperimenters Board direkt aus Matlab/Simulink programmieren ==== ==== TMS320C6748 auf eXperimenters Board direkt aus Matlab/Simulink programmieren ====
Zeile 79: Zeile 155:
 {{:embedded_systems:omapl138_tms320c6748:omapl138.rar|ccxml File}}\\ {{:embedded_systems:omapl138_tms320c6748:omapl138.rar|ccxml File}}\\
 {{:embedded_systems:omapl138_tms320c6748:examplemodule.rar|Simulink Model}} {{:embedded_systems:omapl138_tms320c6748:examplemodule.rar|Simulink Model}}
-== Auftretende Fehler == +=== Auftretende Fehler === 
-  * Beim hereinziehen des Target Preferences Block wird kein Prozessor ausgewählt. Dieser Fehler tritt auf wenn der Befehl: setDspbiosFolder(...) und/oder importDspbiosConfig(...) nicht ausgeführt wurden.+  * Beim Hereinziehen des Target Preferences Block wird kein Prozessor ausgewählt. Dieser Fehler tritt auf wenn der Befehl: setDspbiosFolder(...) und/oder importDspbiosConfig(...) nicht ausgeführt wurden.
   * Beim Builden des Moduls erscheint die Fehlermeldung: S-Function 'c6748evm_adc_sfcn' does not exist. Dieser Fehler tritt auf wenn bei MATLAB nicht alle Komponenten installiert wurden.    * Beim Builden des Moduls erscheint die Fehlermeldung: S-Function 'c6748evm_adc_sfcn' does not exist. Dieser Fehler tritt auf wenn bei MATLAB nicht alle Komponenten installiert wurden. 
   * Beim Builden erscheint ein Fenster bei dem der BIOS PSP DRIVER Installationspfad verlangt wird. Dieser Fenster erscheint wenn die MATLAB Pfadvariable nicht gesetzt wurde.   * Beim Builden erscheint ein Fenster bei dem der BIOS PSP DRIVER Installationspfad verlangt wird. Dieser Fenster erscheint wenn die MATLAB Pfadvariable nicht gesetzt wurde.
Zeile 87: Zeile 163:
   * Beim Herunterladen des Moduls wird nach Connecting to target... ein Error ausgegeben. Diese Meldung erscheint wenn die Jumper nicht richtig gesetzt wurden.   * Beim Herunterladen des Moduls wird nach Connecting to target... ein Error ausgegeben. Diese Meldung erscheint wenn die Jumper nicht richtig gesetzt wurden.
   * Beim Herunterladen des Moduls bleibt das Programm bei Loading D:ExampleModul.out hängen. Dieser Fehler tritt auf wenn kurz vor dem Laden das Board nicht neu gestartet wurde.   * Beim Herunterladen des Moduls bleibt das Programm bei Loading D:ExampleModul.out hängen. Dieser Fehler tritt auf wenn kurz vor dem Laden das Board nicht neu gestartet wurde.
-  * Wenn beim Herunterladen auf das Board die Fehlermeldung im Anhang erscheintdann wurde die Datei C6748.gel nicht gefunden. Da beim Erstellen vom Target Configuration File nur der Pfad der Datei C6748.gel im ccxml File abgespeichert wird und nicht die ganze Datei.+  * Beim Herunterladen auf das Board erscheint die unten stehende Fehlermeldung. Das bedeutetdass die Datei C6748.gel nicht gefunden wurde. Da beim Erstellen vom Target Configuration File nur der Pfad der Datei C6748.gel im ccxml File abgespeichert wird und nicht die ganze Datei. 
 +  * {{:software:code_composer_studio:fehler.png?550|}}
   * Trotz Neustart bleibt das Programm immer bei „loading Aufgabe1.out“ hängen. Für dieses Problem wurde noch keine Lösung gefunden.   * Trotz Neustart bleibt das Programm immer bei „loading Aufgabe1.out“ hängen. Für dieses Problem wurde noch keine Lösung gefunden.