Easyelectronics.ru

Электроника для всех
Текущее время: 24 окт 2020, 19:23

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: не компилируется :(
СообщениеДобавлено: 17 сен 2012, 22:34 
Только пришел

Зарегистрирован: 17 сен 2012, 22:23
Сообщения: 9
Здравствуйте, уважаемые Форумчане..
У меня к Вам вопрос пытаюсь создать проект под stm32f4-discovery в coocox'e. Проблема заключатеся в том, что когда я пишу что-либо делать с портами он не хочет компилировать :( будь-то исходник из примеров кокоса или с какого-нибудь сайта.. одно и тоже.
Вот что выдает компилятор:
    GCC HOME: C:\toolch\bin
    compile:
    [mkdir] Skipping C:\CooCox\CoIDE\workspace\stm32\Debug\bin because it already exists.
    [mkdir] Skipping C:\CooCox\CoIDE\workspace\stm32\Debug\obj because it already exists.
    [cc] Starting dependency analysis for 10 files.
    [cc] Parsing ..\..\cmsis_boot\stm32f4xx.h
    [cc] Parsing ..\..\cmsis_lib\include\core_cm4.h
    [cc] Parsing ..\..\cmsis_boot\stm32f4xx_conf.h
    [cc] Parsing ..\..\cmsis_lib\include\core_cmInstr.h
    [cc] Parsing ..\..\cmsis_lib\include\core_cmFunc.h
    [cc] Parsing ..\..\cmsis_lib\include\core_cm4_simd.h
    [cc] Parsing ..\..\syscalls\syscalls.c
    [cc] 10 files are up to date.
    [cc] 0 files to be recompiled from dependency analysis.
    [cc] 1 total files to be compiled.
    [cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mthumb -Wall -ffunction-sections -O0 -g -c -DSTM32F407VG -IC:\CooCox\CoIDE\workspace\stm32 -IC:\CooCox\CoIDE\workspace\stm32\cmsis_lib -IC:\CooCox\CoIDE\workspace\stm32\cmsis_lib\include -IC:\CooCox\CoIDE\workspace\stm32\cmsis_boot C:\CooCox\CoIDE\workspace\stm32\main.c
    [cc] C:\CooCox\CoIDE\workspace\stm32\main.c:6:6: warning: return type of 'main' is not 'int' [-Wmain]
    [cc] Starting link
    [cc] arm-none-eabi-gcc -O0 -nostartfiles -Wl,-Map=stm32.map -mcpu=cortex-m4 -mthumb -LC:\CooCox\CoIDE\workspace\stm32 -Wl,--gc-sections -Wl,-TC:\CooCox\CoIDE\workspace\stm32\arm-gcc-link.ld -g -o stm32.elf ..\obj\stm32f4xx_syscfg.o ..\obj\stm32f4xx_pwr.o ..\obj\startup_stm32f4xx.o ..\obj\stm32f4xx_crc.o ..\obj\main.o ..\obj\stm32f4xx_rcc.o ..\obj\stm32f4xx_gpio.o ..\obj\system_stm32f4xx.o ..\obj\syscalls.o ..\obj\misc.o ..\obj\stm32f4xx_rtc.o
    [cc] ..\obj\stm32f4xx_gpio.o: In function `GPIO_SetBits':
    [cc] C:\CooCox\CoIDE\workspace\stm32\cmsis_lib\source/stm32f4xx_gpio.c:383: undefined reference to `assert_param'
    [cc] C:\CooCox\CoIDE\workspace\stm32\cmsis_lib\source/stm32f4xx_gpio.c:384: undefined reference to `assert_param'
    [cc] collect2: ld returned 1 exit status

    BUILD FAILED
    Total time: 1 second


это при таком коде:
Код:

#include "stm32f4xx.h"
#include "stm32f4xx_gpio.h"
#include "stm32f4xx_rcc.h"

void main (void)
{
   GPIO_SetBits(GPIOG, GPIO_Pin_6);
}



Т.е. я просто взял строчку

    GPIO_SetBits(GPIOG, GPIO_Pin_6);

и скопировал из примера.

Пробовал так делать:
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

тоже самое..
Скажете, пожалуйста В ЧЕМ ошибка? Не правильно настроена среда разработки или что-то в коде не так?
Два дня уже с этим мучаюсь :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 17 сен 2012, 22:36 
Старожил

Зарегистрирован: 24 окт 2011, 17:29
Сообщения: 2338
Откуда: Украина
а так:
int main (void)
компилируется?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 17 сен 2012, 22:40 
Только пришел

Зарегистрирован: 17 сен 2012, 22:23
Сообщения: 9
led_fan писал(а):
а так:
int main (void)
компилируется?


не-а, та же самая ошибка :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 17 сен 2012, 22:40 
Заглядывает иногда

Зарегистрирован: 08 май 2012, 21:18
Сообщения: 184
Откуда: Омск
gpoodprog писал(а):
led_fan писал(а):
а так:
int main (void)
компилируется?


не-а, та же самая ошибка :(

https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32F4DISCOVERY/DispForm.aspx?ID=269

_________________
Прежде чем спорить подумай о том что воевать можно бесконечно, а вот мир бывает крайне коротким и редким. Мой сайт про stm32 и не только - www.nis-embedded.blogspot.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 17 сен 2012, 22:42 
Заглядывает иногда

Зарегистрирован: 08 май 2012, 21:18
Сообщения: 184
Откуда: Омск
Либо как говорят в http://www.mikrocontroller.net/topic/259395
Во флагах проекта:
Код:
-D"assert_param(expr)=((void)0)"


или в main.c:
Код:
#ifdef  USE_FULL_ASSERT
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
  void assert_failed(uint8_t* file, uint32_t line);
#else
  #define assert_param(expr) ((void)0)
#endif

_________________
Прежде чем спорить подумай о том что воевать можно бесконечно, а вот мир бывает крайне коротким и редким. Мой сайт про stm32 и не только - www.nis-embedded.blogspot.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 17 сен 2012, 22:54 
Только пришел

Зарегистрирован: 17 сен 2012, 22:23
Сообщения: 9
nis писал(а):

или в main.c:
Код:
#ifdef  USE_FULL_ASSERT
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
  void assert_failed(uint8_t* file, uint32_t line);
#else
  #define assert_param(expr) ((void)0)
#endif


Попробовал.. тоже самое..

Цитата:
Во флагах проекта:
Код:
-D"assert_param(expr)=((void)0)"


а что это значит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 17 сен 2012, 22:56 
Только пришел

Зарегистрирован: 17 сен 2012, 22:23
Сообщения: 9
Кака я понимаю освноная ошибка это вот эта:

[cc] arm-none-eabi-gcc -O0 -nostartfiles -Wl,-Map=stm32.map -mcpu=cortex-m4 -mthumb -LC:\CooCox\CoIDE\workspace\stm32 -Wl,--gc-sections -Wl,-TC:\CooCox\CoIDE\workspace\stm32\arm-gcc-link.ld -g -o stm32.elf ..\obj\stm32f4xx_syscfg.o ..\obj\stm32f4xx_pwr.o ..\obj\startup_stm32f4xx.o ..\obj\stm32f4xx_crc.o ..\obj\main.o ..\obj\stm32f4xx_rcc.o ..\obj\stm32f4xx_gpio.o ..\obj\system_stm32f4xx.o ..\obj\syscalls.o ..\obj\misc.o ..\obj\stm32f4xx_rtc.o
[cc] ..\obj\stm32f4xx_gpio.o: In function `GPIO_SetBits':


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 17 сен 2012, 23:51 
Старожил

Зарегистрирован: 30 апр 2010, 22:56
Сообщения: 1589
Откуда: Киев
gpoodprog писал(а):
nis писал(а):

или в main.c:
Код:
#ifdef  USE_FULL_ASSERT
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
  void assert_failed(uint8_t* file, uint32_t line);
#else
  #define assert_param(expr) ((void)0)
#endif


Попробовал.. тоже самое..



В папке проекта должен быть файл stm32f4xx_conf.h
Вот у него в конце и должны быть определены эти макросы. Да и дефайн
#define USE_FULL_ASSERT 1
там же

в main не поможет, потому что объектники библиотеки компилятся отдельно от main


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 18 сен 2012, 06:09 
Старожил

Зарегистрирован: 28 май 2012, 09:26
Сообщения: 229
Да была такая проблема, вы, видимо, сами закидывали CMISIS в папку проекта, нужно просто обновить репозиторий CooIDE (там значек есть) при этом в репе появится CMISIS его нужно добавить.
После этого все компиллится без проблем.
Кстати там в конфиге по умолчанию настроено на внешний кварц на 25МГц. Для stm32f4-discovery нужно менять коэфф PLL.
Так же там написано что отключена предвыборка из флеш. (т.к. первые ревизии чипов ее не поддерживали).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 18 сен 2012, 08:55 
Только пришел

Зарегистрирован: 17 сен 2012, 22:23
Сообщения: 9
makser писал(а):
вы, видимо, сами закидывали CMISIS в папку проекта,

да-да-да, сам..
Steel.ne писал(а):
нужно просто обновить репозиторий CooIDE (там значек есть) при этом в репе появится CMISIS его нужно добавить.

Сделал.. и опять тоже самое *бьется головой об клаву*
Да, теперь появился CMSIS в проекте сам (создал новый проект) но компилироваться он так и не хочет :(

Код:
GCC HOME: C:\toolch\bin
compile:
    [mkdir] Skipping C:\CooCox\CoIDE\workspace\stmm32\Debug\bin because it already exists.
    [mkdir] Skipping C:\CooCox\CoIDE\workspace\stmm32\Debug\obj because it already exists.
       [cc] Starting dependency analysis for 4 files.
       [cc] Parsing ..\..\cmsis_boot\stm32f4xx.h
       [cc] Parsing ..\..\cmsis\core_cm4.h
       [cc] Parsing ..\..\cmsis_boot\stm32f4xx_conf.h
       [cc] Parsing ..\..\cmsis\core_cmInstr.h
       [cc] Parsing ..\..\cmsis\core_cmFunc.h
       [cc] Parsing ..\..\cmsis\core_cm4_simd.h
       [cc] 4 files are up to date.
       [cc] 0 files to be recompiled from dependency analysis.
       [cc] 1 total files to be compiled.
       [cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -mthumb -Wall -ffunction-sections -O0 -g -c -DSTM32F407VG -IC:\CooCox\CoIDE\workspace\stmm32 -IC:\CooCox\CoIDE\workspace\stmm32\cmsis -IC:\CooCox\CoIDE\workspace\stmm32\cmsis_lib -IC:\CooCox\CoIDE\workspace\stmm32\cmsis_lib\include -IC:\CooCox\CoIDE\workspace\stmm32\cmsis_boot C:\CooCox\CoIDE\workspace\stmm32\main.c
       [cc] Starting link
       [cc] arm-none-eabi-gcc -O0 -nostartfiles -Wl,-Map=stmm32.map -mcpu=cortex-m4 -mthumb -LC:\CooCox\CoIDE\workspace\stmm32 -Wl,--gc-sections -Wl,-TC:\CooCox\CoIDE\workspace\stmm32\arm-gcc-link.ld -g -o stmm32.elf ..\obj\startup_stm32f4xx.o ..\obj\main.o ..\obj\stm32f4xx_rcc.o ..\obj\stm32f4xx_gpio.o ..\obj\system_stm32f4xx.o
       [cc] ..\obj\stm32f4xx_gpio.o: In function `GPIO_SetBits':
       [cc] C:\CooCox\CoIDE\workspace\stmm32\cmsis_lib\source/stm32f4xx_gpio.c:383: undefined reference to `assert_param'
       [cc] C:\CooCox\CoIDE\workspace\stmm32\cmsis_lib\source/stm32f4xx_gpio.c:384: undefined reference to `assert_param'
       [cc] collect2: ld returned 1 exit status

BUILD FAILED
Total time: 0 seconds



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 18 сен 2012, 08:59 
Только пришел

Зарегистрирован: 17 сен 2012, 22:23
Сообщения: 9
Steel.ne писал(а):
gpoodprog писал(а):
nis писал(а):

или в main.c:
Код:
#ifdef  USE_FULL_ASSERT
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
  void assert_failed(uint8_t* file, uint32_t line);
#else
  #define assert_param(expr) ((void)0)
#endif


Попробовал.. тоже самое..



В папке проекта должен быть файл stm32f4xx_conf.h
Вот у него в конце и должны быть определены эти макросы. Да и дефайн
#define USE_FULL_ASSERT 1
там же

в main не поможет, потому что объектники библиотеки компилятся отдельно от main



Открыл этот файл, там это уже прописано, в конце..
Добавил в начало
#define USE_FULL_ASSERT 1
но ничего не изменилось:(((((((


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 18 сен 2012, 09:49 
Старожил

Зарегистрирован: 28 май 2012, 09:26
Сообщения: 229
Вот рабочий проект, попробуйте сравнить файлы и настройки


Вложения:
testf4.zip [144.41 Кб]
Скачиваний: 634
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 18 сен 2012, 17:01 
Только пришел

Зарегистрирован: 17 сен 2012, 22:23
Сообщения: 9
makser писал(а):
Вот рабочий проект, попробуйте сравнить файлы и настройки


Большое спасибо Вам, и всем кто тут отписывался)
Ваш проект скомпилировался сразу же, смотрел конфигурации - одинаковые, за исключением:
Вложение:
Новый точечный рисунок (22).jpg
Новый точечный рисунок (22).jpg [ 81.16 Кб | Просмотров: 11049 ]
/выделил цветом/ пробовал этот параметр добавлять в свой проект - все равно ошибка :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 19 сен 2012, 09:04 
Старожил

Зарегистрирован: 28 май 2012, 09:26
Сообщения: 229
gpoodprog писал(а):
makser писал(а):
Вот рабочий проект, попробуйте сравнить файлы и настройки


Большое спасибо Вам, и всем кто тут отписывался)
Ваш проект скомпилировался сразу же, смотрел конфигурации - одинаковые, за исключением: /выделил цветом/ пробовал этот параметр добавлять в свой проект - все равно ошибка :(


Если нужно у меня есть архив CooIDE 1.5, где все нормально и еще добавлена полная поддержка STM32F05x
Весит 239мб


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 23 сен 2012, 17:22 
Только пришел

Зарегистрирован: 17 сен 2012, 22:23
Сообщения: 9
makser писал(а):
gpoodprog писал(а):
makser писал(а):
Вот рабочий проект, попробуйте сравнить файлы и настройки


Большое спасибо Вам, и всем кто тут отписывался)
Ваш проект скомпилировался сразу же, смотрел конфигурации - одинаковые, за исключением: /выделил цветом/ пробовал этот параметр добавлять в свой проект - все равно ошибка :(


Если нужно у меня есть архив CooIDE 1.5, где все нормально и еще добавлена полная поддержка STM32F05x
Весит 239мб


Был бы очень Вам благодарен :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 23 сен 2012, 17:37 
Старожил

Зарегистрирован: 28 май 2012, 09:26
Сообщения: 229
http://files.mail.ru/1GVYIV


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: не компилируется :(
СообщениеДобавлено: 24 сен 2012, 10:32 
Только пришел

Зарегистрирован: 17 сен 2012, 22:23
Сообщения: 9
makser писал(а):
http://files.mail.ru/1GVYIV

Большущее Вам спасибо))))))


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: rigor_mortis


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB