Перейти к содержанию
    

Neborak

Участник
  • Постов

    33
  • Зарегистрирован

  • Посещение

Весь контент Neborak


  1. STM32F4 ETHERNET + CAN

    Вроде еще нужно инициализировать тактирование альтернативных функций портов.
  2. Не знаю как у Вас, у меня загрузчик обрабатывает данные из hex файла, там два поля АДРЕС и ДАННЫЕ (до 16 байт). Контроллер анализирует поле АДРЕС и выполняет запись во flash или eeprom. Можно, по аналогии, заставить линкер формировать еще область данных с физически несуществующим в микроконтроллере адресом. Когда прийдут данные для записи в это адресное пространство, то направлять из в блютуз. А вот данные запихнуть в прошивку прийдется "ручками".
  3. Он имеет защиту от смены напрявления тока. В Украине говрили, что желающим могут ставить двунаправленные счетчики. В соседнем городе знакомый установил ветрогенератор, мощность маленькая, 300Вт, по-этому получается только "помогать" внутренним потребителям.
  4. Простите, а для чего может пригодится эта информация да и еще в разрезе релейной регулятор напряжения?
  5. Раз у Вас акнолиджи идут, значит CAN жив остается. По какой-то причине не происходит прерывание при приеме, промониторьте флаги полноты/переполнения приемного буфера при затыке.
  6. Den64 А как чувствуют себя выходные биполярные транзисторы при параллельном включении? Или таки выравнивающие резисторы поставили?
  7. Ребята, выявил причину проблем (не до конца), в моем модуле было предусмотрено управляемое питание подключаемых внешних устройств через полевой транзистор. Как временный вариант внешние устройства питались от своего БП, мой модуль от своего, а в полевом транзисторе обратный диод. Подключив как предпологалось с самого начала - питание внешних устройств идет только через мой модуль, все работает без сбоев в течении 3 недель.
  8. Спасибо за наводку, пока собираю информацию. Я пример от ST использую, накопал, что при инициализации в отсутствии линка в течении определенного таймаута (примерно 5 сек.) досрочно завершается иниицализация Ethernet и что-то по DMA. Пока сделал на каждый этап инициализации и работы программы свою комбинация свечения светодиодов, что бы можно было определить состояние. Гляну, что там получится, вторым гляну, что там с этим линком, в принципе, нет линка, стоит уйти в сброс и попытаться инициализироваться снова. Плохо, что в прототип не заложили uart, что бы обслуживающий персонал мог логировать самостоятельно, еще проблема в том, что мне не разрешают дергать питание, что бы воспроизвести проблему чаще, утром - включили, вечером - выключили. А проблема проявляется именно когда включается все, среди дня многократно дергаю питание прототипа и ничего. По phy, использовали такой как стоял в плате от терры, решили в первом прототипе не экспериментировать, потому, что опыта ноль было. Сейчас хочется поставить с возможностью подключения внешнего сигнала (25МГц с MCO микроконтроллера), что посоветуете? P.S. Обманул по задержке при отсутствии линка, секунд 15 получается с момента старта программы до получения ошибки от инициализации Ethernet.
  9. Добрый день. Имеем плату te-stm32f107 и прототип устройства собранного по такой же схеме. Загрузил и слегка модифицировал "LwIP TCP/IP stack demonstration for STM32F107xx (AN3102)" (добавил udp сокет и обрабатываю данные). Иногда при старте отладки на плате (плата была подключена к локальной сети офиса через гигабитный свич) программа стартовала, но не появлялись прерывания от модуля Ethernet, моменты были очень редкие, по-этому не обращал на них особого внимания. Когда был собран прототип, его установили на будущее рабочее место (подключен в изолированную локальную сеть из 20 узлов). Сейчас стабильно, почти каждый день, при включении моего устройства, оно не пингуется, помогает повторное переподключение питания, а программа функционирует как положено. Сразу вспомнил про проблемы с отладкой и появилось предположение, что пока программно-аппаратная часть микроконтроллера инициализируется, rtl8201 может, по какой-то причине, не сообщать о приеме нового микроконтроллеру. Кто сталкивался с подобным? Или пните в нужном направлении.
  10. Спасибо. // Протупил, простите
  11. В общем нашел на Радиокоте, у человека как раз stm32f042 в tssop20 была проблема с каном. Значит STM32CubeMX врет. Обидно, что все хотелки не укладываются, нужно брать TQFP-32 :(
  12. Наличие модуля CAN в STM32F042F6

    В даташите написано, что есть, в STM32CubeMX CAN и USB всегда неактивны. Так есть он у STM32F0 в корпусах TSSOP20 или его нет?
  13. А удавалось работать не через сервер, а с коллегой напрямую, как пишут "когда двое людей работают над одной и той же проблемой они могу брать наработки друг у друга"? Я такую фишку пробовал реализовать для синхронизации с ноутбуком. Шарил папку с проектом, но на ноут можно клонировать и фэтчить, запушить на основной нельзя. Или нужно, например, на ноуте клонировать, сделать правки, сделать коммит, а на основном компьютере подключить еще один репо со ссылкой на ноут? Не нравится, что нужно шарить папку с проектом. Или без открытия сетевого доступа как-то можно?
  14. В общем получилось с помощью Rebase. Большой проблемой стало то, что первый коммит в новом репозитории сделан с правками, т.е. не соответствовал последнему коммиту в старом. Из-за этого было много конфликтов. Выкрутился так, старый клонировал, сделал в нем состояние, которое было как в первом коммите нового репозитория, сделал коммит и принудительно указал промежуточную дату в диапазоне между последним в старом и первым в новом репозитории. Таким образом получил общего предка. А дальше git все сделал сам. По поводу gitа, первое преимущество ощутил, что ну нужно сидеть что-то синхронизировать с сервером, пока не сделаешь push все коммиты остаются локальными, только сделанную часть работы выкладываешь на сервер или ту, которую нужно перенести на ноутбук. Второе, работаешь над новым функционалом, неделя-две, прибегают, видите ли, светодиод хотят что бы не мигал, а светился постоянно. Делаю коммит, переключаюсь в последний релиз (метки тоже удобно использовать), создаю свою ветку, правлю, отдаю прошивку, жду результат, если все ок, то сливаю изменения в мастер. В SVN без подключения к серверу я бы ничего этого не сделал бы.
  15. Удобство работы с ветками и слепок сервера на локальной машине. Первое удобно для мелких экспериментов, что бы не засорять директорию проекта. Второе удобно при работе в "поле", в любой момент доступны все коммиты с сервера без подключения к серверу. Сейчас у нас есть огромный проект (по факту это движек, который конфигурируется с помощью кучи дефайнов под конкретную задачу), работаем над ним втроем. Двое вбивают конфигурацию под свою задачу, третий прибивает какой-то баг, как пример. Каждый работает в своей ветке, когда приходит время, то наработки сливаются в основную стабильную ветку. Кода бывает очень много в разных местах, как это сделать с помощью других инструментов даже не могу представить. За ссылку спасибо, вроде так и делал. Попробую еще раз.
  16. Предыстория такова: работал с svn, коммитил туда проект. Потом перешел на git, стал коммитить на другой сервер. Теперь смог затянуть из svn коммиты в git репозиторий. Таким образом получил 2 git репозитория, один начало проекта, второй - конец. Попробовал слить конец первого с началом второго, нарешал кучу конфликтов, но репозитории так и не объединились. Может кто сталкивался, как объединить репозитории?
  17. I-jet

    У меня с st-link вообще ничего не отображается. Из доступного, возможно приобретение клона j-link. Кто нибудь пробовал с ним?
  18. I-jet

    У меня подобный вопрос, у кого-то Timeline/Interrup log/Data Log заработал с ST-LINK или с другим?
  19. Немного разобрался, Эклипс упорно пихает сишные файлы стартапа, игнорируя мой файл ассемблерный файл, и как-то галочками отключить не удалось. Хотя мой стартам компилирует и передает линкеру. Попробую прикрутить к Эклипсу проект мигания светодиодом, там свой мэйкфайл, а не автоматически сгенерированный плагином. Еще проблема с этим ST-Linkgdbserverом, через раз коннектиться сервер к чипу, и через раз стартует отладка, вижу только, что перешел на вектор сброса, дальше "Step into" и больше ответа от отладчика нет.
  20. Психанул и поставил gcc-arm-embedded, действительно ключ линкера --specs=nano.specs он принял. Еще нарыл, что стояла галка в опции линкера -nostartfiles, из-за этого программа не входила в main. Теперь, после запуска отладки вижу курсор на _start(), а не DefaultHandler(). Куда дальше шагает - не вижу, после step into курсор пропадает вообще. Светодиоды по прежнему не мигают. Пока пытаюсь добиться нормальной работы отладчика. Добавлено: Такое чувство, что не добавляет в итоговый код мой *.S файл, но компилит его. В момент старта отладки переходу в какой-то сишный файл, в котором определена _start(), а не в ассемблерный. Все ближе к тому, что бы сдаться.
  21. Спасибо за ответ, последняя версия плагина сама создает скрипт линкера, а вот про SystemInit() я совсем забыл. Помню, что для GCC он не нужен в main, он из стартап-файла вызывается, но его реализации у меня не было. Отпишусь о результатах. Подскажите, за что это ключ отвечает?
  22. Выложить не проблема, смотреть там нет на что. Перефразирую вопрос по другому, если поставить компилятор и плагин, то нужно ли что-то дорабатывать ручками, что бы программа заработала в контроллере? Пока ждал ответ запустил отладку, конечно как-то нестабильно работает, но удалось увидеть, что висит в HardFault_Handler(), до main не доходит.
  23. Всем привет. Только начал въезжать в связку Eclipse+GСC. Установил: -Eclipse IDE for C/C++ Developers Luna Release (4.4.0); -Sourcery CodeBench Lite for ARM EABI; -ARM plugin; Создал проект на основе шаблона STM32F10X C/C++ Project, выбрав Toolchains Cross ARM GCC, в разделе Content указал Blinkly (создал проект с миганием светодиодом). Скорректировал порт светодиода под STM32F1Discovery, компилирую. Первая проблема - не понимает синтаксис make файла, по умолчанию make стоит от С++ builderа, правлю и указываю на cs-make. Теперь компилит но на линкере останавливается с ошибкой arm-none-eabi-g++: error: nano.specs: No such file or directory Ничего лучше не нашел как из настроек линкера убрать ключ --specs=nano.specs, стал компилироваться hex-файл. Заливаю его через STM32 ST-Link Utility - светодиод не мигает. Смотрю, нет в проекте ассемблерного файла, нахожу его для своего контроллера и импортирую в проект, меняя букву расширения с .s на .S. Тоже компилируется, но, после загрузки программатором светодиод по прежнему не мигает. Беру пример тут, ручками правлю порт светодиода, компилю, гружу в контроллер - мигает. Это вкратце свои как я провел начало недели. Ребята, подскажите, что делаю не так?
  24. STM32F107 + RTL8201 + lwip-1.4.0

    У stm32f407 тактовая 168 МГц и ноль циклов ожидания против 72 МГц и 2 циклов ожидания у stm32f107. Не избавит, имел ввиду, что если свой UDP реализовать, то ARP и ICMP нужно делать тоже, а в их простоте я пока не уверен.
  25. STM32F107 + RTL8201 + lwip-1.4.0

    У меня задача передавать по UDP данные из шины CAN и наоборот при чем с минимальной задержкой. Все ближе подхожу к тому, что бы писать свой UDP/IP стек, но пока настораживает поддержка ARP и IGMP, которые тоже нужно будет реализовать. Или перейти сразу на stm32f407, демоплата есть, но придется повозиться с освоением нового чипа.
×
×
  • Создать...