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

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
bishop-strip
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

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

Сообщение bishop-strip »

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

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

ЧТО ДЕЛАТЬ?! В чем модет быть проблема, что такого страшного написано в этом ассемблерном файле, чего боиться эта библиотека??? :twisted:
Заранее спасибо!
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

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

Сообщение balmer »

bishop-strip писал(а):добавить в проект ассемблерный файл startup_stm32f4xx.s.


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

Можно например взять этот файл не из той директории, там есть несколько вариантов для разных студий (у тебя для Atollic TrueSTUDIO). Еще этот файл тесно связан с stm32_flash.ld, и там должны быть цифирки совпадающие с твоим микроконтроллером. Иначе будет стек за пределами оперативной памяти или скажем хип нулевого размера.
bishop-strip
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

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

Сообщение bishop-strip »

balmer писал(а):
bishop-strip писал(а):добавить в проект ассемблерный файл startup_stm32f4xx.s.


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

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

CСпасибо за ответ, но дело в том, что атолликовский файл вызывает синтаксические ошибки, поэтому я файл брал из EXAMPLE'ов, для stm32f4xx....
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение 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. :)))
bishop-strip
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

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

Сообщение 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
bishop-strip
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

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

Сообщение bishop-strip »

Вообщем решил проблему...
в файле system_stm32f4xx.c есть функция SystemInit
Там закомментировал строку SetSysClock(); и всё заработало.. видимо временные интервалы для платы не очень подходили...
Ответить

Вернуться в «ARM»