Сергей Борщ 134 15 февраля, 2018 Опубликовано 15 февраля, 2018 · Жалоба Команда вроде ARM-овская, а регистр - x86.все нормально - код inline asm компилится под неродную архитектуру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 15 февраля, 2018 Опубликовано 15 февраля, 2018 · Жалоба все нормально - код inline asm компилится под неродную архитектуру. Файл-то с расширением "s" - это нативный asm, а не inline asm. Или думаете - там компиляция си через промежуточный asm и трансляцию его затем? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 15 февраля, 2018 Опубликовано 15 февраля, 2018 · Жалоба Или думаете - там компиляция си через промежуточный asm и трансляцию его затем?Я не думаю - старые gcc делали именно так. Полагаю, что и новые тоже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 15 февраля, 2018 Опубликовано 15 февраля, 2018 · Жалоба ТС даже не смог выложить нужные файлы проекта, ибо в том, что он выложил, включая архив на 100Мег с громадной коллекцией всяческого софта и демо проектов, я не нашел папки libremodbus c нужными библиотеками. А без них я даже не смог получить те ошибки, о которых ТС спрашивает... И сначала он явно пытался собрать АРМ проект компилятором для x86, хотя CodeBlocks упирался и говорил: хочу compiler="armnoneeabigcc" !!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ekka 0 20 февраля, 2018 Опубликовано 20 февраля, 2018 (изменено) · Жалоба Компилятор все же подключился) И начал компилировать. Возник другой вопрос: КАК библиотеку Libopencm3 подключить к своему проекту? И что с ней вообще делать? ЕЕ собрать нужно сначала? Построить? Как ее заcтавить работать в CODE BLOCK?? Пробовалось так: 1)файлы из папки include библиотеки скопировать в папку include компилятора 2)Тоже проделать с папкой lib. Но при попытке собрать проект - файл nvic.h для stm32f4 должен создаваться на этапе компиляции, а он не создается( Компилятор все же подключился) И начал компилировать. Возник другой вопрос: КАК библиотеку 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 ссылка библиотеки projectRTE.rar Изменено 20 февраля, 2018 пользователем Ekka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ekka 0 20 февраля, 2018 Опубликовано 20 февраля, 2018 · Жалоба Библиотека собралась через консоль...) все файлы создались... Но.. ОПЯТЬ...что это за штука( C:\Users\F1DB~1\AppData\Local\Temp\ccKP6878.s|67|Error: selected processor does not support requested special purpose register -- `mrs r3,ipsr'| Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ekka 0 20 февраля, 2018 Опубликовано 20 февраля, 2018 · Жалоба Нужно в настройках компилятора указать [mcpu=cotrex-m3]... Но этот проект все равно не але... Что с ним... :cranky: :cranky: :cranky: :cranky: Может,я пропускаю какой-то шаг?... :smile3046: :smile3046: :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 20 февраля, 2018 Опубликовано 20 февраля, 2018 · Жалоба Попробовал собрать ваш проект: нагромождение файлов и библиотек чудовищное... Так и не смог найти файлов CMSIS, где определяются номера векторов прерываний: NVIC_USART1_IRQ NVIC_TIM7_IRQ До ваших ошибок добраться так и не получилось... Применять open source "навалом", а не "из коробки" - это не для слабых духом... :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ekka 0 21 февраля, 2018 Опубликовано 21 февраля, 2018 · Жалоба Попробовал собрать ваш проект: нагромождение файлов и библиотек чудовищное... Так и не смог найти файлов CMSIS, где определяются номера векторов прерываний: NVIC_USART1_IRQ NVIC_TIM7_IRQ До ваших ошибок добраться так и не получилось... Применять open source "навалом", а не "из коробки" - это не для слабых духом... :smile3046: Удалось исправить предыдущие ошибки... Кто-то знает, что это? Что за несоответствие? ||=== 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)) ===| Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ekka 0 21 февраля, 2018 Опубликовано 21 февраля, 2018 · Жалоба Это ошибки, связанные с компилятором?... А еще, Baser, Вы говорили, что у Вас нет файла с NVIC-ками... вот архив с библиотекой, где он есть libopencm3_build Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 21 февраля, 2018 Опубликовано 21 февраля, 2018 · Жалоба 1)файлы из папки include библиотеки скопировать в папку include компилятора 2)Тоже проделать с папкой lib. Это плохое решение. Так же как и правка файлов проекта с указанием полного пути для включаемых файлов. В свойствах проекта есть спец. окно, куда можно добавить пути к папкам, где компилятору дополнительно нужно искать требуемые файлы. Но при попытке собрать проект - файл nvic.h для stm32f4 должен создаваться на этапе компиляции, а он не создается( На этапе компиляции файлы не создаются. Этого файла в библиотеках просто нет, он должен идти от производителя, т.е. STM (Как я понял, вы его нашли) Кто-то знает, что это? ||=== 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ekka 0 21 февраля, 2018 Опубликовано 21 февраля, 2018 · Жалоба Это плохое решение. Так же как и правка файлов проекта с указанием полного пути для включаемых файлов. В свойствах проекта есть спец. окно, куда можно добавить пути к папкам, где компилятору дополнительно нужно искать требуемые файлы. На этапе компиляции файлы не создаются. Этого файла в библиотеках просто нет, он должен идти от производителя, т.е. STM (Как я понял, вы его нашли) Вопросов про "uses VFP register arguments" в интернете много, говорят, что нужно смотреть конфигурацию FPU Да...на этот счет уже просмотрено... а где эту конфигурацию смотреть? В Makefile? или во флагах компилятора? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 21 февраля, 2018 Опубликовано 21 февраля, 2018 · Жалоба Что за несоответствие? ||=== 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 не применялся. Ессно, это работать не будет, поэтому ошибка. а где эту конфигурацию смотреть? В 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ekka 0 22 февраля, 2018 Опубликовано 22 февраля, 2018 (изменено) · Жалоба з.ы. компилятор последний: 4.9.3 не могу найти установочник этого компилятора Изменено 22 февраля, 2018 пользователем IgorKossak бездумное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 22 февраля, 2018 Опубликовано 22 февраля, 2018 · Жалоба не могу найти установочник этого компилятора Официальный сайт: GNU Arm Embedded Toolchain Название у него другое: gcc-arm-none-eabi-7-2017-q4-major а версию при компиляции выдал 4.9.3 ваш же был ненамного старее (4.8.4), разве с ним не получается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться