Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Eclipse: можно ли сменить процессор?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
alexf
Писал я мейкфайлы руками долго и счастливо, но Eclipse так удобно создает начальный проэкт под STM32, что грех не пользоваться. Тем более, что там так много всего наворочено с библиотеками и link scripts, etc. Не судите строго: я больше по железкам.

Так вот создал я проэкт скажем для STM32F103C8. Eclipse где то за кадром прописал все, что положено. Все собирается. А потом оказалось, что нужен чип потолще. Например память закончилась.
И другой чип уже не MD a XL.

Есть ли возможность поменять target CPU? Идеально было бы через GUI. В крайнем случае где они все прописаны? Или только создавать новый проэкт и копировать файлы?


nanorobot
Где то за кадром, это где?
alexf
Цитата(nanorobot @ Jan 8 2015, 01:50) *
Где то за кадром, это где?


Смысл моего вопроса в том, что я не знаю, что именно происходит внутри. Попробовал grep-ом найти все места где определено STM32F10X_MD, и поменять, но этого оказалось мало.

В принципе я бы не против делать по старинке если найти шаблоны проэктов под разные чипы.
AHTOXA
Цитата(alexf @ Jan 8 2015, 02:24) *
Писал я мейкфайлы руками долго и счастливо, но Eclipse так удобно создает начальный проэкт под STM32, что грех не пользоваться.

Наверное всё же этот проект создаёт не сама эклипса, а какой-то плагин? Тогда нужно искать в документации/настройках этого плагина.
alexf
Цитата(AHTOXA @ Jan 8 2015, 13:30) *
Наверное всё же этот проект создаёт не сама эклипса, а какой-то плагин? Тогда нужно искать в документации/настройках этого плагина.


Это безусловно так. Речь о "GNU ARM C/C++ STM32Fx Project Templates". К сожалению документация на их сайте (http://gnuarmeclipse.livius.net/blog/assign-device-project/) видимо относится к другой версии. Или я что-то не так установил.
Там должно быть можно создать в рамках проэкта другую конфигурацию с другим target CPU. У меня закладки "device" просто нет. Не важно: не так сложно создать новый проэкт и скопировать файлы.
sherr
Цитата(alexf @ Jan 9 2015, 05:34) *
Это безусловно так. Речь о "GNU ARM C/C++ STM32Fx Project Templates". К сожалению документация на их сайте (http://gnuarmeclipse.livius.net/blog/assign-device-project/) видимо относится к другой версии. Или я что-то не так установил.
Там должно быть можно создать в рамках проэкта другую конфигурацию с другим target CPU. У меня закладки "device" просто нет. Не важно: не так сложно создать новый проэкт и скопировать файлы.

.ld (скрипт линкера)поменять надо или поправить, если не выходите за пределы одного семейства - там обьем памяти прописан - Flash, Ram. Самому компилятору важно только ядро - CM0/CM3/CM4 ....
FPU у вас нет, как я понял, разница в периферии в настройки проекта не входит .
это из mem.ld :
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K
CCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 0
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K
FLASHB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0
MEMORY_ARRAY (xrw) : ORIGIN = 0x00000000, LENGTH = 0
Ну а где править дефайны(символы) препроцессора - вы уже наверное и сами нашли .
ps плагин свежий -12.2014/Eclipse Luna/GCC4.9/Linux Debian6

alexf
Цитата(sherr @ Jan 12 2015, 11:54) *
.ld (скрипт линкера)поменять надо или поправить, если не выходите за пределы одного семейства - там обьем памяти прописан - Flash, Ram.


K сожалению об'емом памяти не обойтись. Я всегда выбераю сразу "с запасом", скажем 64К. Если результат влезет в 10К, возьму CPU на 16K. Я говорю о переходе от "средней плотности" к "большой". Там и векторы слегка другие.

Не важно. Достаточно просто создать новый проэкт и скопировать файлы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.