Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:code_composer_studio:start [2014-03-04 08:02] grafsoftware: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 ====