Отговори на тема  [ 12 мнения ] 
CCS 3.236, MPLAB 7.21 и компилирането на проект от няколко с 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Сеп 19, 2005 12:49 am
Мнения: 61
Мнение CCS 3.236, MPLAB 7.21 и компилирането на проект от няколко с
От известно време използвам компилаетора CCS във средата на MPLAB и досега съм нямал проблем докато програмата се намираше в един *.с файл. За по-удобно обаче реших да си разделя нещата на няколсо *.с файлчета задно със съответинтите *.h файлчета, както си му е там редът, да обаче се оказа че като прибавя въпросните *.с файлчета към проекта те се компилират отделно и в крайна сметка няма такова чудо като линкер, което да ги свърже. Ефекта е разни съобщения за грешка от рода на Line 23(1,2): A #DEVICE required before this line.
Имали някой опит в тази насока и изобщо възможно ли е да се радели програмата на няколко *.с файла при тази комбинация от среда и компилатор?
[/i]


Вто Дек 20, 2005 6:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Ами #include "съответния .h фаил" ?


Вто Дек 20, 2005 6:08 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
Хедърите също трябва да са включени в проекта.


Вто Дек 20, 2005 6:29 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Сеп 19, 2005 12:49 am
Мнения: 61
Мнение 
има си и
#include <*.h>
и хедърите също са добавени към проекта и все тая.

Пробвах с
#include <*.c> без да използвам хедъри - същата история.

В един чуждоезичен форум споменаваха, че проблема идвал от там че отделните *.с файлове се компилирали поотделно, но нямало линкер който да ги свърже /това е в случая когато се използва средата на MPLAB, когато си се използва средата на CSS-а няма проблем/. Пак във въпросния форум споменаха за някакви настройки които трябвали да се направят на MPLAB, но небяха написали какви точно.


Вто Дек 20, 2005 8:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Е добре ако деиствително ти е такъв проблема компилираи си директно в средата на CCS. От там няма начин да не се компилира всичко правилно.


Вто Дек 20, 2005 8:41 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Сеп 19, 2005 12:49 am
Мнения: 61
Мнение 
:P :P :P Да, но там няма дебъгер :wink: :wink: :wink:
Сега ще кажете "Капризи!". Така си е 8)


Вто Дек 20, 2005 9:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Ами то там може и да си генерираш фаил с които да дебъгваш в MPLAB-a. И да си ги ползваш еновременно CCS-a и MPLAB-a. Преди с IAR-a така работих но вече не се сещам в какъв формат трябваше да му кажеш да го направи компилатора че да го разбира MPLAB-a.


Вто Дек 20, 2005 9:51 pm
Профил
Online
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение 
Какъв дебъгер няма, като пушка си работи с преработения ICD модул на microchip и то подобре отколкото Mplab псоред мен.


Вто Дек 20, 2005 10:35 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
jony++ написа:
има си и
#include <*.h>
и хедърите също са добавени към проекта и все тая.

Пробвах с
#include <*.c> без да използвам хедъри - същата история.

В един чуждоезичен форум споменаваха, че проблема идвал от там че отделните *.с файлове се компилирали поотделно, но нямало линкер който да ги свърже /това е в случая когато се използва средата на MPLAB, когато си се използва средата на CSS-а няма проблем/. Пак във въпросния форум споменаха за някакви настройки които трябвали да се направят на MPLAB, но небяха написали какви точно.



ми съмнявам се файловете - програмите да си ги държиш в директориите на самият компилатор , така че не са му в пътя (PATH, в който търси) => трябва да ползваш " " , а не < > относно пътя на допълнителните файлове.


да кажем:

c:\mcuprojects\my\prog12\main.c
c:\mcuprojects\my\prog12\some.c
c:\mcuprojects\my\prog12\other.c

в main.c

трябва да имаш:

#include "some.c"
#include "other.c"

може и "c:\absolutePATH"

а ако са и в предишна или друга категория съответно

c:\mcuprojects\my\prog12\main.c
".\..\some.c" = c:\mcuprojects\my\some.c

и т.н

поне това мисля си изпуснал .. успех !

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Вто Дек 20, 2005 10:47 pm
Профил ICQ
Online
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение 
#include "In_Out.c"
#include "setup_sensors.c"
#include "menu.c"

ето така си се добавят в CCS, път не съм задал, но всъщност фаиловете са в директориата където е и проекта,съответно предполагам то само си е указало тази директориа.

а предполагам си направил нешо от сорта в модулите които инклудваш:

#ifndef __setup_sensor__
#define __setup_sensor__
routine ()
#endif


Вто Дек 20, 2005 11:07 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Сеп 19, 2005 12:49 am
Мнения: 61
Мнение 
Точно #include "*.c" използвам, това със <> по погрешка съм го написал тук във форума :oops:
А неща от сорта на
#ifndef __setup_sensor__
#define __setup_sensor__
routine ()
#endif
нямам, само routine();

Благодаря на Никола за идеята да компилирам в CCS-а а с генерирания от него файл да дебъгвам в MPLAB. Тази възможност бях я заблравил :oops: .

Цитат:
Какъв дебъгер няма, като пушка си работи с преработения ICD модул на microchip и то подобре отколкото Mplab псоред мен.

Е това не е ли хапдуерен дебъгер, аз за софтуерен говорех :roll: [/quote]


Вто Дек 20, 2005 11:22 pm
Профил
Online
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение 
ами при мен без def-вете не ще да компилира другте файлове независимо къде, всъщност, в CCS не ще, но по същата логика и в MPLAB би трябвало да не може. Това го открих преди време на по стара версия, но рпедполагам и в новите няма д аиска няма ли го това, а и може би е нормално да го рпави, имайки предвид и другте му странности.


Сря Дек 21, 2005 12:41 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 12 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни