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

 
 
 
Reply to this topicStart new topic
> Eclipse: можно ли сменить процессор?
alexf
сообщение Jan 7 2015, 21:24
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Писал я мейкфайлы руками долго и счастливо, но Eclipse так удобно создает начальный проэкт под STM32, что грех не пользоваться. Тем более, что там так много всего наворочено с библиотеками и link scripts, etc. Не судите строго: я больше по железкам.

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

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


Go to the top of the page
 
+Quote Post
nanorobot
сообщение Jan 8 2015, 09:50
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Где то за кадром, это где?

Сообщение отредактировал IgorKossak - Jan 8 2015, 19:34
Причина редактирования: избыточное цитирование
Go to the top of the page
 
+Quote Post
alexf
сообщение Jan 8 2015, 21:11
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



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


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

В принципе я бы не против делать по старинке если найти шаблоны проэктов под разные чипы.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 8 2015, 21:30
Сообщение #4


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



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

Наверное всё же этот проект создаёт не сама эклипса, а какой-то плагин? Тогда нужно искать в документации/настройках этого плагина.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
alexf
сообщение Jan 9 2015, 01:34
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



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


Это безусловно так. Речь о "GNU ARM C/C++ STM32Fx Project Templates". К сожалению документация на их сайте (http://gnuarmeclipse.livius.net/blog/assign-device-project/) видимо относится к другой версии. Или я что-то не так установил.
Там должно быть можно создать в рамках проэкта другую конфигурацию с другим target CPU. У меня закладки "device" просто нет. Не важно: не так сложно создать новый проэкт и скопировать файлы.
Go to the top of the page
 
+Quote Post
sherr
сообщение Jan 12 2015, 19:54
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 10-06-06
Из: Ставрополь
Пользователь №: 17 955



Цитата(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



Сообщение отредактировал sherr - Jan 12 2015, 20:17
Go to the top of the page
 
+Quote Post
alexf
сообщение Jan 13 2015, 04:11
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



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


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

Не важно. Достаточно просто создать новый проэкт и скопировать файлы.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th June 2025 - 13:49
Рейтинг@Mail.ru


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