|
|
  |
CodeBlocks - неведомые ошибки |
|
|
|
Feb 20 2018, 06:22
|

Частый гость
 
Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250

|
Компилятор все же подключился) И начал компилировать. Возник другой вопрос: КАК библиотеку Libopencm3 подключить к своему проекту? И что с ней вообще делать? ЕЕ собрать нужно сначала? Построить? Как ее заcтавить работать в CODE BLOCK?? Пробовалось так: 1)файлы из папки include библиотеки скопировать в папку include компилятора 2)Тоже проделать с папкой lib. Но при попытке собрать проект - файл nvic.h для stm32f4 должен создаваться на этапе компиляции, а он не создается( Цитата(Ekka @ Feb 20 2018, 07:16)  Компилятор все же подключился) И начал компилировать. Возник другой вопрос: КАК библиотеку Libopencm3 подключить к своему проекту? И что с ней вообще делать? ЕЕ собрать нужно сначала? Построить? Как ее заcтавить работать в CODE BLOCK?? Пробовалось так: 1)файлы из папки include библиотеки скопировать в папку include компилятора 2)Тоже проделать с папкой lib.
Но при попытке собрать проект - файл nvic.h для stm32f4 должен создаваться на этапе компиляции, а он не создается( И да... мои попытки заставить проект собираться без указания нужного компилятора - лажа... простите, вродь разобралсё) В проекте не было в стандартных нужного мне компилятора, пришлось скопировать настройки GNU GCC for ARM и в поля ексешников добавить все для arm-none-eabi-gcc. Все подключилось. Файлы библиотеки нужно было добавить в папки компилятора, ибо путь до них он не находил ни при каких раскладах. Теперь находит. Но в топиках по темам liboprncm3 обнаружилось, что библиотеку сначала нужно...эм..СОБРАТЬ отдельно? файлы .a, файлы nvic.h для stm-ов, их нет в библиотеке и некоторые форумчане говорят, что эти файлы создаются при компиляции. Как правильно подключить библиотеку? И да... вот те файлы, которых недостает Если еще какие-то попросит, говорите, может, я не все перекидываю, у меня фырчит только на libopencm3 и matiec ссылка библиотеки
Сообщение отредактировал Ekka - Feb 20 2018, 06:50
|
|
|
|
|
Feb 20 2018, 18:22
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Попробовал собрать ваш проект: нагромождение файлов и библиотек чудовищное... Так и не смог найти файлов CMSIS, где определяются номера векторов прерываний: NVIC_USART1_IRQ NVIC_TIM7_IRQ До ваших ошибок добраться так и не получилось... Применять open source "навалом", а не "из коробки" - это не для слабых духом...
|
|
|
|
|
Feb 21 2018, 11:51
|

Частый гость
 
Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250

|
Цитата(Baser @ Feb 20 2018, 19:22)  Попробовал собрать ваш проект: нагромождение файлов и библиотек чудовищное... Так и не смог найти файлов CMSIS, где определяются номера векторов прерываний: NVIC_USART1_IRQ NVIC_TIM7_IRQ До ваших ошибок добраться так и не получилось... Применять open source "навалом", а не "из коробки" - это не для слабых духом...  Удалось исправить предыдущие ошибки... Кто-то знает, что это? Что за несоответствие? Код ||=== Build: Debug in yaplc_runtime (compiler: GNU ARM GCC Compiler) ===| ||error: bin\Debug\yaplc_runtime.elf uses VFP register arguments, c:/program files/gnuarm/bin/../lib/gcc/arm-none-eabi/4.8.4\libgcc.a(bpabi.o) does not| ||error: bin\Debug\yaplc_runtime.elf uses VFP register arguments, c:/program files/gnuarm/bin/../lib/gcc/arm-none-eabi/4.8.4\libgcc.a(_divdi3.o) does not| ||error: bin\Debug\yaplc_runtime.elf uses VFP register arguments, c:/program files/gnuarm/bin/../lib/gcc/arm-none-eabi/4.8.4\libgcc.a(_udivdi3.o) does not| ||error: ld returned 1 exit status| ||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
|
|
|
|
|
Feb 21 2018, 13:17
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(Ekka @ Feb 20 2018, 08:22)  1)файлы из папки include библиотеки скопировать в папку include компилятора 2)Тоже проделать с папкой lib. Это плохое решение. Так же как и правка файлов проекта с указанием полного пути для включаемых файлов. В свойствах проекта есть спец. окно, куда можно добавить пути к папкам, где компилятору дополнительно нужно искать требуемые файлы. Цитата Но при попытке собрать проект - файл nvic.h для stm32f4 должен создаваться на этапе компиляции, а он не создается( На этапе компиляции файлы не создаются. Этого файла в библиотеках просто нет, он должен идти от производителя, т.е. STM (Как я понял, вы его нашли) Цитата(Ekka @ Feb 21 2018, 13:51)  Кто-то знает, что это?
[code]||=== Build: Debug in yaplc_runtime (compiler: GNU ARM GCC Compiler) ===| ||error: bin\Debug\yaplc_runtime.elf uses VFP register arguments, c:/program files/gnuarm/bin/../lib/gcc/arm-none-eabi/4.8.4\libgcc.a(bpabi.o) does not| Вопросов про "uses VFP register arguments" в интернете много, говорят, что нужно смотреть конфигурацию FPU
|
|
|
|
|
Feb 21 2018, 13:21
|

Частый гость
 
Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250

|
Цитата(Baser @ Feb 21 2018, 14:17)  Это плохое решение. Так же как и правка файлов проекта с указанием полного пути для включаемых файлов. В свойствах проекта есть спец. окно, куда можно добавить пути к папкам, где компилятору дополнительно нужно искать требуемые файлы.
На этапе компиляции файлы не создаются. Этого файла в библиотеках просто нет, он должен идти от производителя, т.е. STM (Как я понял, вы его нашли)
Вопросов про "uses VFP register arguments" в интернете много, говорят, что нужно смотреть конфигурацию FPU Да...на этот счет уже просмотрено... а где эту конфигурацию смотреть? В Makefile? или во флагах компилятора?
|
|
|
|
|
Feb 21 2018, 13:37
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(Ekka @ Feb 21 2018, 13:51)  Что за несоответствие? Код ||=== Build: Debug in yaplc_runtime (compiler: GNU ARM GCC Compiler) ===| ||error: bin\Debug\yaplc_runtime.elf uses VFP register arguments, c:/program files/gnuarm/bin/../lib/gcc/arm-none-eabi/4.8.4\libgcc.a(bpabi.o) does not| Эта ошибка говорит о том, что объектные модули проекта скомпилированы с применением аппаратного модуля FPU, а библиотеки попытались прицепить, где модуль FPU не применялся. Ессно, это работать не будет, поэтому ошибка. Цитата(Ekka @ Feb 21 2018, 15:21)  а где эту конфигурацию смотреть? В Makefile? или во флагах компилятора? Ошибка была в опциях линкера в файле проекта yaplc-runtime.cbp. Если опции компилятора были все на месте: Код <Compiler> <Add option="-mthumb" /> <Add option="-mcpu=cortex-m4" /> <Add option="-mfloat-abi=hard" /> <Add option="-mfpu=fpv4-sp-d16" /> То в опциях линкера отсутствовала последняя опция. Добавьте её в секцию линкера и проект соберется: Код -------------- Build: Debug in yaplc_runtime (compiler: GNU GCC Compiler for ARM)---------------
Output file is bin\Debug\yaplc_runtime.elf with size 400.05 KB Running project post-build steps arm-none-eabi-size bin\Debug\yaplc_runtime.elf text data bss dec hex filename 22392 28 3444 25864 6508 bin\Debug\yaplc_runtime.elf Process terminated with status 0 (0 minute(s), 10 second(s)) 0 error(s), 0 warning(s) (0 minute(s), 10 second(s)) з.ы. компилятор последний: 4.9.3
|
|
|
|
|
Feb 22 2018, 12:49
|

Частый гость
 
Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250

|
Цитата(Baser @ Feb 21 2018, 14:37)  з.ы. компилятор последний: 4.9.3 не могу найти установочник этого компилятора
Сообщение отредактировал IgorKossak - Feb 22 2018, 18:30
Причина редактирования: бездумное цитирование
|
|
|
|
|
Feb 22 2018, 12:59
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(Ekka @ Feb 22 2018, 14:49)  не могу найти установочник этого компилятора Официальный сайт: GNU Arm Embedded ToolchainНазвание у него другое: gcc-arm-none-eabi-7-2017-q4-major а версию при компиляции выдал 4.9.3 ваш же был ненамного старее (4.8.4), разве с ним не получается?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|