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

Ищется специалист по USB СDС.

Ищется специалист по USB СDС.

Есть процессор STM32L476QGI6, в нем реализован пример от SТМ  USB виртуальный компорт.

Всё работает хорошо. USB Full Speed. IAR ARM 8.22.

Требуется так изменить\доработать код, чтобы появилось ДВА таких виртуальных компорта.

Видится применение композитного устройства. Тут мои знания о USB заканчиваются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если что, то рабочий дескриптор композитного дивайса с двумя CDC есть тут https://github.com/Indemsys/Universal3PHalfBridgeController/blob/master/K66_Firmware/APP_SRC/USB_2VCOM/usb_device_descriptor.c

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

25 minutes ago, AlexandrY said:

Если что, то рабочий дескриптор композитного дивайса с двумя CDC есть тут https://github.com/Indemsys/Universal3PHalfBridgeController/blob/master/K66_Firmware/APP_SRC/USB_2VCOM/usb_device_descriptor.c

Спасибо, полезно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/18/2019 at 8:19 AM, netts said:

Здравствуйте, реализовывал такой проект под STM32F072C8T6, могу повторить.

Спасибо за ответ. Исполнитель найден, работает. Но поскольку тема обширна, дайте свои координаты. 

Личная почта у Вас еще не работает. Можете оставить е—мейл здесь в слегка искаженном виде (защита от роботов спамеров). 

Примерно так:   fedor.pupkinсабакагмыл.kom

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 14.01.2019 в 18:57, Gorby сказал:

Всё работает хорошо. USB Full Speed. IAR ARM 8.22.

Что-ж вы все так упорно используете этот v8.22??? :unknw:  Он же кривой. Никто форум что-ль не читает? :unknw:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, jcxz said:

Что-ж вы все так упорно используете этот v8.22??? :unknw:  Он же кривой. Никто форум что-ль не читает? :unknw:

Ну не знааааю. В прямых руках работает. Более последние не захотели устанавливаться на Win7. 

И не хочется выискивать почему работающий код вдруг перестал работать на распоследнем компиляторе. 

Платят—то за работающее изделие, а не за освоение компиляторов. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

37 минут назад, Gorby сказал:

Ну не знааааю. В прямых руках работает.

У вас такие магические руки, что баги в компиляторе сами собой исправляются? Тогда остаётся только вам позавидовать :prankster2:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, jcxz said:

У вас такие магические руки, что баги в компиляторе сами собой исправляются? Тогда да, не стоит волноваться.

А не выпендриваюсь, пишу по-простому. В простых местах все баги давно выловлены.

У простых людей и болезни простые - переломы обеих конечностей, стригучий лишай. А как интеллигент, так сразу авторемонтное изменение сосудов.... (с)

Вы если чего сказать хотели, так говорите. А то одни "аки"  да "паки".

Какой IAR ARM компилятор, по Вашему мнению и ТОГО форума, является наилучшим? Ну и заодно инструкцию "кто виноват и что бл..н делать" если работающий проект вдруг выдаст 100500 ошибок, несовместимых с жизнью.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27 минут назад, Gorby сказал:

Какой IAR ARM компилятор, по Вашему мнению и ТОГО форума, является наилучшим?

Ладно - расслабьтесь. Никаких багов нет, всё "давно выловлено". Имеющий уши - да услышал, имеющий глаза - да увидел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Внимание, для тех кто не вздрагивает нервно при каждой смене субверсии компиляторов. Баги IAR ARM 8.22:

Истинно говорю вам: такие баги меня не касаются. Аки-паки мммммм....

V8.22 2018-01-22

Program corrections

  • In EWARM 8.22.2
    [EWARM-6208, TPB-2953]

    Converting a value via a templated conversion operator to an instantiation of the returned class template can fail with a misleading error.

    Example:

            template<class T> struct A {};
            struct B
            {
              template<class T> operator A<T>& ();
            };
            struct S {};
            void foo(A<S> &);
            void bar()
            {
              B b;
              foo(b); // Error here
            }
            

     

  • In EWARM 8.22.2
    [EWARM-6192, TPB-2945] The compiler can in some circumstances incorrectly fold expressions containing a subscript applied to an integer cast to pointer type.

    Example:

            int *p = &((int*)0x1000)[1];
            

    Expressions like this will sometimes result in a pointer value without the offset.

 

 

 

История компиляторов: (http://supp.iar.com/FilesPublic/UPDINFO/013240/arm/doc/infocenter/iccarm_history.ENU.html)

Release History

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем спасибо! Задача успешно решена.

Хочется отметить, что несмотря на огромное количество гуру от электроники здесь на форуме, ни одно гуру не вызвалось решить задачу.

Те двое простых специалистов [без 100500 постов], что взялись, задачу успешно выполнили независимо друг от друга. За что большое человеческое "СПАСИБО!".

В итоге создан исходник USB Dual_CDC  для STM32L476.

Что интересно, наблюдается некая кретинизация, "ардуинизация" что-ли процесса разработки. Мой штатный , весьма неплохой ембед программист после пол-дня гугления слился с темы со словами "ты выбрал неправильный процессор - на него в Гугле и ГитХабе нету рабочего примера Dual_CDC". Всё, кранты. И мне, электронику, пришлось искать внешних исполнителей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это значит только одно - вы плохо знаете своего "весьма неплохого" программиста. Ваш "весьма неплохой" программист - скорее всего калокубер, а Вы даже не подозреваете:whistle3:

А то, что ни один "гуру" не отозвался на Ваше предложение не значит, ровным счетом, ничего. Без четкого ТЗ я бы тоже не стал ничего делать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 minutes ago, Arlleex said:

Это значит только одно - вы плохо знаете своего "весьма неплохого" программиста. Ваш "весьма неплохой" программист - скорее всего калокубер, а Вы даже не подозреваете:whistle3:

Нет, просто процессор реально выбран неправильно.
Такой весь якобы популярный STM действительно не сопровождается примерами проектов композитных устройств.
В то же время Kinetis имеет с десяток разных вариантов композитных устройств и под BM и под RTOS. И  i.MX RT  тоже. 
Так называемая "ардуинизация" не что иное как диктат софта.
Не посоветовавшись с программером не выбирай процессор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 minutes ago, AlexandrY said:

Нет, просто процессор реально выбран неправильно.

Ага, сейчас ведь основным критерием выбора микроконтроллера является наличие примеров:good:, а такие параметры как: производительность, питание, потребление, рабочий диапазон температур, размеры, доступность, цена - это уже второстепенное...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...