Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| software:code_composer_studio:start [2014-03-04 08:02] – graf | 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:// | [[http:// | ||
| + | |||
| + | ==== CMake anstatt Code Composer Studio verwenden ==== | ||
| + | |||
| + | Beispiel eines Programs: | ||
| + | |||
| + | < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | int main(void) { | ||
| + | USTIMER_init(); | ||
| + | I2C_init(I2C0, | ||
| + | |||
| + | 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); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Beispiel der CMakeLists.txt eines Programs: | ||
| + | |||
| + | < | ||
| + | cmake_minimum_required(VERSION 2.8) | ||
| + | project(test C) | ||
| + | add_executable(test test.c) | ||
| + | </ | ||
| + | |||
| + | Toolchain-File: | ||
| + | |||
| + | < | ||
| + | include(CMakeForceCompiler) | ||
| + | |||
| + | set(CMAKE_SYSTEM_NAME Generic) | ||
| + | |||
| + | set(C6000_BASE " | ||
| + | set(BSP_BASE " | ||
| + | set(LINK_CMD_FILE " | ||
| + | |||
| + | CMAKE_FORCE_C_COMPILER(${C6000_BASE}/ | ||
| + | CMAKE_FORCE_CXX_COMPILER(${C6000_BASE}/ | ||
| + | set(CMAKE_C_FLAGS_DEBUG " | ||
| + | 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}/ | ||
| + | link_directories(${BSP_BASE}/ | ||
| + | </ | ||
| + | |||
| + | Konfiguration von CMake unter Windows: | ||
| + | |||
| + | < | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | Kompilieren mit Make: | ||
| + | |||
| + | < | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | 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/ | ==== TMS320C6748 auf eXperimenters Board direkt aus Matlab/ | ||