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

 
 
19 страниц V  « < 14 15 16 17 18 > »   
Reply to this topicStart new topic
> Eclipse + GCC для ARM, Среда разработки для ARM, причем бесплатная...
DmitryM
сообщение Jun 18 2014, 07:14
Сообщение #226


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(andrey74 @ Jun 18 2014, 08:58) *
stm32_flash.ld:79: syntax error


79 строка линкер-файла biggrin.gif
Go to the top of the page
 
+Quote Post
andrey74
сообщение Jun 19 2014, 03:34
Сообщение #227


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 14-02-11
Пользователь №: 62 953



Цитата(DmitryM @ Jun 18 2014, 11:14) *
79 строка линкер-файла biggrin.gif

Разобрался. Просто перед компиляцией поправил файл .ld но нажал кнопочку "Сохранить" и он мне все по старому шпарил.

А есть ли Rtos под эклипс? freeRtos можно запилить туда?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 19 2014, 06:04
Сообщение #228


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(andrey74 @ Jun 19 2014, 06:34) *
А есть ли Rtos под эклипс?
Мне кажется текстовуму редактору (Эклипсе) абсолютно все равно, исходники какой ОСРВ вы будете в нем править. Так же и ОСРВ будет работать независимо от того, в каком редакторе вы будуте править ее исходники.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
den_po
сообщение Jun 19 2014, 11:38
Сообщение #229


Частый гость
**

Группа: Участник
Сообщений: 139
Регистрация: 9-11-12
Из: Санкт-Петербург
Пользователь №: 74 315



Цитата(Сергей Борщ @ Jun 19 2014, 10:04) *
Мне кажется текстовуму редактору (Эклипсе) абсолютно все равно, исходники какой ОСРВ вы будете в нем править. Так же и ОСРВ будет работать независимо от того, в каком редакторе вы будуте править ее исходники.

Разница может быть при отладке
Go to the top of the page
 
+Quote Post
Dubov
сообщение Jul 2 2014, 08:41
Сообщение #230


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



Прошу помочь советом. Установил Eclipse Kepler. По ссылке ( http://gnuarmeclipse.sourceforge.net/updates ) установил ARM Cross GCC.

После обновления в опциях создания проекта появились STM32F10X, что мне и нужно было.
Создал проект автоматически со всеми настройками.

1)При попытке сборки получил: cs-make ***[system/src/stm32f1-stdperiph/misc.o] error 1

2) постоянно вижу ошибку: Type 'uint8_t' could not be resolved
включение #include <stdint.h> результата не дало (

в чем может быть проблема?

Сообщение отредактировал Dubov - Jul 2 2014, 08:46
Go to the top of the page
 
+Quote Post
viakon
сообщение Aug 4 2014, 03:48
Сообщение #231


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(Dubov @ Jul 2 2014, 14:41) *
Прошу помочь советом. Установил Eclipse Kepler. По ссылке ( http://gnuarmeclipse.sourceforge.net/updates ) установил ARM Cross GCC.

После обновления в опциях создания проекта появились STM32F10X, что мне и нужно было.
Создал проект автоматически со всеми настройками.

1)При попытке сборки получил: cs-make ***[system/src/stm32f1-stdperiph/misc.o] error 1

2) постоянно вижу ошибку: Type 'uint8_t' could not be resolved
включение #include <stdint.h> результата не дало (

в чем может быть проблема?


Из моего скромного опыта. Сначала надо ставить GCC, потом клипсу, тогда она автоматом цепляет инклюды.
Go to the top of the page
 
+Quote Post
Neborak
сообщение Sep 24 2014, 08:35
Сообщение #232


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 13-04-09
Пользователь №: 47 609



Всем привет. Только начал въезжать в связку Eclipse+GСC.
Установил:
-Eclipse IDE for C/C++ Developers Luna Release (4.4.0);
-Sourcery CodeBench Lite for ARM EABI;
-ARM plugin;

Создал проект на основе шаблона STM32F10X C/C++ Project, выбрав Toolchains Cross ARM GCC, в разделе Content указал Blinkly (создал проект с миганием светодиодом).
Скорректировал порт светодиода под STM32F1Discovery, компилирую.
Первая проблема - не понимает синтаксис make файла, по умолчанию make стоит от С++ builderа, правлю и указываю на cs-make.
Теперь компилит но на линкере останавливается с ошибкой
Код
arm-none-eabi-g++: error: nano.specs: No such file or directory

Ничего лучше не нашел как из настроек линкера убрать ключ --specs=nano.specs, стал компилироваться hex-файл. Заливаю его через STM32 ST-Link Utility - светодиод не мигает.
Смотрю, нет в проекте ассемблерного файла, нахожу его для своего контроллера и импортирую в проект, меняя букву расширения с .s на .S. Тоже компилируется, но, после загрузки программатором светодиод по прежнему не мигает.
Беру пример тут, ручками правлю порт светодиода, компилю, гружу в контроллер - мигает.
Это вкратце свои как я провел начало недели.
Ребята, подскажите, что делаю не так?
Go to the top of the page
 
+Quote Post
Mihey_K
сообщение Sep 24 2014, 11:45
Сообщение #233


Частый гость
**

Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747



Может проект свой прикрепите, а то телепатия какая-то получается...


--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
Go to the top of the page
 
+Quote Post
Neborak
сообщение Sep 24 2014, 12:11
Сообщение #234


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 13-04-09
Пользователь №: 47 609



Цитата(Mihey_K @ Sep 24 2014, 14:45) *
Может проект свой прикрепите, а то телепатия какая-то получается...
Выложить не проблема, смотреть там нет на что. Перефразирую вопрос по другому, если поставить компилятор и плагин, то нужно ли что-то дорабатывать ручками, что бы программа заработала в контроллере?
Пока ждал ответ запустил отладку, конечно как-то нестабильно работает, но удалось увидеть, что висит в HardFault_Handler(), до main не доходит.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 24 2014, 16:08
Сообщение #235


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

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



Цитата(Neborak @ Sep 24 2014, 14:35) *
Код
arm-none-eabi-g++: error: nano.specs: No such file or directory

Ничего лучше не нашел как из настроек линкера убрать ключ --specs=nano.specs, стал компилироваться hex-файл. Заливаю его через STM32 ST-Link Utility - светодиод не мигает.

Видимо, Sourcery CodeBench Lite этого не понимает. Советую gcc-arm-embedded, он - понимает.
Цитата(Neborak @ Sep 24 2014, 14:35) *
Ребята, подскажите, что делаю не так?

Нужно включить в проект соответствующие контроллеру файлы:
  • скрипт линкера (*.ld), чтобы линкер знал размеры памяти контроллера;
  • стартап-файл (*.S), чтобы компилятор знал таблицу векторов прерываний данного контроллера;
  • файл инициализации периферии (*.c) (файл с функцией SystemInit(), или что-то в этом роде.), чтобы правильно инициализировать периферию контроллера перед выполнением вашей программы по миганию светодиодом.

Судя по всему, вы выполнили только второй пункт.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Mihey_K
сообщение Sep 25 2014, 13:16
Сообщение #236


Частый гость
**

Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747



АНТОХА верно про список все указал, а arm-none-eabi-gcc --spec понимает. Если плагин стоит, а вы писали что поставили, то достаточно создать проект, выбрать правильную платформу (Cortex-M3), пройтись по настройкам инклудов, линкера, дефайнов, проверить что все на месте, как указал АНТОХА. Для STM32 как раз надо в настройках задефайнить 100500 символов, указывающих какой именно чип используете, на какой частоте и т.д. Плагин сам подхватит нужный компилятор.


--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
Go to the top of the page
 
+Quote Post
Neborak
сообщение Sep 28 2014, 07:32
Сообщение #237


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 13-04-09
Пользователь №: 47 609



Цитата(AHTOXA @ Sep 24 2014, 19:08) *
Видимо, Sourcery CodeBench Lite этого не понимает. Советую gcc-arm-embedded, он - понимает.

Нужно включить в проект соответствующие контроллеру файлы:
  • скрипт линкера (*.ld), чтобы линкер знал размеры памяти контроллера;
  • стартап-файл (*.S), чтобы компилятор знал таблицу векторов прерываний данного контроллера;
  • файл инициализации периферии (*.c) (файл с функцией SystemInit(), или что-то в этом роде.), чтобы правильно инициализировать периферию контроллера перед выполнением вашей программы по миганию светодиодом.

Судя по всему, вы выполнили только второй пункт.

Спасибо за ответ, последняя версия плагина сама создает скрипт линкера, а вот про SystemInit() я совсем забыл. Помню, что для GCC он не нужен в main, он из стартап-файла вызывается, но его реализации у меня не было. Отпишусь о результатах.

Цитата(Mihey_K @ Sep 25 2014, 16:16) *
а arm-none-eabi-gcc --spec понимает
Подскажите, за что это ключ отвечает?

Сообщение отредактировал Neborak - Sep 28 2014, 07:34
Go to the top of the page
 
+Quote Post
Neborak
сообщение Oct 6 2014, 11:56
Сообщение #238


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 13-04-09
Пользователь №: 47 609



Цитата(AHTOXA @ Sep 24 2014, 19:08) *
Видимо, Sourcery CodeBench Lite этого не понимает. Советую gcc-arm-embedded, он - понимает.
Психанул и поставил gcc-arm-embedded, действительно ключ линкера --specs=nano.specs он принял. Еще нарыл, что стояла галка в опции линкера -nostartfiles, из-за этого программа не входила в main. Теперь, после запуска отладки вижу курсор на _start(), а не DefaultHandler(). Куда дальше шагает - не вижу, после step into курсор пропадает вообще. Светодиоды по прежнему не мигают. Пока пытаюсь добиться нормальной работы отладчика.

Добавлено:
Такое чувство, что не добавляет в итоговый код мой *.S файл, но компилит его. В момент старта отладки переходу в какой-то сишный файл, в котором определена _start(), а не в ассемблерный. Все ближе к тому, что бы сдаться.

Сообщение отредактировал Neborak - Oct 6 2014, 14:24
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Oct 6 2014, 15:18
Сообщение #239


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

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



Спокойствие, только спокойствие! ©
1. -nostartfiles - правильная птичка. У вас есть свой стартап-файл (который *.S), и вам не нужны другие, которые предлагаются по умолчанию.
2. SystemInit() вы нашли?
3. Почему вы не хотите взять тот проект, который замигал, и начать переделывать под себя его?
4. Ещё вариант, гарантированно рабочий - не полагаться на плагин, а использовать "makefile проект". Примеры таких проектов есть, например, в scmRTOS.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Oct 8 2014, 10:16
Сообщение #240


Местный
***

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



Цитата(AHTOXA @ Oct 6 2014, 21:18) *
Спокойствие, только спокойствие! ©
1. -nostartfiles - правильная птичка. У вас есть свой стартап-файл (который *.S), и вам не нужны другие, которые предлагаются по умолчанию.
2. SystemInit() вы нашли?
3. Почему вы не хотите взять тот проект, который замигал, и начать переделывать под себя его?
4. Ещё вариант, гарантированно рабочий - не полагаться на плагин, а использовать "makefile проект". Примеры таких проектов есть, например, в scmRTOS.



Извините, Антоха. Ламерский вопрос: Просмотрел примеры за Вашим авторством, никак не мог обнаружить где в состав проекта(примера) включаются исходные файлы scmRtos\Common\
Как то неявным образом через wildcard и указанием пути?
Go to the top of the page
 
+Quote Post

19 страниц V  « < 14 15 16 17 18 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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