Добрый вечер! Работаю с платой STM32F4DISCOVERY, по SPI1 подключил плату enc28j60. Разрабатываю в IAR'е. Использую готовую библиотеку для работы с этой платой (http://www.tkjelectronics.dk/uploads/ST ... hernet.zip). До не давних пор всё работало нормально, но мне пришлось добавить в проект ассемблерный файл startup_stm32f4xx.s. После добавление в проект этого файла плата пересатал работать ( точнее мо клиент написанный на C++ не может сконнектиться к серверу, реализованном на плате STM32F4DISCOVERY).
Когда файл убираю, опять работает нормально.
ЧТО ДЕЛАТЬ?! В чем модет быть проблема, что такого страшного написано в этом ассемблерном файле, чего боиться эта библиотека??? Заранее спасибо!
добавить в проект ассемблерный файл startup_stm32f4xx.s.
В файлах с таким названием - начальная инициализация. Затирается память пустая, утанавливается указатель стека, таблица прерываний и т.д.
Можно например взять этот файл не из той директории, там есть несколько вариантов для разных студий (у тебя для Atollic TrueSTUDIO). Еще этот файл тесно связан с stm32_flash.ld, и там должны быть цифирки совпадающие с твоим микроконтроллером. Иначе будет стек за пределами оперативной памяти или скажем хип нулевого размера.
добавить в проект ассемблерный файл startup_stm32f4xx.s.
В файлах с таким названием - начальная инициализация. Затирается память пустая, утанавливается указатель стека, таблица прерываний и т.д.
Можно например взять этот файл не из той директории, там есть несколько вариантов для разных студий (у тебя для Atollic TrueSTUDIO). Еще этот файл тесно связан с stm32_flash.ld, и там должны быть цифирки совпадающие с твоим микроконтроллером. Иначе будет стек за пределами оперативной памяти или скажем хип нулевого размера.
CСпасибо за ответ, но дело в том, что атолликовский файл вызывает синтаксические ошибки, поэтому я файл брал из EXAMPLE'ов, для stm32f4xx....
bishop-strip , Научитесь сначала создавать проект в IDE , как и писал ранее - метод тыка не лучший способ изучения. И далее - изучать сие на примерах SPL тем более тупиковый путь. Собственно это элементарнейшее ...
Для проекта нужны - system_stm32xxx.c с соответствующим хэдером описатель периферии stm32fxxx.h и стартап startup_stm32fxxx.s и плюс выбор линейки в препроцессоре. Все они есть в поставке IAR так же как и хэдеры CMSIS . Файл линкера подключает сама IAR. CMSIS подключается соответствующей галкой в опциях проекта. Это основа проекта, остальная дребедень SPL подключается к проекту с конфигурацией в файле stm32fxxx_conf.h включением SPL в препроцессоре - USE_STDPERIPH_DRIVER
Меня терзают смутные сомнения - вы или с асма AVR пересели на STM32 или с CVAVR.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
bishop-strip , Научитесь сначала создавать проект в IDE , как и писал ранее - метод тыка не лучший способ изучения. И далее - изучать сие на примерах SPL тем более тупиковый путь. Собственно это элементарнейшее ...
Для проекта нужны - system_stm32xxx.c с соответствующим хэдером описатель периферии stm32fxxx.h и стартап startup_stm32fxxx.s и плюс выбор линейки в препроцессоре. Все они есть в поставке IAR так же как и хэдеры CMSIS . Файл линкера подключает сама IAR. CMSIS подключается соответствующей галкой в опциях проекта. Это основа проекта, остальная дребедень SPL подключается к проекту с конфигурацией в файле stm32fxxx_conf.h включением SPL в препроцессоре - USE_STDPERIPH_DRIVER
Меня терзают смутные сомнения - вы или с асма AVR пересели на STM32 или с CVAVR.
Да, пересел с CVAVR, а так же с IAR MSP430:) Однако, пересоздал проект, включил туда все библиотеки, которые есть из примеров IARA. не IARовское только библиотека для работы с enc28j60. И ничего. Тоже самое. Если убираю из проекта startup_stm32f4xx.s, то не работают кнопки, но работает сервер. Если включу в проект ассемблерный файл startup_stm32f4xx.s, то к плата вроде работает нормалдно, но при этом подсоединиться с windows - клиента не могу . Цже все перепробовал. Возможно проект стоит выслать, что бы посмотрели?
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Вообщем решил проблему... в файле system_stm32f4xx.c есть функция SystemInit Там закомментировал строку SetSysClock(); и всё заработало.. видимо временные интервалы для платы не очень подходили...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения