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

Danis

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о Danis

  • Звание
    Twilight Zone
    Местный
  • День рождения 08.01.1983

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

4 531 просмотр профиля
  1. STM32 и USB Device Mass Storage

    Integro, спасибо за рекомендации. Я разобрался уже, отпишусь и возможно сэкономлю кому-то пару часов. Как уже писал, использую библиотеку ST USB On-The-Go host and device library STSW-STM32046 ver: 2.2.1. В ней готовая реализация USB MSC с применением SD карты, и в этой новой библиотеке SD > 4 GB определяются в ПК верно, ранее объем памяти обрезался до 4 GB. Вот мои правки файлов usbd_msc_scsi.c и usbd_storage_msd.c для исправления ошибки: uint64_t SCSI_blk_addr; // Правка, был тип uint32_t SD_Error SD_ReadMultiBlocks(uint8_t *readbuff, uint64_t ReadAddr, uint16_t BlockSize, uint32_t NumberOfBlocks); SD_Error SD_WriteMultiBlocks(uint8_t *writebuff, uint64_t WriteAddr, uint16_t BlockSize, uint32_t NumberOfBlocks); if (SD_ReadMultiBlocks(buf, (uint64_t)blk_addr * 512, 512, blk_len) != 0) // правка - преобразование blk_addr к типу (uint64_t) { return -1; } if (SD_WriteMultiBlocks(buf, (uint64_t)blk_addr * 512, 512, blk_len) != 0) // правка - преобразование blk_addr к типу (uint64_t) { return -1; } Т.е. функции R/W MultiBlocks получают в качестве аргумента не № блока а адрес данных для операции R/W и при умножении для старших блоков имеем выход за пределы типа uint32_t.
  2. STM32 и USB Device Mass Storage

    Коллеги, приветствую Вас! У меня вопрос по реализации MSC, на STM32F2(F4), я скачал с сайта ST свежую версию USB On-The-Go host and device library STSW-STM32046 ver: 2.2.1. Для USB использую скорость FS. В качестве носителя использую microSD карты, 4,8,16,32 GB. Все довольно неплохо работает. Скорость r,w пусть и не большая -около 0,8 MBps, но устраивает. Проблема с microSD картами объемом >4 GB. В системе W7(10), устройство определяется как картридер, верно показывает объем, даже записывает, но уже с ошибками за пределами памяти 0xFFFFFFFF (>4 GB). Собственно вопрос, есть ли "либы" на карты >4GB, или можно поправить текущую, хочется работать со всем объемом карты. Спасибо!
  3. запись в облако

    т.е. WebDAV набор расширений и дополнений к протоколу HTTP надо попытаться поднять на STM.. вот, я кое что нашел тоже MQTT – упрощённый сетевой протокол, работающий поверх TCP/IP, для обмена данными в сети «Интернета вещей» (IoT), реализующий соединения типа «машина-машина» и «машина-облако».
  4. запись в облако

    Доброго здоровья, коллеги!, Есть задача периодически перекидывать логи 20-30 kB c железки (STM32 и т.п. недорогие) в облачное хранилище, желательно free, типа облако mail, google, яндекс и т.п. Сейчас на первое время реализовал передачу на ftp сервер, папка последнего синхронизирована с облаком. Работает конечно, но… Напрямую - интереснее. Собственно и вопрос по реализации. Буду благодарен советам.
  5. Как у вас получилось с T_8000C? Можете видео выложить? Я с ним намучился в свое время, анимация дергается не очень получалось. Потом сделали на HL LS Ultra 8 в связке с LS Terminal, вот resalt: http://www.youtube.com/watch?v=lU7MybQ_6wo
  6. FTP сервер на STM-ке

    Коллеги, большое спасибо за идеи и рассуждения. Думаю это полезно не только для меня. Не стал сильно сразу расписывать задачу, чтоб не засорять. Со стороны клиента файлы пока передает человек, это не картинки и не музыка, а созданный пакет файлов, например бинарники и другие форматы подготовленные для обработки удаленной «железкой», поэтому есть свобода, и действительно идея прописать внутрь файла hash мне нравится. После загрузки файла можно сразу ее пересчитать или даже на ходу по блокам после записи и чтения с SD. Тогда можно будет светси к минимуму напряжения оператора, что будет их «заливать» удаленно. И по приему 226 transfer complete можно будет судить, что файл записан и верифицирован. В примере *.dvc3 это формат шифрованной прошивки для обновления firmware в нашей компании. Статус: Соединяюсь с 176.226.243.83:201... Статус: Соединение установлено, ожидание приглашения... Ответ: 220 Welcome to DaNiS FTP Server Команда: USER Murena Ответ: 331 User name okay, need password Команда: PASS ****** Ответ: 230 Login successful. Команда: SYST Ответ: 215 UNIX Type: L8 Internet Component Suite Команда: FEAT Ответ: 500 Syntax error, command unrecognized Статус: Соединение установлено Статус: Получение списка каталогов... Команда: CWD / Ответ: 250 CWD command successful Команда: PWD Ответ: 257 "/" is current directory. Команда: TYPE I Ответ: 200 Switching to Binary mode. Команда: PASV Ответ: 227 Entering Passive Mode (176,226,243,83,0,200) Команда: LIST Ответ: 150 Opening BINARY mode data connection for /bin/ls Ответ: 226 transfer complete, data port is closed Статус: Список каталогов извлечен Статус: Начинаю закачивать E:\KTM4_v64_35_test_U3_ftp.dvc3 Команда: CWD /DanFolder002 Ответ: 250 CWD command successful Команда: PWD Ответ: 257 "/" is current directory. Команда: PASV Ответ: 227 Entering Passive Mode (176,226,243,83,0,200) Команда: STOR KTM4_v64_35_test_U3_ftp.dvc3 Ответ: 150 File status okay; about to open data connection. Ответ: 226 transfer complete, data port is closed Статус: Файл передан успешно, передан 263 462 байт в 3 секунды Простой проверке CRC32 пакетов, что приходят по TCP я не верю, у меня был случай, когда я скачивал дистрибутив Mplab с сайта Микрочип, после скачки установка «падала», когда я скачал этот же дистрибутив с другого места, все стало ОК. Я сравнил эти два одинаковых файла по 105 MB утилитой «file compare» и нашел 9 байт в разных местах, которые отличались, распечатал и «сунул в нос» провайдеру, через неделю извинились и что то поменяли, стало нормально.
  7. FTP сервер на STM-ке

    У меня со стороны FTP клиента сидит человек (пока), возможно будет «сидеть» и машина, а со стороны FTP сервера «железка» STM32, она и использует файлы, без человека. Вот смысла закачки файла с контрольной суммой пока недопонимаю, если честно... наверное, это будет уместно, если человек со стороны сервера вытащит флешку и сверит. А так, идею понял, спасибо. Ну уж очень лаконично. Да, в моем случае в контроллер входит аппаратный модуль CRC32, им часто пользуюсь, очень шустрый.
  8. FTP сервер на STM-ке

    Привет, коллеги! Недавно поднял на STM32Fxx FTP сервер и удаленно через Internet пишу файлы во внешнюю flash память. Все неплохо работает, есть вопрос с подходом к верификации данных в принятых файлах. Я использую ftp passive mode, и по сути, аппаратно верифицируются только пакеты пришедшие с Ethernet, можно конечно и проверить пакет после записи на SD. Но этого не достаточно для полного убеждения о целостности файла. Я тут вижу два пути, сначала записать удаленно файл, и скачать обратно, сравнить их Hash (долго, если файл большой). Второй, научить STM-ку считать Hаsh уже записанных файлов по команде (возможно не стандартной) FTP и создавать *.txt файл с Hаsh суммами файлов в текущей директории. После чего можно скачать этот файл и проверить. Но наверняка, есть более красивый и правильный подход, которого я не знаю, так что буду рад подсказке, спасибо!
  9. Wi-Fi

    Сам хочу поюзать СС3000MOD – модуль простого подключения к Wi-Fi тыц есть у кого положительный опыт?
  10. Привет, друзья! Извините за долгий ответ, отвлекался на «текучку». Вопрос решил и дабы возможно еще кому помочь, отпишусь. Проблема была в выводе ADM485 (5 = GND), можно сказать непропай, висел в воздухе. После замеров осциллографом просек это дело. Как оно вообще работало, непонятно. Теперь ток адекватный, на 300 метрах при 500кГц потребление драйвера + терминатора около 35-40 mA. Всем большое спасибо!
  11. спасибо за отзыв! Поставил провод 10 метров. Без терминатора 120 Ом на принимающей стороне все ОК, ток потребления передатчика 60mA (PIC + AMD), отдельно трансивер не мерил. Если поставить терминатор на приемнике, ток возрастает до 120mA, трансивер греться начинает. Такое ощущение, что через трансивер идет сквозной ток. Замена трансивера не помогла. Частоту уменьшал до 100 герц (на 10-ти метрах), разницы не ощутил. Как на практике ведут себя трансиверы в подобных условиях? Нагрев свойственен? Ток тоже, почему играет такую большую роль? Всегда идет падение напряжения? Завтра скину скрины осциллограмм, может что увидеть можно, где тут собака порылась….
  12. Здравствуйте, форумчане! Подниму тему, поскольку есть вопрос по трансиверу ADM485. Схему приложил, по ней тестирую. Итак, если включить без линии (витая пара 300 метров), частота 500 кГц на ноге DI (4), по замеру, ток потребления 80mA, это PIC контроллер + трансивер. Включаю линию, ток подскакивает до 180 mA, трансивер сильно греется. На приемной стороне данные ловятся верно, небольшие задержки есть. Опыта в этой тематике очень мало, так что прошу советов и помощи в оценке адекватности замеров, смущает большой ток и нагрев трансивера.
  13. С ПЛИС знаком несколько часов. Так что простите за глупый вопрос. Выбранная ПЛИС не флешовая? И в нее не влезет такой расширитель? Я пока вообще не представляю, как на сдвиговых регистрах организовать такой расширитель. Ведь в расширитель данные поступают по SPI на высокой скорости, а выходят совершенно по другому протоколу.
  14. Посмотрите, пожста на этот набор, пойдет? Плата Загрузчик Да, есть желание, чтоб конфигурировать не нужно было. Программатор по ссылке, он же отладчик? или для плис нет такого понятия?
  15. Посоветуйте какую нить отладочную плату доступную под таковую задачу. Если действительно вопрос не очень сложной, может быть и сам «вывезу».
×
×
  • Создать...