Jump to content

    

Edit2007

Участник
  • Content Count

    366
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Edit2007

  • Rank
    Местный
  1. сам недавно начал интересоваться. вроде неплохо написано об устройстве НС (общие положения:нейроны, передаточные функции и принципы построения сети) в этом сборнике статей, для меня (который совсем с нуля этим делом интересуется) вполне прилично разжевано. нейросети.zip
  2. Сам начал (из любопытства) смотреть в сторону нейросетей. Хотел бы предложить в качестве примера модель поведения бабочки на стр.14 (в зависимости от освещения и температуры бабочка открывает и закрывает крылья), которая описана в книге Беркинблит М.Б. "Нейронные сети" 1993 г. Эту модель можно адаптировать под управление освещением (включить свет = равно открыть крылья, например) . Сама книга является пособием по биологии и нейрофизиологии, но собержит много примеров нейронных сетей, в основном отвечающих за поведение животных (насекомых). PS: качество djvu так себе, но избавит от необходимости искать книгу в сети (для быстого ознакомления). Беркинблит М.Б. Нейронные сети 1993.djvu
  3. Проверьте в файле startup.a51 для верхнего приложения сегмент, определяющий расположение векторов прерывания. В файле по умолчанию (для загрузчика) CSEG AT 0 ?C_STARTUP: LJMP STARTUP1 В файле для приложения CSEG AT 0x2000 ?C_STARTUP: LJMP STARTUP1 где 0x2000 это величина смещения. Подробности в описании CSEG AT (кодовый сегмент разместить по жесткому адресу). Возможно именно это переопределяет для линкера размещение данных. При сборке приложения в выходном файле (hex-bin) не должно быть ссылок на область загрузчика.
  4. Я использовал это для приложения с загрузчиком на Silabs-ах. С 0-го адреса был загрузчик,но он работал без прерываний. На всех векторах стояла заглушка JMP $+0x2000 Приложение располагалось по адресу 0x2000 (как раз этой опцией + вкладка линкера убрать галку From Target Dialog и выставить CodeRange 0x2000 - и до конца флеши). Таким образом приложение становится независимо от загрузчика. В сухом остатке - Keil может разместить таблицу векторов по этому адресу, но физически прерывания будут срабатывать по фиксированным адресам. Переход с фиксированного адреса на перенесеный нужно обеспечивать ручками.
  5. У меня с кейлом были следующие проблемы. Подключал через инклюд локальный файл (из папки проекта), с целью как раз править HSE_VALUE. Но кейл при компиляции находил такой же файл в своих системных папках первым и использовал его. Лечилось перетасовкой путей к инклюдам. Но это было в 4-м Кейле. (Я на 5-й так и не перешел).
  6. Наверное меня не так поняли. Вы из строкового HEX-файла поучаете бинарный образ прошивки. Далее этот образ разбиваете по страницам (секторам) и передаете в МК для записи. Все упрощается на порядок.
  7. Лучше перед передачей данных в МК сделать преобразование HEX->BIN.
  8. Посмотрите в справке µVision User's Guide->Debug Commands или µVision User's Guide->Debug Functions в поле Command можно менять отдельные переменные (поля структуры) или вызовом собственной отладочной функции изменить всю структуру
  9. Извиняюсь за OFF-TOP, но если от суда проблемы за схему - это жестко. А уж STM c 4-мя блоГами - просто фанат соцсетей.
  10. Если с Keil все работает (прошивается), а из другой среды нет (не шьется, но есть отладка) - возможно, что нет доступа к алгоритмам прошивки камня. В Keil соответствующие *.flm файлы лежат в отдельной папке. Эти *.flm файлы можно использовать и для JLINK. Порядок подключения (добавления в базу) должен быть описан в доках на JLINK.
  11. BUS OFF чаще всего из-за несовпадения скорости (например внутренний генератор неточный). Пересброс СAN обычно делается через его повторную инициализацию (чтоб весь МК не сбрасывать). Если в параметрах уверены - достаточно бывает установить режим инициализации СAN сбросить флаги ошибок, затем вернуться в рабочий режим. PS - CAN использую не от STM.
  12. Посылка по CAN в STM32F3

    :wacko: Почитайте спецификацию на CAN?хотя бы в русском переводе.
  13. Непонятный рестарт программы

    склоняюсь к версии "дикого" указателя (неверное значение адреса или размера блока для копирования). Уж больно симптомы к этому располагают - ОЗУ зачищается (частично), а код не перезапускается (нет начального тестирования по словам ТС -значит сработал не RESET - и WDT с питанием скорее всего ни при чем). Возможно, неверный указатель на функцию забрасывает исполнение в случайное место.
  14. CAN FD

    Сам с FD не работал, но не вижу причин для запрета. обоснование: Драйвера (выходные микросхемы) только для согласования уровня (перевода в доминантное/рецессивное состояние) Основным отличием FD должна быть более высокая частота сигнала (поскольку FD может поднимать скорость в фазе передачи данных).Остальное - это логика CAN контроллера/
  15. Keil 5.23

    Уверены, что проблема в объявлении? Может неверный вызов функций из бинарника (например адрес выравнен, а должен быть на 1 смещен для ARM)?