DmitryM 0 18 июня, 2014 Опубликовано 18 июня, 2014 · Жалоба stm32_flash.ld:79: syntax error 79 строка линкер-файла Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrey74 0 19 июня, 2014 Опубликовано 19 июня, 2014 · Жалоба 79 строка линкер-файла Разобрался. Просто перед компиляцией поправил файл .ld но нажал кнопочку "Сохранить" и он мне все по старому шпарил. А есть ли Rtos под эклипс? freeRtos можно запилить туда? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 141 19 июня, 2014 Опубликовано 19 июня, 2014 · Жалоба А есть ли Rtos под эклипс?Мне кажется текстовуму редактору (Эклипсе) абсолютно все равно, исходники какой ОСРВ вы будете в нем править. Так же и ОСРВ будет работать независимо от того, в каком редакторе вы будуте править ее исходники. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
den_po 0 19 июня, 2014 Опубликовано 19 июня, 2014 · Жалоба Мне кажется текстовуму редактору (Эклипсе) абсолютно все равно, исходники какой ОСРВ вы будете в нем править. Так же и ОСРВ будет работать независимо от того, в каком редакторе вы будуте править ее исходники. Разница может быть при отладке Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dubov 0 2 июля, 2014 Опубликовано 2 июля, 2014 (изменено) · Жалоба Прошу помочь советом. Установил 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> результата не дало ( в чем может быть проблема? Изменено 2 июля, 2014 пользователем Dubov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
viakon 0 4 августа, 2014 Опубликовано 4 августа, 2014 · Жалоба Прошу помочь советом. Установил 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, потом клипсу, тогда она автоматом цепляет инклюды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Neborak 0 24 сентября, 2014 Опубликовано 24 сентября, 2014 · Жалоба Всем привет. Только начал въезжать в связку 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. Тоже компилируется, но, после загрузки программатором светодиод по прежнему не мигает. Беру пример тут, ручками правлю порт светодиода, компилю, гружу в контроллер - мигает. Это вкратце свои как я провел начало недели. Ребята, подскажите, что делаю не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
miheyk 0 24 сентября, 2014 Опубликовано 24 сентября, 2014 · Жалоба Может проект свой прикрепите, а то телепатия какая-то получается... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Neborak 0 24 сентября, 2014 Опубликовано 24 сентября, 2014 · Жалоба Может проект свой прикрепите, а то телепатия какая-то получается...Выложить не проблема, смотреть там нет на что. Перефразирую вопрос по другому, если поставить компилятор и плагин, то нужно ли что-то дорабатывать ручками, что бы программа заработала в контроллере? Пока ждал ответ запустил отладку, конечно как-то нестабильно работает, но удалось увидеть, что висит в HardFault_Handler(), до main не доходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 24 сентября, 2014 Опубликовано 24 сентября, 2014 · Жалоба 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, он - понимает. Ребята, подскажите, что делаю не так? Нужно включить в проект соответствующие контроллеру файлы: скрипт линкера (*.ld), чтобы линкер знал размеры памяти контроллера; стартап-файл (*.S), чтобы компилятор знал таблицу векторов прерываний данного контроллера; файл инициализации периферии (*.c) (файл с функцией SystemInit(), или что-то в этом роде.), чтобы правильно инициализировать периферию контроллера перед выполнением вашей программы по миганию светодиодом. Судя по всему, вы выполнили только второй пункт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
miheyk 0 25 сентября, 2014 Опубликовано 25 сентября, 2014 · Жалоба АНТОХА верно про список все указал, а arm-none-eabi-gcc --spec понимает. Если плагин стоит, а вы писали что поставили, то достаточно создать проект, выбрать правильную платформу (Cortex-M3), пройтись по настройкам инклудов, линкера, дефайнов, проверить что все на месте, как указал АНТОХА. Для STM32 как раз надо в настройках задефайнить 100500 символов, указывающих какой именно чип используете, на какой частоте и т.д. Плагин сам подхватит нужный компилятор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Neborak 0 28 сентября, 2014 Опубликовано 28 сентября, 2014 (изменено) · Жалоба Видимо, Sourcery CodeBench Lite этого не понимает. Советую gcc-arm-embedded, он - понимает. Нужно включить в проект соответствующие контроллеру файлы: скрипт линкера (*.ld), чтобы линкер знал размеры памяти контроллера; стартап-файл (*.S), чтобы компилятор знал таблицу векторов прерываний данного контроллера; файл инициализации периферии (*.c) (файл с функцией SystemInit(), или что-то в этом роде.), чтобы правильно инициализировать периферию контроллера перед выполнением вашей программы по миганию светодиодом. Судя по всему, вы выполнили только второй пункт. Спасибо за ответ, последняя версия плагина сама создает скрипт линкера, а вот про SystemInit() я совсем забыл. Помню, что для GCC он не нужен в main, он из стартап-файла вызывается, но его реализации у меня не было. Отпишусь о результатах. а arm-none-eabi-gcc --spec понимает Подскажите, за что это ключ отвечает? Изменено 28 сентября, 2014 пользователем Neborak Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Neborak 0 6 октября, 2014 Опубликовано 6 октября, 2014 (изменено) · Жалоба Видимо, Sourcery CodeBench Lite этого не понимает. Советую gcc-arm-embedded, он - понимает.Психанул и поставил gcc-arm-embedded, действительно ключ линкера --specs=nano.specs он принял. Еще нарыл, что стояла галка в опции линкера -nostartfiles, из-за этого программа не входила в main. Теперь, после запуска отладки вижу курсор на _start(), а не DefaultHandler(). Куда дальше шагает - не вижу, после step into курсор пропадает вообще. Светодиоды по прежнему не мигают. Пока пытаюсь добиться нормальной работы отладчика. Добавлено: Такое чувство, что не добавляет в итоговый код мой *.S файл, но компилит его. В момент старта отладки переходу в какой-то сишный файл, в котором определена _start(), а не в ассемблерный. Все ближе к тому, что бы сдаться. Изменено 6 октября, 2014 пользователем Neborak Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 6 октября, 2014 Опубликовано 6 октября, 2014 · Жалоба Спокойствие, только спокойствие! © 1. -nostartfiles - правильная птичка. У вас есть свой стартап-файл (который *.S), и вам не нужны другие, которые предлагаются по умолчанию. 2. SystemInit() вы нашли? 3. Почему вы не хотите взять тот проект, который замигал, и начать переделывать под себя его? 4. Ещё вариант, гарантированно рабочий - не полагаться на плагин, а использовать "makefile проект". Примеры таких проектов есть, например, в scmRTOS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 6 8 октября, 2014 Опубликовано 8 октября, 2014 · Жалоба Спокойствие, только спокойствие! © 1. -nostartfiles - правильная птичка. У вас есть свой стартап-файл (который *.S), и вам не нужны другие, которые предлагаются по умолчанию. 2. SystemInit() вы нашли? 3. Почему вы не хотите взять тот проект, который замигал, и начать переделывать под себя его? 4. Ещё вариант, гарантированно рабочий - не полагаться на плагин, а использовать "makefile проект". Примеры таких проектов есть, например, в scmRTOS. Извините, Антоха. Ламерский вопрос: Просмотрел примеры за Вашим авторством, никак не мог обнаружить где в состав проекта(примера) включаются исходные файлы scmRtos\Common\ Как то неявным образом через wildcard и указанием пути? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться