| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| CCS 3.236, MPLAB 7.21 и компилирането на проект от няколко с http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=1454 |
Страница 1 от 1 |
| Автор: | jony++ [ Вто Дек 20, 2005 6:00 pm ] |
| Заглавие: | CCS 3.236, MPLAB 7.21 и компилирането на проект от няколко с |
От известно време използвам компилаетора CCS във средата на MPLAB и досега съм нямал проблем докато програмата се намираше в един *.с файл. За по-удобно обаче реших да си разделя нещата на няколсо *.с файлчета задно със съответинтите *.h файлчета, както си му е там редът, да обаче се оказа че като прибавя въпросните *.с файлчета към проекта те се компилират отделно и в крайна сметка няма такова чудо като линкер, което да ги свърже. Ефекта е разни съобщения за грешка от рода на Line 23(1,2): A #DEVICE required before this line. Имали някой опит в тази насока и изобщо възможно ли е да се радели програмата на няколко *.с файла при тази комбинация от среда и компилатор? [/i] |
|
| Автор: | Nikola Kirov [ Вто Дек 20, 2005 6:08 pm ] |
| Заглавие: | |
Ами #include "съответния .h фаил" ? |
|
| Автор: | Реконструктор [ Вто Дек 20, 2005 6:29 pm ] |
| Заглавие: | |
Хедърите също трябва да са включени в проекта. |
|
| Автор: | jony++ [ Вто Дек 20, 2005 8:00 pm ] |
| Заглавие: | |
има си и #include <*.h> и хедърите също са добавени към проекта и все тая. Пробвах с #include <*.c> без да използвам хедъри - същата история. В един чуждоезичен форум споменаваха, че проблема идвал от там че отделните *.с файлове се компилирали поотделно, но нямало линкер който да ги свърже /това е в случая когато се използва средата на MPLAB, когато си се използва средата на CSS-а няма проблем/. Пак във въпросния форум споменаха за някакви настройки които трябвали да се направят на MPLAB, но небяха написали какви точно. |
|
| Автор: | Nikola Kirov [ Вто Дек 20, 2005 8:41 pm ] |
| Заглавие: | |
Е добре ако деиствително ти е такъв проблема компилираи си директно в средата на CCS. От там няма начин да не се компилира всичко правилно. |
|
| Автор: | jony++ [ Вто Дек 20, 2005 9:37 pm ] |
| Заглавие: | |
Сега ще кажете "Капризи!". Така си е |
|
| Автор: | Nikola Kirov [ Вто Дек 20, 2005 9:51 pm ] |
| Заглавие: | |
Ами то там може и да си генерираш фаил с които да дебъгваш в MPLAB-a. И да си ги ползваш еновременно CCS-a и MPLAB-a. Преди с IAR-a така работих но вече не се сещам в какъв формат трябваше да му кажеш да го направи компилатора че да го разбира MPLAB-a. |
|
| Автор: | ToHu [ Вто Дек 20, 2005 10:35 pm ] |
| Заглавие: | |
Какъв дебъгер няма, като пушка си работи с преработения ICD модул на microchip и то подобре отколкото Mplab псоред мен. |
|
| Автор: | the_real_maniac [ Вто Дек 20, 2005 10:47 pm ] | |||||||||
| Заглавие: | ||||||||||
ми съмнявам се файловете - програмите да си ги държиш в директориите на самият компилатор , така че не са му в пътя (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 и т.н поне това мисля си изпуснал .. успех ! |
||||||||||
| Автор: | ToHu [ Вто Дек 20, 2005 11:07 pm ] |
| Заглавие: | |
#include "In_Out.c" #include "setup_sensors.c" #include "menu.c" ето така си се добавят в CCS, път не съм задал, но всъщност фаиловете са в директориата където е и проекта,съответно предполагам то само си е указало тази директориа. а предполагам си направил нешо от сорта в модулите които инклудваш: #ifndef __setup_sensor__ #define __setup_sensor__ routine () #endif |
|
| Автор: | jony++ [ Вто Дек 20, 2005 11:22 pm ] | |||||||||
| Заглавие: | ||||||||||
Точно #include "*.c" използвам, това със <> по погрешка съм го написал тук във форума А неща от сорта на #ifndef __setup_sensor__ #define __setup_sensor__ routine () #endif нямам, само routine(); Благодаря на Никола за идеята да компилирам в CCS-а а с генерирания от него файл да дебъгвам в MPLAB. Тази възможност бях я заблравил
Е това не е ли хапдуерен дебъгер, аз за софтуерен говорех |
||||||||||
| Автор: | ToHu [ Сря Дек 21, 2005 12:41 am ] |
| Заглавие: | |
ами при мен без def-вете не ще да компилира другте файлове независимо къде, всъщност, в CCS не ще, но по същата логика и в MPLAB би трябвало да не може. Това го открих преди време на по стара версия, но рпедполагам и в новите няма д аиска няма ли го това, а и може би е нормално да го рпави, имайки предвид и другте му странности. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|