Перейти к содержанию

Mac Os Eclipse Startup


kobzar

Рекомендуемые сообщения

Привет ребята!

Решил попробовать на вкус пиченьки от ST

Перечитал кучу литературы. В качестве ИДЕ под макось выбрал еклипс + stlink + gcc-arm-none-eabi

Собрал все в кучу и настроил!

Делал согласно данного мануала (может кому линк пригодится)

http://grafixmafia.n...10-9-mavericks/

А вот дальше вспотыкаюсь! Создал проект мастером для STM32F0 серии - оно там создало "свою атмосфЭру" которая расходится с моими пониманиями о чести и благородстве.

Решил пойти трудным путем! Созда пустой проэкт! ДОбавил папки через еклипс! В папки уже файловым менеджером залил файлы! Проект обновил (рефреш) все увидилось!

Далее внес настройки в файл stm32f0xx_conf.h в котором оставил раскоментированными только gpio и rcc

(Но в самой папке с SPL присутствуют все файлы - делаю себе заготовку под будущие проекты)

И вот при попытке билда - выскакивает такая вот нудота:

17:20:14 **** Incremental Build of configuration Debug for project SCP ****
make all
Building file: ../Libs/firmware/src/stm32f0xx_adc.c
Invoking: Cross ARM C Compiler
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -std=gnu11 -MMD -MP -MF"Libs/firmware/src/stm32f0xx_adc.d" -MT"Libs/firmware/src/stm32f0xx_adc.o" -c -o "Libs/firmware/src/stm32f0xx_adc.o" "../Libs/firmware/src/stm32f0xx_adc.c"
../Libs/firmware/src/stm32f0xx_adc.c:76:27: fatal error: stm32f0xx_adc.h: No such file or directory
#include "stm32f0xx_adc.h"
					 ^
compilation terminated.
make: *** [Libs/firmware/src/stm32f0xx_adc.o] Error 1[/size][/font][/color]
[color=#000000][font='Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif][size=3]17:20:15 Build Finished (took 733ms)

При этом данная либа у меня закомментированна и вобще по идее компилиться не должна!

Самостоятельно разобрать и понять суть ошибки не получилось!

Подскажите место в котором я ошибся!

Проект прилагается!

з.ы. А как кстати заливать с мака прошивку ? Можно через еклипс? (минуя дебаг)

Благодарю!

Прошу прощения если подобная тема была :)

SCP.zip

Изменено пользователем kobzar

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Насколько я знаю, препроцессор пробегается по всем папкам исходников и "собирает" все исходники. Туда же входит и путь /Libs/firmware/src . А вот пути заголовков неправильно прописаны, судя по тексту командной строки (должен быть -I"Libs/firmware/src" в том числе, если верно помню). Поковыряйте Project properties (настройка Includes) или как их там в эклипсе называют, должно помочь.

PS. Шрифт вырвиглазный )

Изменено пользователем Zhuebok
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Таки да

Прописал пути все зашелестело!

Однако - получил кучу других проблем! Пока разбираюсь с чем связанно!

Толи либа не та - толи еще что-то упустил

Кому надо

пишем тут

Snimokekrana2014-11-15v19.1416073562.png

Не совсем пока понял! Но попробую скачать ещзе раз SPL и разсовать библиотеки!

Пока что вижу такую грустную картину

../Libs/firmware/src/stm32f0xx_dac.c: In function 'DAC_DeInit':
../Libs/firmware/src/stm32f0xx_dac.c:165:3: warning: implicit declaration of function 'RCC_APB1PeriphResetCmd' [-Wimplicit-function-declaration]
  RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, ENABLE);
  ^
../Libs/firmware/src/stm32f0xx_dac.c:165:26: error: 'RCC_APB1Periph_DAC' undeclared (first use in this function)
  RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, ENABLE);

Изменено пользователем kobzar

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Подобавлял пути!

Но вылезли другие ошибки суть которых пока так же не ясна !

Например при попытке собрать проект стопоримся на

Invoking: Cross ARM C Compiler
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections  -g3 -I"/Volumes/Z/STM/Projects/SCP/Firmware/CMSIS" -I"/Volumes/Z/STM/Projects/SCP/Firmware/SPL/inc" -I"/Volumes/Z/STM/Projects/SCP/Firmware/SPL/src" -I"/Volumes/Z/STM/Projects/SCP/Conf" -std=gnu99 -MMD -MP -MF"Firmware/SPL/src/stm32f0xx_dac.d" -MT"Firmware/SPL/src/stm32f0xx_dac.o" -c -o "Firmware/SPL/src/stm32f0xx_dac.o" "../Firmware/SPL/src/stm32f0xx_dac.c"
../Firmware/SPL/src/stm32f0xx_dac.c: In function 'DAC_DeInit':
../Firmware/SPL/src/stm32f0xx_dac.c:165:3: warning: implicit declaration of function 'RCC_APB1PeriphResetCmd' [-Wimplicit-function-declaration]
  RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, ENABLE);
  ^
../Firmware/SPL/src/stm32f0xx_dac.c:165:26: error: 'RCC_APB1Periph_DAC' undeclared (first use in this function)
  RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, ENABLE);
					  ^
../Firmware/SPL/src/stm32f0xx_dac.c:165:26: note: each undeclared identifier is reported only once for each function it appears in
../Firmware/SPL/src/stm32f0xx_dac.c: In function 'DAC_Init':
../Firmware/SPL/src/stm32f0xx_dac.c:186:3: warning: implicit declaration of function 'assert_param' [-Wimplicit-function-declaration]
  assert_param(IS_DAC_TRIGGER(DAC_InitStruct->DAC_Trigger));
  ^
make: *** [Firmware/SPL/src/stm32f0xx_dac.o] Error 1

ругается на

void DAC_DeInit(void)
{
 /* Enable DAC reset state */
 RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, ENABLE);
 /* Release DAC from reset state */
 RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, DISABLE);
}

в файле stm32f0xx_dac.h

Может я что-то гдето недоподключил/прописал?

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Продолжаем кушать какстус...

Проблема была в том что просто забыл раскоментить использование стандартнйо либы...

Раскоментил все завелось! Ошибки пропали! И казалось бы на горизонте светит солнце

но не тут то было

сейчас получаю вот такую ошибку и все

19:59:32 **** Incremental Build of configuration Debug for project SCP ****
make all
Building target: SCP.elf
Invoking: Cross ARM C Linker
arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -Wextra  -g3 -Xlinker --gc-sections -Wl,-Map,"SCP.map" -o "SCP.elf"  ./Firmware/SPL/src/stm32f0xx_adc.o ./Firmware/SPL/src/stm32f0xx_can.o ./Firmware/SPL/src/stm32f0xx_cec.o ./Firmware/SPL/src/stm32f0xx_comp.o ./Firmware/SPL/src/stm32f0xx_crc.o ./Firmware/SPL/src/stm32f0xx_crs.o ./Firmware/SPL/src/stm32f0xx_dac.o ./Firmware/SPL/src/stm32f0xx_dbgmcu.o ./Firmware/SPL/src/stm32f0xx_dma.o ./Firmware/SPL/src/stm32f0xx_exti.o ./Firmware/SPL/src/stm32f0xx_flash.o ./Firmware/SPL/src/stm32f0xx_gpio.o ./Firmware/SPL/src/stm32f0xx_i2c.o ./Firmware/SPL/src/stm32f0xx_iwdg.o ./Firmware/SPL/src/stm32f0xx_misc.o ./Firmware/SPL/src/stm32f0xx_pwr.o ./Firmware/SPL/src/stm32f0xx_rcc.o ./Firmware/SPL/src/stm32f0xx_rtc.o ./Firmware/SPL/src/stm32f0xx_spi.o ./Firmware/SPL/src/stm32f0xx_syscfg.o ./Firmware/SPL/src/stm32f0xx_tim.o ./Firmware/SPL/src/stm32f0xx_usart.o ./Firmware/SPL/src/stm32f0xx_wwdg.o  ./Firmware/CMSIS/system_stm32f0xx.o  ./main.o  
/Volumes/Z/STM/Tools/gcc-arm/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m/libg.a(lib_a-exit.o): In function `exit':
exit.c:(.text.exit+0x18): undefined reference to `_exit'
collect2: error: ld returned 1 exit status
make: *** [sCP.elf] Error 1
19:59:33 Build Finished (took 162ms)

При этом - создал рядом проект мастером! Сверил все настройки для обоих проектов!

Ошибок не вижу! Тот что создается мастером собирается - мой - нет!

Что за ошибка и как гриться как с ней бороться?

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Такая же ошибка возникала в первые разы. Сейчас уже точно не вспомню, но, вроде бы, нужно было снять флаг использования стандартных библиотек.

Скачал какой-то плагин для арма, немного отличается от того, что я раньше использовал, но флаг вот этот должен стоять, и следующий за ним тоже (-nostdlib):

post-178068-0-79470900-1416227767_thumb.png

Могут еще повыскакивать ошибки, скорее всего, из-за того, что не будут указаны скрипты линковщика (ld-файлы, где указывается размер стека, и прочее, прочее. Их можно сгенерировать линковщиком, емнип, и потом уже настроить вручную), а также файл ассемблера (с расширением s).

Еще, как вариант, можно прописать в опциях компилятора: --specs=nosys.specs

Изменено пользователем Zhuebok
Ссылка на комментарий
Поделиться на другие сайты

опция прописана - ld скрипты добавленны! на данный момент вижу такую картинку!

Invoking: Cross ARM GNU Print Size

arm-none-eabi-size --format=berkeley "SCP.elf"

text data bss dec hex filename

0 0 256 256 100 SCP.elf

Finished building: SCP.siz

Очевидно что мне не хватает совсем чуть чуть!

В консоли при этом:

Building target: SCP.elf
Invoking: Cross ARM C Linker
arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -Wextra  -g3 -T mem.ld -T libs.ld -T sections.ld -nostartfiles -Xlinker --gc-sections -L"/Users/kobzar/STM/Projects/SCP/Firmware/ldscripts" -Wl,-Map,"SCP.map" --specs=nano.specs -o "SCP.elf"  ./Firmware/SPL/src/stm32f0xx_adc.o ./Firmware/SPL/src/stm32f0xx_can.o ./Firmware/SPL/src/stm32f0xx_cec.o ./Firmware/SPL/src/stm32f0xx_comp.o ./Firmware/SPL/src/stm32f0xx_crc.o ./Firmware/SPL/src/stm32f0xx_crs.o ./Firmware/SPL/src/stm32f0xx_dac.o ./Firmware/SPL/src/stm32f0xx_dbgmcu.o ./Firmware/SPL/src/stm32f0xx_dma.o ./Firmware/SPL/src/stm32f0xx_exti.o ./Firmware/SPL/src/stm32f0xx_flash.o ./Firmware/SPL/src/stm32f0xx_gpio.o ./Firmware/SPL/src/stm32f0xx_i2c.o ./Firmware/SPL/src/stm32f0xx_iwdg.o ./Firmware/SPL/src/stm32f0xx_misc.o ./Firmware/SPL/src/stm32f0xx_pwr.o ./Firmware/SPL/src/stm32f0xx_rcc.o ./Firmware/SPL/src/stm32f0xx_rtc.o ./Firmware/SPL/src/stm32f0xx_spi.o ./Firmware/SPL/src/stm32f0xx_syscfg.o ./Firmware/SPL/src/stm32f0xx_tim.o ./Firmware/SPL/src/stm32f0xx_usart.o ./Firmware/SPL/src/stm32f0xx_wwdg.o  ./Firmware/CMSIS/system_stm32f0xx.o  ./Conf/stm32f0xx_it.o  ./main.o  
/Users/kobzar/STM/Tools/gcc-arm/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000008000000
Finished building target: SCP.elf

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Ну так если ELF файл создался, то его уже можно в прошивальщик грузить.

Если хочется сделать HEX, то в консоли выполнить команду:

arm-none-eabi-objcopy -Oihex SCP.elf SCP.hex

Ссылка на комментарий
Поделиться на другие сайты

Да! Но как видите text и data равны нулю! А так быть не может!

ну и ругань на cannot find entry symbol _start; defaulting to 000000000800000

тоже должна о чем то говорить! Хочется ведь что бы все было как нужно....

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Здесь ассемблеровские файлы для запуска. В параметрах Assembler'а в настройках нужно добавить его (для каждого ядра Cortex свой) и скомпилировать проект заново.

Хотя, насколько я понимаю, их включать вовсе не обязательно. Память программ располагается начиная с адреса 0x08000000 (что должно быть прописано в ld-скрипте), так что это предупреждение можно смело пропустить.

startup.rar

Изменено пользователем Zhuebok
Ссылка на комментарий
Поделиться на другие сайты

Благодарю! :)

Поставил Emblocks - и ниистава щаслив!

Хотелось конечно нативно - но ето полусборка уваленная настоящее говно!

Плоть до того что уже создал проект мастером - набросал код для мигалки светодиода - скомпилилось но бубнопляс продолжается на каждом шагу!

Я конечно понимаю что каждый программист СТМ32 под нормальной ос должен построить свою ИДЕ - но как то влом!

Благодарю за потраченное время!

коплю на мечту - Днепр К750

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...