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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> 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
aal
сообщение Sep 3 2005, 11:53
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 230
Регистрация: 20-10-04
Из: Новосибирская обл, п.Краснообск.
Пользователь №: 916



CP210x по некоторым источникам - это C8051F320 заточенный под USB <-> COM мост. Зайди на ефо.ру. Наверняка в доках найдёшь чтонибудь.
Есть подозрение, что под винды драйвер стандартный будешь использывать от CP210x, а в программе только стартовую инициализацию делать.
Обратись к Konst_777 - работал с C8051F320.
Ну и эти ветки посмотри.
http://forum.electronix.ru/index.php?showtopic=6781
http://forum.electronix.ru/index.php?showt...53&hl=c8051f320


--------------------
_____________________________________
Пароли неприемлемы, легко взламываются терморектальным криптоанализатором.
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Sep 3 2005, 17:49
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Последующее изложение предполагает, что Вам действительно необходимо использовать контроллер C8051F320, а не мост USB <-> COM.

Под Windows, с контроллером C8051F320 проще "работать" используя USBXpress Development Kit фирмы SiLabs. Kit содержит драйверы для Windows 98SE/Me/2000/Server 2003/XP, а также API для host-а (.DLL) и контроллера (.lib). У SiLabs есть руководство программиста для USBXpress (AN169). Используя USBXpress реально создать работающую систему, даже не зная, что такое USB.

USBXpress не имеет драйвера для Linux. Если желательно иметь одно и то же firmware контроллера и для Windows и для Linux, то можно написать firmware так, что контроллер будет восприниматься операционными системами, как устройство, для которого Вы сможете найти драйверы под обе ОС. Например, как мост USB <-> Ethernet или мост USB <-> COM. При этом следует учитывать, что придется поискать производителя, у которого драйверы виртуального COM порта (VCP) обеспечивают скорость обмена по USB больше 400 Кбайт/сек.
Go to the top of the page
 
+Quote Post
Kaplinsky
сообщение Sep 5 2005, 08:58
Сообщение #4


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

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



USBExpress - это действительно очень удобно, если нужно организовать обмен с железом и нужно писать свое приложение под винду. У меня задача такая что бы стандартные терминальные программы могли работать с моей железкой. Т.е. Драйвер должен делать виртуальный COM порт.

Если, как говорят умные люди, CP2102 это C8051F320 заточеный под бридж USB <-> COM то мне наверное нужна начинка этого CP2102. Т.е. прошивка или примерчик, то что я смогу залить в 320-ы и он будет себя вести как CP2102 и к нему подойдут драйвера от CP2102.


--------------------
Смотреть в себя, зреть муки свои, зная, что сам ты виновник мук - вот истинное страдание.
Отладка / Софокл, "Аякс".
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Sep 5 2005, 09:45
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Готового проекта для С8051F320 у меня нет, так как до сих пор мне хватало USBXpress. Если не найдете готовый проект, то могу поучаствовать в его создании.
Go to the top of the page
 
+Quote Post
Kaplinsky
сообщение Sep 5 2005, 10:24
Сообщение #6


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

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



Есть вот какое соображение:
Берем драйвер для CP2102 правим inf таким образом что бы драйвер "подходил" для нашего девайса и пишем прошивку для С8051F320 уже "под этот" драйвер. Кароче "подгоняем" прошивку под драйвер.


--------------------
Смотреть в себя, зреть муки свои, зная, что сам ты виновник мук - вот истинное страдание.
Отладка / Софокл, "Аякс".
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Sep 5 2005, 10:52
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Лучше так: в firmware контроллера ставим VID и PID, как для CP210x и обрабатываем все запросы драйвера устройства для CP210x.
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Sep 5 2005, 12:42
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



И все-таки, учитывая все вышеизложенное Вами, почему бы Вам не использовать любой мост USB <-> COM в связке с любым контроллером, у которого есть последовательный порт? Стоимость такой системы в "железе" может оказаться даже ниже стоимости C8051F320. Или есть особая предрасположенность к данному контроллеру?
Go to the top of the page
 
+Quote Post
Kaplinsky
сообщение Sep 6 2005, 10:47
Сообщение #9


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

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



Аднако не соглашусь с тобой дядька. Посчитай сколько будет стоять например C8051F017 + CP2102 и C8051F320.
320-й дешевле + меньше элементов на плате... удобство и цена. Изделие веть не радиолюбительское и не разовое.


--------------------
Смотреть в себя, зреть муки свои, зная, что сам ты виновник мук - вот истинное страдание.
Отладка / Софокл, "Аякс".
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Sep 6 2005, 20:25
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Архив содержит .EXE файлы. Проверьте на вирусы.

Описание в Read_Me.
Прикрепленные файлы
Прикрепленный файл  CP210x.rar ( 253.36 килобайт ) Кол-во скачиваний: 623
 
Go to the top of the page
 
+Quote Post
Kaplinsky
сообщение Sep 12 2005, 09:23
Сообщение #11


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

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



Ну спасиб тебе дядька a14.gif за AN220, AN197 - веть они находятся в Application Notes к CP210x а я все глаза проглядел в App Notes к C8051F320, прям незнаю как благодарить cheers.gif !

А прошивочка (Firmware) где взялась ? Сам писал или тоже генерится как-то ?


--------------------
Смотреть в себя, зреть муки свои, зная, что сам ты виновник мук - вот истинное страдание.
Отладка / Софокл, "Аякс".
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Sep 13 2005, 00:21
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Сам писал.
Go to the top of the page
 
+Quote Post
Kaplinsky
сообщение Sep 14 2005, 08:30
Сообщение #13


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

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



Цитата(Konst_777 @ Sep 13 2005, 02:21)
Сам писал.
*

Маладец, какой!

А если в прошивке для работы с USB использовать USBExpress ? У меня что то неполучается. Хотя теоретически должно работать. Кто-то пробовал ?

А то там весь текст на асме ... многа букв, неасилю... blink.gif


--------------------
Смотреть в себя, зреть муки свои, зная, что сам ты виновник мук - вот истинное страдание.
Отладка / Софокл, "Аякс".
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Sep 14 2005, 15:29
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



После установки SiLabs IDE, в папке C:\SiLabs\MCU\Examples\C8051F32x\USB_Bulk\Firmware находится пример firmware для Bulk пересылок на С. Когда-то я использовал этот пример, чтобы написать свое firmware на ассемблере. Вам предстоит решить обратную задачу. Правда, частично.

Не думаю, что firmware для USBXpress (библиотека USB_API.LIB ) сможет "работать" с драйвером VCP.
Go to the top of the page
 
+Quote Post
Charley
сообщение Nov 13 2005, 19:06
Сообщение #15


Участник
*

Группа: Новичок
Сообщений: 46
Регистрация: 10-11-05
Из: Chisinau
Пользователь №: 10 697



Цитата(Kaplinsky @ Sep 5 2005, 12:58) *
USBExpress - это действительно очень удобно, если нужно организовать обмен с железом и нужно писать свое приложение под винду. У меня задача такая что бы стандартные терминальные программы могли работать с моей железкой. Т.е. Драйвер должен делать виртуальный COM порт.

Если, как говорят умные люди, CP2102 это C8051F320 заточеный под бридж USB <-> COM то мне наверное нужна начинка этого CP2102. Т.е. прошивка или примерчик, то что я смогу залить в 320-ы и он будет себя вести как CP2102 и к нему подойдут драйвера от CP2102.


По моему я такую же идею встречал на специализированном форуме на сайте www.silabs.ru
Go to the top of the page
 
+Quote Post
Kaplinsky
сообщение Nov 17 2005, 13:15
Сообщение #16


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

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



Цитата(Charley @ Nov 13 2005, 21:06) *
По моему я такую же идею встречал на специализированном форуме на сайте www.silabs.ru


А где именно ? Как тема называется непривспомнишь ? А то я там все обсмотрел !!!


--------------------
Смотреть в себя, зреть муки свои, зная, что сам ты виновник мук - вот истинное страдание.
Отладка / Софокл, "Аякс".
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Nov 17 2005, 13:51
Сообщение #17


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



Если усраивает самому написать Virtual Com Port, то смотрите поиском по сети, найдете массу VCL и ActiveX, правда первыми встречаются платные, но, кто ищет, тот всегда найдет smile.gif


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
Angelborn
сообщение Feb 5 2015, 14:51
Сообщение #18


Участник
*

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



Освежу тему (уже почти 10 лет ей) biggrin.gif

У кого-то есть раскрытая библиотека USBX_F320_1.LIB? Я так понял силаб её засекретил? Ну сейчас вроде 15ый год уже, к чему эти секреты ихние?
Go to the top of the page
 
+Quote Post
alexunder
сообщение Feb 5 2015, 15:46
Сообщение #19


unexpected token
****

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



Цитата(Angelborn @ Feb 5 2015, 17:51) *
Освежу тему (уже почти 10 лет ей) biggrin.gif
У кого-то есть раскрытая библиотека USBX_F320_1.LIB? Я так понял силаб её засекретил? Ну сейчас вроде 15ый год уже, к чему эти секреты ихние?


Думаю, силабс держит патентец на нее. Там сидит функционал для USB-контроллера, зачем она Вам?


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


Участник
*

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



Цитата(alexunder @ Feb 5 2015, 17:46) *
Думаю, силабс держит патентец на нее. Там сидит функционал для USB-контроллера, зачем она Вам?


Ну это всёравно что держать патент на первый паровой автомобиль начала века )
А зачем она мне... пишу на асме потихоньку, хотелось бы видеть набор команд для этих функций.

USB_Clock_Start()
USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,USB_MaxPower,US
B_PwAttributes,USB_bcdDevice);
USB_Int_Enable();

Возможно есть примеры на асме без этой мудреной библиотеки, для работы с USB.

Go to the top of the page
 
+Quote Post
Harbinger
сообщение Feb 6 2015, 07:00
Сообщение #21


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Файл, прикреплённый к 10-му сообщению в этой теме.


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
Angelborn
сообщение Feb 6 2015, 07:10
Сообщение #22


Участник
*

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



Цитата(Harbinger @ Feb 6 2015, 09:00) *
Файл, прикреплённый к 10-му сообщению в этой теме.


Да, раньше смотрел, но ничего не понял там crying.gif
Go to the top of the page
 
+Quote Post
alexunder
сообщение Feb 6 2015, 08:05
Сообщение #23


unexpected token
****

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



Цитата(Angelborn @ Feb 5 2015, 21:25) *
Ну это всёравно что держать патент на первый паровой автомобиль начала века )

Бывает и такое sm.gif

Цитата(Angelborn @ Feb 5 2015, 21:25) *
А зачем она мне... пишу на асме потихоньку, хотелось бы видеть набор команд для этих функций.
USB_Clock_Start()
USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,USB_MaxPower,US
B_PwAttributes,USB_bcdDevice);
USB_Int_Enable();
Возможно есть примеры на асме без этой мудреной библиотеки, для работы с USB.

Я все-таки не понимаю Вас или Вы не понимаете что есть USBX_F320_1.LIB. Эта "мудрёная" библиотека содержит код высокоуровневых функций типа USB_Clock_Start(), USB_Init() и пр. для работы с USB. На мой взгляд, она исполнена весьма неплохо: инициализация, отправка данных, и пр.. До проекта с F321 я много времени провёл с Cypress FX2 и должен сказать, что реализация USB у Silabs весьма неплохая хоть это и Full Speed. Зачем Вам ее исходники? Оптимизировать? Сомневаюсь, что Вы сделаете лучше чем Silabs, да и потом, Вам потребуется глубокое знание самоё USB и принципов работы подсистемы USB силабсовых МК - где это-то взять?.
Если же Вы желаете просто попрактиковаться программированию на ассемблере для 51, то есть же масса вариантов: напишите поддержку файловой системы для какой-нибудь SPI флеш на ассемблере biggrin.gif


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


Участник
*

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



Цитата(alexunder @ Feb 6 2015, 10:05) *
Я все-таки не понимаю Вас или Вы не понимаете что есть USBX_F320_1.LIB. Эта "мудрёная" библиотека содержит код высокоуровневых функций типа USB_Clock_Start(), USB_Init() и пр. для работы с USB. На мой взгляд, она исполнена весьма неплохо: инициализация, отправка данных, и пр.. До проекта с F321 я много времени провёл с Cypress FX2 и должен сказать, что реализация USB у Silabs весьма неплохая хоть это и Full Speed. Зачем Вам ее исходники? Оптимизировать? Сомневаюсь, что Вы сделаете лучше чем Silabs, да и потом, Вам потребуется глубокое знание самоё USB и принципов работы подсистемы USB силабсовых МК - где это-то взять?.
Если же Вы желаете просто попрактиковаться программированию на ассемблере для 51, то есть же масса вариантов: напишите поддержку файловой системы для какой-нибудь SPI флеш на ассемблере biggrin.gif


Наверное всё-таки низкоуровневых )
Нет, вовсе не хочу там что-либо менять, понятное дело что они это всем своим штатом разрабатывали.
Просто нужно написать простую программу для отправки параметров в/из компа по шине USB. Пишу на асме. Вот как туда вставить эти подпрограммы... Что они расходуют, какие ресурсы - хотя бы понимание...
Go to the top of the page
 
+Quote Post
alexunder
сообщение Feb 6 2015, 09:49
Сообщение #25


unexpected token
****

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



Цитата(Angelborn @ Feb 6 2015, 11:37) *
Наверное всё-таки низкоуровневых )

я имел ввиду, что функции типа USB_Init, Block_Read и пр. являются высокоуровневыми по отношению к оперированию приемопередатчиком USB, пакетами, токенами и пр. Ну, не важно, в самомо деле.

Цитата(Angelborn @ Feb 6 2015, 11:37) *
Просто нужно написать простую программу для отправки параметров в/из компа по шине USB. Пишу на асме. Вот как туда вставить эти подпрограммы... Что они расходуют, какие ресурсы - хотя бы понимание...

Отлично! Нет ничего проще, чем сделать это с помощью обсуждаемой библиотеки! Вы работаете в Keil? Ну так подключите библиотеку к проекту. Там в пакете USBXpress должны быть и примеры для популярных сред типа Keil и IAR. И там же была информация в PDF-файле о ресурсах, требуемых для библиотеки.
Затем в Вашем ассемблерном проекте вызывайте внешние функции с помощью lcall (только не забудьте, что передача переменных идет через регистры Rx)

Код
;****************************************************************
; Объявления внешних функций из библиотеки Silabs USB_API
; Не забудьте прицепить файл USBX_F320_1.LIB к проекту!
;****************************************************************
extrn number (Flash_Size_L,Flash_Size_H)
extrn code (USB_Clock_Start)
extrn code (_USB_Init)
extrn xdata (?_USB_Init?BYTE)
extrn code (USB_Int_Enable)
extrn code (USB_Int_Disable)
extrn code (Get_Interrupt_Source)
extrn code (USB_Disable)
extrn code (_Block_Read)
extrn code (_Block_Write)


Вызов _BlockRead() Из обработчика прерывания от USB:
Код
MessageDispatcher:
; Получена структура сообщения от хоста. Диспатчим ее
; Считываем структуру из USB_Buffer
    mov      r3, #0x01
    mov      r2, #HIGH(USB_Buffer)
    mov      r1, #LOW(USB_Buffer)
    mov      r5, #0x0E
    mov      r4, #0x00
    lcall    _Block_Read




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


Участник
*

Группа: Участник
Сообщений: 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
Сообщение #27


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
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 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
Сообщение #29


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
jcxz
сообщение Feb 7 2015, 17:55
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Angelborn @ Feb 6 2015, 17:58) *
Получается что сама процедура общается с библиотекой на уровне асма как раз через регистры? А где можно почитать про эти сообщения?
В пдф AN169_USBXpress_Programmers_Guide.pdf я не нашёл ничего конкретного, только описания этих подпрограмм.

Порядок вызова функций, передачи им и возврата от них аргументов называется "Соглашения вызова" или "Calling conventions". И искать их описание следует в описании компилятора.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Feb 8 2015, 21:55
Сообщение #31


unexpected token
****

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



Цитата(jcxz @ Feb 7 2015, 18:55) *
Порядок вызова функций, передачи им и возврата от них аргументов называется "Соглашения вызова" или "Calling conventions". И искать их описание следует в описании компилятора.

Вот! Спасибо!


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


Участник
*

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



Всем спасибо за ответы!
Сделал проект в Кейле, добавил туда все файлы из проекта Силабс, который называется TestPanel, там где можно поморгать светодиодом и получить данные АЦП по шине USB. Откомпилировал (ошибок 0, но 19 предупреждений почему-то).
В кейле поставил галочку "внедрять asm код в LST"
Так вот... действительно все команды асма стали видны.
Но какая-то неувязочка. Если сравнивать бинарно прошивку напрямую из камня и вот эти команды asm из lst, то видно много различий. Не пойму вследствии чего это так...
Go to the top of the page
 
+Quote Post
pvasil404
сообщение Jul 11 2016, 20:57
Сообщение #33





Группа: Новичок
Сообщений: 3
Регистрация: 11-07-16
Пользователь №: 92 512



Ребята, помогите написать\подобрать драйвер для железяки на базе silabs 8051f320. Изрыл весь инет, максимум чего добился - корректной работы на winxp32 и win764. Но проблема в том что работать это все должно на win7-32! на этой системе никак не встает, никакие танцы с бубном не помогают

Не за просто так, само собой!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 06:22
Рейтинг@Mail.ru


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