реклама на сайте
подробности

 
 
> C8051F320 от Sillicon Labs и USB драйвер, USB driver - Virtual COM port.
Kaplinsky
сообщение Sep 2 2005, 13:54
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 26-05-05
Из: Киев, Украина
Пользователь №: 5 426



Тема такая:
Нужно написать драйвер для USB данной микросхемы и организовать BULK Transfer и что бы с этим девайсом можно было работать как с обычным COM-портом.
100% такое кто то делал. Т.е. USB драйвер как виртуальный COM-порт.
Что бы мне заново не изобретать велосипед, подскажите где взять примерчик ?


--------------------
Смотреть в себя, зреть муки свои, зная, что сам ты виновник мук - вот истинное страдание.
Отладка / Софокл, "Аякс".
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Angelborn
сообщение Feb 6 2015, 11:58
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-06-07
Пользователь №: 28 387



О, спасибо. Уже начинаю понимать. В кейле конечно работаю. Вот только не совсем понял ссылки на регистры у вас в примере R1-R5. Получается что сама процедура общается с библиотекой на уровне асма как раз через регистры? А где можно почитать про эти сообщения?
В пдф AN169_USBXpress_Programmers_Guide.pdf я не нашёл ничего конкретного, только описания этих подпрограмм.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Feb 6 2015, 12:41
Сообщение #3


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Angelborn @ Feb 6 2015, 12:58) *
А где можно почитать про эти сообщения?

Нигде. Напишите код с вызовом нужной функции, к примеру Block_Write(), на Си и откомпилируйте с выставленной настройкой генерации ассемблерного листинга (где-то в кейле есть, может даже по-умолчанию стоит), то в нем после компиляции увидите как происходит вызов библиотечной функции и передача параметров в функцию на ассемблере.
Только тут надо быть очень внимательным, ибо вероятность понаделать ошибок из-за невнимательности на ассемблере гораздо выше чем на Си. Посему настоятельно рекомендую писать программы для работы с USB (да и вообще более менее сложные вещи) именно на Си. Кейл имеет хороший компилятор.

Цитата(Angelborn @ Feb 6 2015, 12:58) *
В пдф AN169_USBXpress_Programmers_Guide.pdf я не нашёл ничего конкретного, только описания этих подпрограмм.

Было где-то, про модель памяти и указания какие регистры задействованы и не подлежат изменению после вызова USB_init(). Не помню точно (3 года уже прошло), в пакете должен быть мануал, не верю что в новых версиях он стал хуже.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Angelborn
сообщение Feb 6 2015, 13:13
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-06-07
Пользователь №: 28 387



Цитата(alexunder @ Feb 6 2015, 14:41) *
Нигде. Напишите код с вызовом нужной функции, к примеру Block_Write(), на Си и откомпилируйте с выставленной настройкой генерации ассемблерного листинга (где-то в кейле есть, может даже по-умолчанию стоит), то в нем после компиляции увидите как происходит вызов библиотечной функции и передача параметров в функцию на ассемблере.
Только тут надо быть очень внимательным, ибо вероятность понаделать ошибок из-за невнимательности на ассемблере гораздо выше чем на Си. Посему настоятельно рекомендую писать программы для работы с USB (да и вообще более менее сложные вещи) именно на Си. Кейл имеет хороший компилятор.

Т.е. вы предлагает просто дизассемблировать отдельные функции? Вариант.
Наверное нужно на си переходить. Ассемблер хорош для небольших программ, хотя на нём пишу давно.

Цитата
Было где-то, про модель памяти и указания какие регистры задействованы и не подлежат изменению после вызова USB_init(). Не помню точно (3 года уже прошло), в пакете должен быть мануал, не верю что в новых версиях он стал хуже.

Почитаю, спасибо.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Feb 6 2015, 14:09
Сообщение #5


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Angelborn @ Feb 6 2015, 14:13) *
Т.е. вы предлагает просто дизассемблировать отдельные функции? Вариант.

Нет! Я говорю об ассемблерном листинге, который генерируется любым компилятором Си (если выставлена соответствующая опция). Это будет точный ассемблерный код Вашей программы, написанной на Си. Чтоб потестировать, создайте пустой Си-проект в кейле для 8051, например и напишите что-то типа
void main
{
a = 5;
b = 6;
_BlockRead();
}
скомпилируйте и посмотрите листинг, оттуда станет ясно, что "находится внутри сишной программы". Это не позволит Вам заглянуть в библиотеку Silabs, т.к. она уже откомпилирована и является сборником бинарного кода (который можно дизассемблировать, только вот зачем?), но дасть понять как работает компилятор Си. Впрочем, думаю все это есть в описании к C51 от Keil, но я никогда его не читал...



--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kaplinsky   C8051F320 от Sillicon Labs и USB драйвер   Sep 2 2005, 13:54
- - aal   CP210x по некоторым источникам - это C8051F320 зат...   Sep 3 2005, 11:53
- - Konst_777   Последующее изложение предполагает, что Вам действ...   Sep 3 2005, 17:49
- - Kaplinsky   USBExpress - это действительно очень удобно, если ...   Sep 5 2005, 08:58
|- - Charley   Цитата(Kaplinsky @ Sep 5 2005, 12:58) USB...   Nov 13 2005, 19:06
|- - Kaplinsky   Цитата(Charley @ Nov 13 2005, 21:06) По м...   Nov 17 2005, 13:15
- - Konst_777   Готового проекта для С8051F320 у меня нет, так как...   Sep 5 2005, 09:45
- - Kaplinsky   Есть вот какое соображение: Берем драйвер для CP21...   Sep 5 2005, 10:24
- - Konst_777   Лучше так: в firmware контроллера ставим VID и PID...   Sep 5 2005, 10:52
- - Konst_777   И все-таки, учитывая все вышеизложенное Вами, поче...   Sep 5 2005, 12:42
- - Kaplinsky   Аднако не соглашусь с тобой дядька. Посчитай сколь...   Sep 6 2005, 10:47
- - Konst_777   Архив содержит .EXE файлы. Проверьте на вирусы. О...   Sep 6 2005, 20:25
|- - Kaplinsky   Ну спасиб тебе дядька за AN220, AN197 - веть они ...   Sep 12 2005, 09:23
- - Konst_777   Сам писал.   Sep 13 2005, 00:21
|- - Kaplinsky   Цитата(Konst_777 @ Sep 13 2005, 02:21)Сам пис...   Sep 14 2005, 08:30
- - Konst_777   После установки SiLabs IDE, в папке C:\SiLabs...   Sep 14 2005, 15:29
- - one_man_show   Если усраивает самому написать Virtual Com Port, т...   Nov 17 2005, 13:51
- - Angelborn   Освежу тему (уже почти 10 лет ей) У кого-то ес...   Feb 5 2015, 14:51
|- - alexunder   Цитата(Angelborn @ Feb 5 2015, 17:51) Осв...   Feb 5 2015, 15:46
|- - Angelborn   Цитата(alexunder @ Feb 5 2015, 17:46) Дум...   Feb 5 2015, 18:25
|- - alexunder   Цитата(Angelborn @ Feb 5 2015, 21:25) Ну ...   Feb 6 2015, 08:05
|- - Angelborn   Цитата(alexunder @ Feb 6 2015, 10:05) Я в...   Feb 6 2015, 08:37
|- - alexunder   Цитата(Angelborn @ Feb 6 2015, 11:37) Нав...   Feb 6 2015, 09:49
- - Harbinger   Файл, прикреплённый к 10-му сообщению в этой теме.   Feb 6 2015, 07:00
|- - Angelborn   Цитата(Harbinger @ Feb 6 2015, 09:00) Фай...   Feb 6 2015, 07:10
|- - jcxz   Цитата(Angelborn @ Feb 6 2015, 17:58) Пол...   Feb 7 2015, 17:55
|- - alexunder   Цитата(jcxz @ Feb 7 2015, 18:55) Порядок ...   Feb 8 2015, 21:55
- - Angelborn   Всем спасибо за ответы! Сделал проект в Кейле,...   Feb 10 2015, 07:42
- - pvasil404   Ребята, помогите написать\подобрать драйвер д...   Jul 11 2016, 20:57


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 03:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.0266 секунд с 7
ELECTRONIX ©2004-2016