kobzar Опубликовано 15 ноября, 2014 Поделиться Опубликовано 15 ноября, 2014 (изменено) Привет ребята! Решил попробовать на вкус пиченьки от 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 Изменено 15 ноября, 2014 пользователем kobzar 0 коплю на мечту - Днепр К750 Ссылка на комментарий Поделиться на другие сайты Поделиться
Zhuebok Опубликовано 15 ноября, 2014 Поделиться Опубликовано 15 ноября, 2014 (изменено) Насколько я знаю, препроцессор пробегается по всем папкам исходников и "собирает" все исходники. Туда же входит и путь /Libs/firmware/src . А вот пути заголовков неправильно прописаны, судя по тексту командной строки (должен быть -I"Libs/firmware/src" в том числе, если верно помню). Поковыряйте Project properties (настройка Includes) или как их там в эклипсе называют, должно помочь. PS. Шрифт вырвиглазный ) Изменено 15 ноября, 2014 пользователем Zhuebok 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
kobzar Опубликовано 15 ноября, 2014 Автор Поделиться Опубликовано 15 ноября, 2014 (изменено) Таки да Прописал пути все зашелестело! Однако - получил кучу других проблем! Пока разбираюсь с чем связанно! Толи либа не та - толи еще что-то упустил Кому надо пишем тут Не совсем пока понял! Но попробую скачать ещзе раз 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); Изменено 15 ноября, 2014 пользователем kobzar 0 коплю на мечту - Днепр К750 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
kobzar Опубликовано 16 ноября, 2014 Автор Поделиться Опубликовано 16 ноября, 2014 Подобавлял пути! Но вылезли другие ошибки суть которых пока так же не ясна ! Например при попытке собрать проект стопоримся на 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 Может я что-то гдето недоподключил/прописал? 0 коплю на мечту - Днепр К750 Ссылка на комментарий Поделиться на другие сайты Поделиться
kobzar Опубликовано 16 ноября, 2014 Автор Поделиться Опубликовано 16 ноября, 2014 Продолжаем кушать какстус... Проблема была в том что просто забыл раскоментить использование стандартнйо либы... Раскоментил все завелось! Ошибки пропали! И казалось бы на горизонте светит солнце но не тут то было сейчас получаю вот такую ошибку и все 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) При этом - создал рядом проект мастером! Сверил все настройки для обоих проектов! Ошибок не вижу! Тот что создается мастером собирается - мой - нет! Что за ошибка и как гриться как с ней бороться? 0 коплю на мечту - Днепр К750 Ссылка на комментарий Поделиться на другие сайты Поделиться
Zhuebok Опубликовано 17 ноября, 2014 Поделиться Опубликовано 17 ноября, 2014 (изменено) Такая же ошибка возникала в первые разы. Сейчас уже точно не вспомню, но, вроде бы, нужно было снять флаг использования стандартных библиотек. Скачал какой-то плагин для арма, немного отличается от того, что я раньше использовал, но флаг вот этот должен стоять, и следующий за ним тоже (-nostdlib): Могут еще повыскакивать ошибки, скорее всего, из-за того, что не будут указаны скрипты линковщика (ld-файлы, где указывается размер стека, и прочее, прочее. Их можно сгенерировать линковщиком, емнип, и потом уже настроить вручную), а также файл ассемблера (с расширением s). Еще, как вариант, можно прописать в опциях компилятора: --specs=nosys.specs Изменено 18 ноября, 2014 пользователем Zhuebok 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
kobzar Опубликовано 18 ноября, 2014 Автор Поделиться Опубликовано 18 ноября, 2014 опция прописана - 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 0 коплю на мечту - Днепр К750 Ссылка на комментарий Поделиться на другие сайты Поделиться
Zhuebok Опубликовано 18 ноября, 2014 Поделиться Опубликовано 18 ноября, 2014 Ну так если ELF файл создался, то его уже можно в прошивальщик грузить. Если хочется сделать HEX, то в консоли выполнить команду: arm-none-eabi-objcopy -Oihex SCP.elf SCP.hex 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
kobzar Опубликовано 18 ноября, 2014 Автор Поделиться Опубликовано 18 ноября, 2014 Да! Но как видите text и data равны нулю! А так быть не может! ну и ругань на cannot find entry symbol _start; defaulting to 000000000800000 тоже должна о чем то говорить! Хочется ведь что бы все было как нужно.... 0 коплю на мечту - Днепр К750 Ссылка на комментарий Поделиться на другие сайты Поделиться
Zhuebok Опубликовано 18 ноября, 2014 Поделиться Опубликовано 18 ноября, 2014 (изменено) Здесь ассемблеровские файлы для запуска. В параметрах Assembler'а в настройках нужно добавить его (для каждого ядра Cortex свой) и скомпилировать проект заново. Хотя, насколько я понимаю, их включать вовсе не обязательно. Память программ располагается начиная с адреса 0x08000000 (что должно быть прописано в ld-скрипте), так что это предупреждение можно смело пропустить. startup.rar Изменено 19 ноября, 2014 пользователем Zhuebok 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
kobzar Опубликовано 19 ноября, 2014 Автор Поделиться Опубликовано 19 ноября, 2014 Благодарю! Поставил Emblocks - и ниистава щаслив! Хотелось конечно нативно - но ето полусборка уваленная настоящее говно! Плоть до того что уже создал проект мастером - набросал код для мигалки светодиода - скомпилилось но бубнопляс продолжается на каждом шагу! Я конечно понимаю что каждый программист СТМ32 под нормальной ос должен построить свою ИДЕ - но как то влом! Благодарю за потраченное время! 0 коплю на мечту - Днепр К750 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.