реклама на сайте
подробности

 
 
> Подскажите, как правильно в IAR Embedded Workbench вести несколько однотипных проектов?
Буратино
сообщение May 19 2009, 07:54
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Есть небольшой законченый проект, планируется по образу и подобию создать еще несколько управляющих программ,но уже для других девайсов.
Скажите, как правильно это сделать? Я попробовал скопировать всю папку с кодом, но открывая проект и работая с ним понял что ИАР, цепляет "корнями" родоначальный прожект.
Может быть правильно будет создать новый проект и в него "заливать" готовые части? Сори за глупые вопросы.

Сообщение отредактировал Буратино - May 19 2009, 07:56


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
Dog Pawlowa
сообщение May 19 2009, 09:52
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Буратино @ May 19 2009, 10:54) *
Есть небольшой законченый проект, планируется по образу и подобию создать еще несколько управляющих программ,но уже для других девайсов...

Правильнее всего создать в одном workspace несколько проектов.
Только при использовании условной компиляции для общих файлов укажите разные папки для объектных файлов.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
rezident
сообщение May 19 2009, 21:42
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Буратино @ May 19 2009, 13:54) *
Есть небольшой законченый проект, планируется по образу и подобию создать еще несколько управляющих программ,но уже для других девайсов.
Скажите, как правильно это сделать?

Используйте в программных модулях относительные пути. У меня во всех хедерах всех проектах используются относительные пути (относительно корня проекта) и поэтому при перемещении папки проекта (с сохранением структуры подкаталогов проекта) в другое место проблем не возникает. Только следует помнить, что при первом открытии перемещенного проекта в окне(ах) редактора 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" //общий для всех проектов и для всех кристаллов хедер

Примерно так.

Цитата(Dog Pawlowa @ May 19 2009, 15:52) *
Правильнее всего создать в одном workspace несколько проектов.
Это возможно, только если проекты созданы в одинаковой версии IDE IAR. А в случае создания проектов для разных кристаллов это по-моему вообще невозможно (хотя здесь могу и ошибаться).
Go to the top of the page
 
+Quote Post
HEX
сообщение May 20 2009, 07:46
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 25-11-04
Из: Тула
Пользователь №: 1 228



А как можно подключать си-шный файлы из библиотеки к проекту?
Go to the top of the page
 
+Quote Post
Буратино
сообщение May 20 2009, 07:58
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Ох ребята, все так сложноsad.gif
Дело в том, Что у меня задачки то простенькие: там диодами поморгать ,там эл. регулятором громкости поуправлять.. Просто хочется, чтоб оно лежало где-то на диске в папке "Source" а я в любой момент взял из нее то что мне нужно ,прикрутил к новой разработке и поскакал дальшеsmile.gif
НЕоходимо что-то почитать, чтоб вникнуть. Спасибо, я вернусь к этому вопросу, но немного позже, а сейчас я создал новый воркспейс и перетащил все что мне было необходимо в новый проект.


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 20 2009, 08:26
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(rezident @ May 20 2009, 00:42) *
Это возможно, только если проекты созданы в одинаковой версии IDE IAR. А в случае создания проектов для разных кристаллов это по-моему вообще невозможно (хотя здесь могу и ошибаться).

Скорее всего Вы правы, но есть еще система контроля версий типа svn, фактически стоящая поверх любых компиляторов.
Она существенно облегчает наследование проектов.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
HEX
сообщение May 20 2009, 12:03
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 25-11-04
Из: Тула
Пользователь №: 1 228



организация структуры проекта мне попадалась только тут:
Таненбаум "Операционные системы разработка и реализаци"
но и по инету полазить можно
Go to the top of the page
 
+Quote Post
Dir
сообщение May 20 2009, 12:57
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 6-01-05
Пользователь №: 1 830



Цитата(rezident @ May 20 2009, 00:42) *
Это возможно, только если проекты созданы в одинаковой версии IDE IAR. А в случае создания проектов для разных кристаллов это по-моему вообще невозможно (хотя здесь могу и ошибаться).


Если под "кристаллами" понимаются разные архитектуры (ARM, MSP430, AVR...), то не знаю, не пробовал.Хотя почему бы и нет, если IDE одно. А если разные чипы (например ATtiny24, ATmega64...), то постоянно так работаю. Создаю Workspace для всего девайса, а внутри проекты для разных модулей. Единственно, что имена проектов должны отличаться, т.к. каталоги для проектов в Workspace одни и те же. Т.е. файлы main.c нужно переименовать. Например, по имени проекта.
Go to the top of the page
 
+Quote Post
Zlumd
сообщение Jun 30 2009, 08:32
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 12-04-05
Из: Новосибирск
Пользователь №: 4 057



Цитата(Буратино @ May 19 2009, 11:54) *
Есть небольшой законченый проект, планируется по образу и подобию создать еще несколько управляющих программ,но уже для других девайсов.
Скажите, как правильно это сделать? Я попробовал скопировать всю папку с кодом, но открывая проект и работая с ним понял что ИАР, цепляет "корнями" родоначальный прожект.
Может быть правильно будет создать новый проект и в него "заливать" готовые части? Сори за глупые вопросы.
Цепляются только файлы, открытые в IARe для редактирования.
Если копируешь проект в другую папку. То в скопированном проекте надо закрыть все открытые для редактирования файлы и заново открыть их через вкладку Workspace.
А если проекты различаются всего несколькими процедурами, то удобно их объединить в один Workspace и использвать директивы условной компиляции, как посоветовал Dog Pawlowa.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01442 секунд с 7
ELECTRONIX ©2004-2016