Буратино 0 19 мая, 2009 Опубликовано 19 мая, 2009 (изменено) · Жалоба Есть небольшой законченый проект, планируется по образу и подобию создать еще несколько управляющих программ,но уже для других девайсов. Скажите, как правильно это сделать? Я попробовал скопировать всю папку с кодом, но открывая проект и работая с ним понял что ИАР, цепляет "корнями" родоначальный прожект. Может быть правильно будет создать новый проект и в него "заливать" готовые части? Сори за глупые вопросы. Изменено 19 мая, 2009 пользователем Буратино Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 19 мая, 2009 Опубликовано 19 мая, 2009 · Жалоба Есть небольшой законченый проект, планируется по образу и подобию создать еще несколько управляющих программ,но уже для других девайсов... Правильнее всего создать в одном workspace несколько проектов. Только при использовании условной компиляции для общих файлов укажите разные папки для объектных файлов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 19 мая, 2009 Опубликовано 19 мая, 2009 · Жалоба Есть небольшой законченый проект, планируется по образу и подобию создать еще несколько управляющих программ,но уже для других девайсов. Скажите, как правильно это сделать? Используйте в программных модулях относительные пути. У меня во всех хедерах всех проектах используются относительные пути (относительно корня проекта) и поэтому при перемещении папки проекта (с сохранением структуры подкаталогов проекта) в другое место проблем не возникает. Только следует помнить, что при первом открытии перемещенного проекта в окне(ах) редактора IDE IAR может отображаться содержимое исходников из старой папки проекта. Просто закройте все окна редактора и откройте их снова, кликая на имена файлов проекта в окне Workspace. Второй нюанс. Если хотите использовать некоторые из своих исходников как библиотечные для разных кристаллов, то позаботьтесь заранее о структуре каталогов. У меня, например, структура такая. _xOS |->COMMON | |->_INC | |->_LIB |->ARM | |->_INC | |->_LIB | |->PROJECT1 | | |->_INC | | |->_LIB | |->PROJECT2 | | |->_INC | | |->_LIB |->MSP430 | |->_INC | |->_LIB | |->PROJECT3 | | |->_INC | | |->_LIB | |->PROJECT4 | | |->_INC | | |->_LIB В папках _INC лежат хедеры, в папках _LIB - си-шные файлы. Соответственно общие для разных проектов файлы я могу включать с помощью относительных путей. Допустим я работаю с проектом PROJECT3 и создаю в папке _LIB этого проекта исходник uart.c #include "..\_INC\uart_loc.h" //хедер данного конкретного проекта PROJECT3 #include "..\..\_INC\msp_uart.h" //общий для всех проектов на кристаллах MSP430 хедер #inclyde "..\..\..\COMMON\_INC\myType.h" //общий для всех проектов и для всех кристаллов хедер Примерно так. Правильнее всего создать в одном workspace несколько проектов.Это возможно, только если проекты созданы в одинаковой версии IDE IAR. А в случае создания проектов для разных кристаллов это по-моему вообще невозможно (хотя здесь могу и ошибаться). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HEX 0 20 мая, 2009 Опубликовано 20 мая, 2009 · Жалоба А как можно подключать си-шный файлы из библиотеки к проекту? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Буратино 0 20 мая, 2009 Опубликовано 20 мая, 2009 · Жалоба Ох ребята, все так сложно:( Дело в том, Что у меня задачки то простенькие: там диодами поморгать ,там эл. регулятором громкости поуправлять.. Просто хочется, чтоб оно лежало где-то на диске в папке "Source" а я в любой момент взял из нее то что мне нужно ,прикрутил к новой разработке и поскакал дальше:) НЕоходимо что-то почитать, чтоб вникнуть. Спасибо, я вернусь к этому вопросу, но немного позже, а сейчас я создал новый воркспейс и перетащил все что мне было необходимо в новый проект. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 20 мая, 2009 Опубликовано 20 мая, 2009 · Жалоба Это возможно, только если проекты созданы в одинаковой версии IDE IAR. А в случае создания проектов для разных кристаллов это по-моему вообще невозможно (хотя здесь могу и ошибаться). Скорее всего Вы правы, но есть еще система контроля версий типа svn, фактически стоящая поверх любых компиляторов. Она существенно облегчает наследование проектов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HEX 0 20 мая, 2009 Опубликовано 20 мая, 2009 · Жалоба организация структуры проекта мне попадалась только тут: Таненбаум "Операционные системы разработка и реализаци" но и по инету полазить можно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dir 0 20 мая, 2009 Опубликовано 20 мая, 2009 · Жалоба Это возможно, только если проекты созданы в одинаковой версии IDE IAR. А в случае создания проектов для разных кристаллов это по-моему вообще невозможно (хотя здесь могу и ошибаться). Если под "кристаллами" понимаются разные архитектуры (ARM, MSP430, AVR...), то не знаю, не пробовал.Хотя почему бы и нет, если IDE одно. А если разные чипы (например ATtiny24, ATmega64...), то постоянно так работаю. Создаю Workspace для всего девайса, а внутри проекты для разных модулей. Единственно, что имена проектов должны отличаться, т.к. каталоги для проектов в Workspace одни и те же. Т.е. файлы main.c нужно переименовать. Например, по имени проекта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zlumd 0 30 июня, 2009 Опубликовано 30 июня, 2009 · Жалоба Есть небольшой законченый проект, планируется по образу и подобию создать еще несколько управляющих программ,но уже для других девайсов. Скажите, как правильно это сделать? Я попробовал скопировать всю папку с кодом, но открывая проект и работая с ним понял что ИАР, цепляет "корнями" родоначальный прожект. Может быть правильно будет создать новый проект и в него "заливать" готовые части? Сори за глупые вопросы. Цепляются только файлы, открытые в IARe для редактирования. Если копируешь проект в другую папку. То в скопированном проекте надо закрыть все открытые для редактирования файлы и заново открыть их через вкладку Workspace. А если проекты различаются всего несколькими процедурами, то удобно их объединить в один Workspace и использвать директивы условной компиляции, как посоветовал Dog Pawlowa. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться