Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CooCox+ARM 5.4 2016q2 не работает зашитый hex
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
xmailer
Подскажите пож-та, кто с таким сталкивался:
1. В STM32CubeMX делаю элементарную настройку stm21f100c8t6 (просто 1 output pin с установленным значение high, на данном пине светодиод), делаю генерацию исходников, среду указываю TrueStudio
2. Создаю в CooCox проект и переношу полученные файлы с пункта 1
3. Выполняю в CooCox define symbols настройки по файлу .cproject (USE_HAL_DRIVER, STM32F100xB, STM32F100C8T6B)
----------------------
4. Собираю проект, все выполняется без ошибок и предупреждений
5. с помощь FTDI и STMFlashLoader Demo зашиваю hex. Прошивка и верификация проходит успешно. В результате hex не работает, светодиод не горит.
5.1. вычитал на форуме о похожей проблеме и пытаюсь решить как там советовали: c помощью arm-none-eabi\bin\objcopy.exe из полученного в CooCox elf делаю hex. Прошиваю. В результате hex не работает.
----------------------
6. Собираю полученный в STM32CubeMX проект в TrueStudio (в данное IDE свой компилятор). Там на выходе elf. Из elf делаю hex, как в пункте 5.1. Прошиваю. Все прекрасно работает.

Что-то не так или с CooCox? или с GNU Tools ARM Embedded 5.4 2016q2?
Больше грешу на компилятор, но возможно что-то упустил в настройках CooCox.
Пересмотрел много форумов и уроков, уверен что технически все делаю правильно, да и проходит все без ошибок, но что-то не работает.
Спасибо.
RuSTA
Ассемблерный фаил какой используется для coocox?
xmailer
Цитата(RuSTA @ Sep 12 2016, 11:11) *
Ассемблерный фаил какой используется для coocox?

Только не пинайте сильно, не смог нагуглуть - что такое ассемблерный файл.
Подскажите что такое ассемблерный файл и где он настраивается в coocox.
Возможно речь идет об файлах в опциях компилятора и линкера это единственная разница которая была обнаружена в coocox и truestudio
coocox:
compile: -mcpu=cortex-m3 ; -mthumb ; -g2 ; -Wall ; -O0 ; -DSTM32F103C8 ; -DSTM32F103xB ; -DUSE_HAL_DRIVER ; -I. ; -Iinc ;
linker: -mcpu=cortex-m3 ; -mthumb ; -g2 ; -Map=testP_CooCos.map ; -O0 ; --gc-sections ; -L${linkdir} ; -T${linkdir}/arm-gcc-link.ld;

возможно Вы имели ввиду опцию -T линкера в cookox -T${linkdir}/arm-gcc-link.ld в trueStudio stm32f103c8_flash.ld
RuSTA
Немного не правильно выразился, имел ввиду старт-файл (сам файл может быть с расширением *.s или же *.с со вставками ассемблера). При создании проекта среда генерирует свой собственный старт-файл, соответственно у каждой среды он собственный. В данном файле описываются вектора прерываний, и прочее. И что не мало важно устанавливается точка входа в программу, та самая преславутая функция main. Как мне думается у вас мк переходит на пустой адресс, и зависает.
xmailer
Цитата(RuSTA @ Sep 12 2016, 18:53) *
Немного не правильно выразился, имел ввиду старт-файл (сам файл может быть с расширением *.s или же *.с со вставками ассемблера). При создании проекта среда генерирует свой собственный старт-файл, соответственно у каждой среды он собственный. В данном файле описываются вектора прерываний, и прочее. И что не мало важно устанавливается точка входа в программу, та самая преславутая функция main. Как мне думается у вас мк переходит на пустой адресс, и зависает.


Спасибо за наводку, нашел информацию по теме, разобрался, но coocox версии 2 неадекватно создает проект, репозиторий пустой, на сайте регистрацию так и не завершил (письмо с активацией так и не пришло ни на yandex, ни на gmail).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.