|
|
  |
STM32F042 pack для Keil 5, что-то не вижу их в выборе контроллера |
|
|
|
Sep 24 2014, 19:45
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 9-09-07
Из: Минск
Пользователь №: 30 406

|
Создаете проект для контроллера STM32F1, добавляете USB. Либо можете взять пример (из инсталлятора пакетов). И оттуда копируете нужный вам файл, я его прикрепил (взял из проекта для STM32F103). Модифицируете его. Что касается драйвера для RTL8201CP. Берете любой из тех, что пакет предлагает, и модифицируете его в соответствии с даташитом на RTL8201CP. Можете готовый поискать, возможно найдется где-то. Я сам когда-то для этой микросхемы физического уровня писал драйвер под Keil, но он, к сожалению, не сохранился.
Прикрепленные файлы
usbd.rar ( 5.68 килобайт )
Кол-во скачиваний: 21
|
|
|
|
|
Sep 25 2014, 09:12
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 9-09-07
Из: Минск
Пользователь №: 30 406

|
Цитата(smk @ Sep 25 2014, 12:03)  Не совсем понимаю какого характера модификация? Ну и хотельсь бы фирмовую библиотечку попользовать. Под 4.72 работало. Хочу stm32f042 попользовать. Хорошо под нужды подходит. Этот драйвер - слой между периферийным модулем USB МК и компонентом File System из Middleware. Там чтение/запись в регистры, работа с прерываниями USB. Надо все это для вашего МК переписать.
|
|
|
|
|
Sep 25 2014, 09:35
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата(Jekin @ Sep 24 2014, 21:05)  Да, использовать необязательно. Но надо ее настроить через configuration wizard (файл RTX_Conf_CM.с). И имейте в виду, что функция main уже по умолчанию является отдельным процессом операционной системы. Вот про это не совсем понял. Т.е. писать главную функцию как это обычно делается уже нельзя? Цитата(Jekin @ Sep 25 2014, 12:12)  Этот драйвер - слой между периферийным модулем USB МК и компонентом File System из Middleware. Там чтение/запись в регистры, работа с прерываниями USB. Надо все это для вашего МК переписать. Т.е. просто адаптировать к конкретному аппаратному модулю USB? Правильно понял?
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Sep 25 2014, 09:39
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 9-09-07
Из: Минск
Пользователь №: 30 406

|
Конечно, можно. Просто надо иметь в виду, что main - это уже не просто главная функция, а процесс операционной системы. В этой функции можно использовать API CMSIS-RTOS. Ну и не забудьте достаточный размер стека установить (там для main в конфигурационном файле операционной системы отдельная строка размера стека предусмотрена) Цитата(smk @ Sep 25 2014, 12:35)  Т.е. просто адаптировать к конкретному аппаратному модулю USB? Правильно понял? Да, все верно.
|
|
|
|
|
Sep 25 2014, 13:22
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Код #define OS_MAINSTKSIZE 50 Это размер стека, что имелся ввиду? Каким его обычно делают? Цитата .\stm32f103.axf: Error: L6218E: Undefined symbol main (referred from rtx_conf_cm.o). Вот такая еще ошибка при компиляции. Это с галочкой ОС связано?
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Sep 25 2014, 13:33
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 9-09-07
Из: Минск
Пользователь №: 30 406

|
Цитата(smk @ Sep 25 2014, 16:22)  Код #define OS_MAINSTKSIZE 50 Это размер стека, что имелся ввиду? Каким его обычно делают? Размер стека специфичен для каждой программы. Нету универсального размера. В конфигураторе RTOS есть галочка "проверять переполнение стека". Можете ее установить, чтобы увидеть, если размер стека недостаточен. Цитата(smk @ Sep 25 2014, 16:22)  Вот такая еще ошибка при компиляции. Это с галочкой ОС связано? Похоже, что в вашей программе нет функции main
|
|
|
|
|
Sep 25 2014, 13:40
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата Размер стека специфичен для каждой программы. Нету универсального размера. В конфигураторе RTOS есть галочка "проверять переполнение стека". Можете ее установить, чтобы увидеть, если размер стека недостаточен. Я понимаю. думал есть какие-то общепринятые цифирки. А где галка? Она без ОС работает? Цитата Похоже, что в вашей программе нет функции main Переработался
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Sep 25 2014, 13:45
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 9-09-07
Из: Минск
Пользователь №: 30 406

|
Цитата(smk @ Sep 25 2014, 16:40)  А где галка? Она без ОС работает? Галка в файле RTX_Conf_CM.c. Это проверка стека процессов. Без ОС нету процессов.
|
|
|
|
|
Sep 30 2014, 08:34
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Попытался создать проект через CubeMX. Не собирается. Відает 10 ошибок типа: Код usb_042 Configuration\usb_042 Configuration.axf: Error: L6406E: No space in execution regions with .ANY selector matching usbd_desc.o(.bss). Єто что означает? Лечится как-то ? Спасибо.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|