使用Code Composer Studio Version: 6.1.1.00022,建立TMS320F2812工程。
1 /* 2 * main.c 3 */ 4 #include <stdio.h> 5 6 int main(void) { 7 printf("Hello DSP!\r\n"); 8 return 0; 9 }
添加了printf函數想測試一下,然後編譯出錯。
1 #10099-D</a> program will not fit into available memory. placement with alignment/blocking fails for section ".text" size 0x1be0 page 0. Available memory ranges: 2812_RAM_lnk.cmd /2812Test line 86 C/C++ Problem
查閱資料,應該調整-stack和-heap的大小,並且工程庫文件必須選擇rts2800_ml.lib而不是rts2800.lib。不過我修改-stack和-heap如下圖,無效。
更改工程庫文件為rts2800_ml.lib也無效,最後在Project-Properties-Build-Advanced Options-Library Function Assumptions下,Level of printf/scanf support required(--printf_support)選擇minimal,如下圖。編譯通過。