Страница 1 из 1

SMT32F4DISCOVERY + enc28j60 теперь начались странности....

Добавлено: Пт авг 02, 2013 00:49:16
bishop-strip
Добрый вечер! Работаю с платой STM32F4DISCOVERY, по SPI1 подключил плату enc28j60.
Разрабатываю в IAR'е.
Использую готовую библиотеку для работы с этой платой (http://www.tkjelectronics.dk/uploads/ST ... hernet.zip).
До не давних пор всё работало нормально, но мне пришлось добавить в проект ассемблерный файл startup_stm32f4xx.s. :shock:
После добавление в проект этого файла плата пересатал работать ( точнее мо клиент написанный на C++ не может сконнектиться к серверу, реализованном на плате STM32F4DISCOVERY). :facepalm:

Когда файл убираю, опять работает нормально.

ЧТО ДЕЛАТЬ?! В чем модет быть проблема, что такого страшного написано в этом ассемблерном файле, чего боиться эта библиотека??? :twisted:
Заранее спасибо!

Re: SMT32F4DISCOVERY + enc28j60 теперь начались странности..

Добавлено: Пт авг 02, 2013 07:37:06
balmer
bishop-strip писал(а):добавить в проект ассемблерный файл startup_stm32f4xx.s.


В файлах с таким названием - начальная инициализация. Затирается память пустая, утанавливается указатель стека, таблица прерываний и т.д.

Можно например взять этот файл не из той директории, там есть несколько вариантов для разных студий (у тебя для Atollic TrueSTUDIO). Еще этот файл тесно связан с stm32_flash.ld, и там должны быть цифирки совпадающие с твоим микроконтроллером. Иначе будет стек за пределами оперативной памяти или скажем хип нулевого размера.

Re: SMT32F4DISCOVERY + enc28j60 теперь начались странности..

Добавлено: Пт авг 02, 2013 13:54:37
bishop-strip
balmer писал(а):
bishop-strip писал(а):добавить в проект ассемблерный файл startup_stm32f4xx.s.


В файлах с таким названием - начальная инициализация. Затирается память пустая, утанавливается указатель стека, таблица прерываний и т.д.

Можно например взять этот файл не из той директории, там есть несколько вариантов для разных студий (у тебя для Atollic TrueSTUDIO). Еще этот файл тесно связан с stm32_flash.ld, и там должны быть цифирки совпадающие с твоим микроконтроллером. Иначе будет стек за пределами оперативной памяти или скажем хип нулевого размера.

CСпасибо за ответ, но дело в том, что атолликовский файл вызывает синтаксические ошибки, поэтому я файл брал из EXAMPLE'ов, для stm32f4xx....

Re: SMT32F4DISCOVERY + enc28j60 теперь начались странности..

Добавлено: Пт авг 02, 2013 14:16:09
dosikus
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. :)))

Re: SMT32F4DISCOVERY + enc28j60 теперь начались странности..

Добавлено: Пн авг 05, 2013 22:58:10
bishop-strip
dosikus писал(а):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 - клиента не могу . Цже все перепробовал. Возможно проект стоит выслать, что бы посмотрели? :shock: :o :o :o

Re: SMT32F4DISCOVERY + enc28j60 теперь начались странности..

Добавлено: Вс авг 25, 2013 23:07:41
bishop-strip
Вообщем решил проблему...
в файле system_stm32f4xx.c есть функция SystemInit
Там закомментировал строку SetSysClock(); и всё заработало.. видимо временные интервалы для платы не очень подходили...