Змінюй хід війни! Допомагай ЗСУ!

Программирование ARM. Eclipse, Keil,IAR,CooCox - всё сюда.

🔴 19:33 Повітряна тривога в Харків.обл.
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #21
а на makefile можно посмотреть ?

Сейчас - нет, но там стоит автоматом, он сам составляет. Надо будет хоть самому посмотреть чего он туда пишет :)
Вечером доберусь домой - посмотрим.



Каг и обесчЪал выкладываю
################################################################################
# Automatically-generated file. Do not edit!
################################################################################

-include ../makefile.init

RM := rm -rf

# All of the sources participating in the build are defined here
-include sources.mk
-include src/subdir.mk
-include libs/misc/src/subdir.mk
-include libs/StdPeriph/src/subdir.mk
-include libs/CMSIS/src/subdir.mk
-include subdir.mk
-include objects.mk

ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(ASM_DEPS)),)
-include $(ASM_DEPS)
endif
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
ifneq ($(strip $(S_UPPER_DEPS)),)
-include $(S_UPPER_DEPS)
endif
endif

-include ../makefile.defs

# Add inputs and outputs from these tool invocations to the build variables
SECONDARY_FLASH += \
testEclipseCpp.hex \

SECONDARY_SIZE += \
testEclipseCpp.siz \


# All Target
all: testEclipseCpp.elf secondary-outputs

# Tool invocations
testEclipseCpp.elf: $(OBJS) $(USER_OBJS)
@echo 'Building target: $@'
@echo 'Invoking: Cross ARM C++ Linker'
arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -mthumb-interwork -mbig-endian -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -g3 -ggdb -p -pg -T mem.ld -T libs.ld -T sections.ld -nostartfiles -Xlinker --gc-sections -L"../ldscripts" -Wl,-Map,"testEclipseCpp.map" -o "testEclipseCpp.elf" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '

testEclipseCpp.hex: testEclipseCpp.elf
@echo 'Invoking: Cross ARM GNU Create Flash Image'
arm-none-eabi-objcopy -O ihex "testEclipseCpp.elf" "testEclipseCpp.hex"
@echo 'Finished building: $@'
@echo ' '

testEclipseCpp.siz: testEclipseCpp.elf
@echo 'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "testEclipseCpp.elf"
@echo 'Finished building: $@'
@echo ' '

# Other Targets
clean:
-$(RM) $(SECONDARY_SIZE)$(C++_DEPS)$(OBJS)$(C_DEPS)$(ASM_DEPS)$(CC_DEPS)$(SECONDARY_FLASH)$(CPP_DEPS)$(CXX_DEPS)$(C_UPPER_DEPS)$(S_UPPER_DEPS) testEclipseCpp.elf
-@echo ' '

secondary-outputs: $(SECONDARY_FLASH) $(SECONDARY_SIZE)

.PHONY: all clean dependents
.SECONDARY:

-include ../makefile.targets
мэйкфайл.
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #22
Пницепите zip-ованный проект - интересно поковырять
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #23
Что за херь "-lc_p-lc_p." вообще такая?
Как бы это не оказались ключи линкеру использовать библиотеку,проверь,чего там предписано линкеру относительно библиотек(правой кнопкой по имени проекта->Properties->C/C++ Build->Settings->ARM Sourcery Windows GCC Linker->Libraries
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #24
Пницепите zip-ованный проект - интересно поковырять
Я его снёс уже раз 5 :)
Но сейчас попробую с пустого начать ещё раз - если будет так же глючить, то брошу в зип.
Я просто переставил тулчайн. Грешу на него.
Руки, к сожалению, переставить не могу - встроенные :)

Как бы это не оказались ключи линкеру использовать библиотеку,проверь,чего там предписано линкеру относительно библиотек(правой кнопкой по имени проекта->Properties->C/C++ Build->Settings->ARM Sourcery Windows GCC Linker->Libraries

Нет там такого пункта
Properties->C/C++ Build->Settings->ARM Sourcery Windows GCC Linker->Libraries
А шо там должно быть?
Там пусто. Есть только "../ldscripts"

То, что -lp это ключ - это понятно по формату. НО. Этот ключ, сцуко, не находится ни в файлах проекта, ни виндой по содержимому файлов вообще.
Видимо какой-то служебный и он где-то в еклипсе. Полюбэ проблемы с либами или с тулчайном.
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #25
Мне тоже интересно посмотреть на проект
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #26
Так, стоп. А где у него вообще хидеры на проц?
Как этому дауну объяснить какой у меня проц вообще?
Я пользовался в визарде каким-то проектом STM32-H103(это борда такая есть, как я понимаю). Сейчас создал пустой - там вообще ни либ ни процессор хидеров - ни хрена нет.
Если не влом - поясните, откуда подключать.

Вот рар всего воркспейса с чистым проектом, тока он мало поможет - он пустой без объявлений, соответственно - не имеет понятия какой проц. Ну и я в пути либ от фонаря папок навставлял из ягарты.
Если шо, тулчайн установлен в папку:
C:\Program Files\GNU Tools ARM Embedded\4.8 2013q4
по умолчанию туда ставится.

Вёркспейс в папке
E:\ProjKu4a\EclipseWorkspace
 

Вкладення

  • EclipseWorkspace.rar
    272 КБ · Перегляди: 92
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #27
Ув. спецы смогу я прочитать и записать LPC2368 J-link-ом или U-Link2?
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #28
Так, стоп. А где у него вообще хидеры на проц?
Как этому дауну объяснить какой у меня проц вообще?
Я пользовался в визарде каким-то проектом STM32-H103(это борда такая есть, как я понимаю). Сейчас создал пустой - там вообще ни либ ни процессор хидеров - ни хрена нет.
Если не влом - поясните, откуда подключать.

Вот рар всего воркспейса с чистым проектом, тока он мало поможет - он пустой без объявлений, соответственно - не имеет понятия какой проц. Ну и я в пути либ от фонаря папок навставлял из ягарты.
Если шо, тулчайн установлен в папку:
C:\Program Files\GNU Tools ARM Embedded\4.8 2013q4
по умолчанию туда ставится.

Вёркспейс в папке
E:\ProjKu4a\EclipseWorkspace
Я все еще не понимаю что ты и, главное, зачем делаешь?
Выбрал проц, закинув в папку проекта цмсис, показал ссылки на него кампилятору, в главном хидере цмсиса задефайнил нужный камень - все!
Ну еще тупому иару адреса для линкера вбил. Во всех остальных иде оно само знает где и чо.

А если еще заюзать утилитки для автоматического добавления библиотек... поставил птички, оно само файлы в проект скопировало, добавило ссылки на них.
В коксе оно встроено в иде даже и при создании проекта не мейн выкидывает, а именно это окно.
То есть создание проекта( по пунктам):
1 - выбор камня.
Если используется цмсис( который явно используется:))
2.1 - постановка нескольких птичек : core и rcc + опционально нужная перефирия.
2.2 - дефайн нужного камня.
 
Останнє редагування:
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #29
Ув. спецы смогу я прочитать и записать LPC2368 J-link-ом или U-Link2?

Да, почему нет? Список поддерживаемых процессоров есть на сайте segger (J-Link) и на улинк тоже где-то есть. Там простыня - в ней ищем свой, если он есть - мможно читать-писать.

Я все еще не понимаю что ты и, главное, зачем делаешь?
Что я делаю: перехожу с IARa (на нем я писал) на еклипс, так как он бесплатный.
Зачем я делаю: перехожу на ARM плотнее.

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

В том-то и дело, что оно ни хрена не завелось. Кокос начал при компиляции выкидывать ошибки, я порылся ив инете - все связаны с глюками CMSISа. Может я хреновую версию просто скачал. Если есть нормальная проверенная - ткните плиз пальцем.

Чистый еклипс тоже компилит хрень. Я забыл уже какую именно - неделю не занимался этим.
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #30
Ну для ф10х я использую бортовой цмсис кокса, даже не знаю какой он версии. А другие камни я давно использовал, еще когда сам шаманил.
GNU Tools стоит последний.
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #31
Чистый еклипс тоже компилит хрень. Я забыл уже какую именно - неделю не занимался этим.

чистый еклипс компилит ровно то, что ему говорят. я думаю, что говорит automake - ну это навскидку. если с этим разобраться, может и получится что-то.

панацея в вашем случае - это минимальный набор для arm embedded (eclipse CDT + ARM Plugin + компилятор) + самописные makefile и срипты линкера.
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #32
панацея в вашем случае - это минимальный набор для arm embedded (eclipse CDT + ARM Plugin + компилятор) + самописные makefile и срипты линкера.
В 2014 году это пиздец, я так думаю.
Зачем это все, если есть удобные иде, которые это все делают за тебя?
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #33
В 2014 году это пиздец, я так думаю.
Зачем это все, если есть удобные иде, которые это все делают за тебя?

с CooCox'ом вроде не пошло... какие в 2014 году еще есть бесплатные IDE, которые позволяют решить проблему автора - посоветуйте и пусть он выбирает.
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #34
А кокос и должен при первой компилляции спрашивать путь к тулчайну?
У меня просит путь к папке с "arm-none-eabi-gcc.exe"
Какую версию ему лучше скачать и вообще, другие тулчайны ему показывать можно?
 
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #35
Конечно должен, то ж по сути сам компилятор, оболочкой которого кокс является.
На середину января, после феерического обновления кокса, у меня последние кокс и гну-тулс на тут момент.
 
Останнє редагування:
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #36
Конечно должен, то ж по сути сам компилятор, оболочкой которого кокс является.
На середину января, после феерического обновления кокса, у меня последние кокс и гну-тулс на тут момент.

Странно, я думал он и компилер содержит... Ну да ладно. Где качать лучше, в сорсфорже, или ещё где-то?



Алилуйё!
Кокос скомпилил без ошибок
while(1)
{}

Это точно переменные среды ссорились изза нескольких версий тулчайнов на одном компе. Всё перед этим было переустановлено и реестр почищен унинсталл тулом от всего, связанного с GCC ARM и еклипсом.
 
Останнє редагування:
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #37
Ну не знаю как он мог до этого фейлить ибо не ищет же файлы компилятора сам, не ищет ссылки на них в реестре или каких либо иных свалках данных системы так как просит тебя указать прямую на них ссылку. То есть по сути есть независимая программа, которая вызывавет через имеющиеся прямые ссылки файлы с некоторыми параметрами зависящими от того, что ты там в проекте намудрил.

Но заработало - хорошо. Кокс мне очень навится. В свое время частично съехал с него ибо он не поддерживал много камней разных - большинство ф3-ф4, л1хх. Но сейчас все чики-пики.
Из крайне полезных плюшек относительно иара:
1 - кой какая система отпределения зон видимости и подстановки. Хотя после мс студии никакая, но в иаре вообще ничего по сути нет.
2 - удобный просмотрщик компонентов файла.
3 - встроеная система добавления библиотек 1 кликом. В иаре тоже есть, но шаманить приходится.
4 - генератор начального кода :молись:
 
Останнє редагування:
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #38
Не знаю как он мог до этого фейлить ибо не ищет же файлы компилятора сам, не ищет ссылки на них в реестре или каких либо иных свалках данных системы так как просит тебя указать прямую на них ссылку. То есть по сути есть независимая программа, которая вызывавет через имеющиеся прямые ссылки файлы с некоторыми параметрами зависящими от того, что ты там в проекте намудрил.
Откуда у него прямые ссылки?
Ну на папку с gcc - ладно, но сам GCC при работе вызывает нидецкий батхерт у комода, который пытается с пяток екзешников послать в песочницу трудиться при первой компиляции.
Е вот когда сосно тулчайн ставишь - он зачем-то спрашивает прописаться ли ему в переменные путей, или не надо.



P.S. Бля, ни как не могу привыкнуть к еклипсному интерфейсу... ну и лажа, господи помилуй
:рл: Куда кокос прячет отчет о компилляции? И главное - нахуя прячет?
 
Останнє редагування:
  • 🔴 19:33 Повітряна тривога в Харків.обл.
  • #40
Фуф, ёпт, он его внизу сжал в ноль - вставил сверху окно с екзамплами за счет него...

text data bss dec hex filename
752 0 1024 1776 6f0 FirstStepSTM32.elf
Сморим чего он там умеет писать.
text - это что? Текст программы, что-ли, или он так обзывает program memory?

data - SRAM, как я понял (ну да, ещё ни один объект не объявлен)
bss - это что такое?



Где выбрать симулятор-то? Он вообще есть у него?
А-то у мну большие сомнения, что он нихрена не работает - я пишу всиляку хрень, но результат компилляции не меняется несмотря на volatile.
 
Останнє редагування:
Назад
Зверху Знизу