Нравится? Делимся информацией!

пятница, 9 ноября 2012 г.

Простейший проект для TMS320F28335 в CCS v3.3.

<< предыдущий пост Работаем с  проектом в Code Composer Studio.

В простейшем проекте нет ничего кроме исходника, содержащего main() функцию. Но порой даже в такой простецкой программе могут вылезти куча багов, в основном связанных с неправильной настройкой проекта (компилятора, линкера).
В простейшем проекте нет слоя абстракции, так называемого HAL (hardware abstraction layer), т.е. нет необходимости подключать к проекту множество исходников и заголовочных файлов.




/******************************************************
*Name :  LearnProj.c
*Device: TMS320F28335
*Date:     8.11.12
*Note:     the simple program in CCS
*******************************************************/
unsigned int k = 0;
unsigned int i;

void main( void )
{
   while(1)
   {
       for( i = 0; i<100; i++ )
       {
           k = i*i;
       }
   }
}

Настройка для этого проекта описана в статье Работаем с  проектом в Code Composer Studio.
После запуска сборки проекта ( Project -> Build ) на этапе линковки проекта вылазит ошибка:
“<Linking>
fatal error: file
  "C:\\CCStudio_v3.3\\MyProjects\\LearnProg\\Debug\\learnProj.obj" specifies
  ISA revision "C2800", which is not compatible with ISA revision "C28FPU32"
  specified in a previous file or on the command line
>> Compilation failure

Ошибка вылезла вследствие того, что я забыл установить при настройке проекта в Build Options...->Compiler->Advanced->Floating Point Support поддержку FPU.
 
Теперь поддержка включена. Пересобираем проект.... ошибок нет

Так же нехитрыми манипуляциями был создан файл С++ с расширением *.срр:
/******************************************************
*Name : LearnProj.cpp
*Device: TMS320F28335
*Date: 8.11.12
*Note:     the simple program in CCS
*******************************************************/
unsigned int k = 0;
void main() {

   while(1)
   {
       for(unsigned int i = 0; i<100; i++ )
       {
           k = i*i;
       }
   }
}
Создан с целью проверить потребность в перенастройке компилятора, при изменении с Си’шного на С++ расширение (и небольшой коррекции программы: объявление и определение переменной в месте требования, а не в начале блока).
Старый файл выброшен:

И добавлен *.срр файл. Произведена сборка проекта, которая лишь выдала на этапе компиляции предупреждение:
“  "learnProj.cpp", line 8: warning: return type of function "main" must be "int "  
Тогда изменяем программу, чтобы функция main возвращала таки значение, но тогда появляется новое предупреждение:
“  "learnProj.cpp", line 18: warning: statement is unreachable  ”  - это понятно, что из-за бесконечного цикла while(1).

Комментариев нет:

Отправить комментарий