-
Content Count
145 -
Joined
-
Last visited
Posts posted by anpilog
-
-
есть проблемы с дровами CDC под виндой, они иногда подвисают и то ли пропускают то ли не отправляют пакет, то ли подтверждения какого-то не дают. Может это эти грабли?
Интересно...
Впервые о таком слышу. Есть какие-то пруфлинки для погружения в тему?
-
Всем привет,
Давненько я ничего не спрашивал 8)
Столкнулся тут со странным поведением примеров от Keil.
Если в двух словах, то USBstack на STM32F103RB/C8 виснет под нагрузкой.
Предистория длинная и не интересная, так что я постарался упростить все до минимума.
Итак. Берем пример от Keil c:\Keil\ARM\Boards\Keil\MCBSTM32\RL\USB\Device\CDC_ACM\
Берем Nucleo-R103 с STM32F103RB.
Подсоединяем внешний USB разъем:
D- <-> PA11
D+ <-> PA12
Pull-up D+ to VCC, 1.5k resistor.
Вырубаем инициализацию LCD. Иначе зависним в ней.
// lcd_init (); // lcd_clear (); // lcd_print ("USB Device Demo "); // set_cursor(0, 1); // lcd_print (" www.keil.com ");
Закорачиваем RX и TX для лупбек теста:
PA9-PA10
В качестве тестовой апликухи на компьютере написал простенький JS скрипт.
Он просто гонит кучу данный в порт и выводит на экран то что получил.
Проект для Keil и скрипт можно взять тут: https://www.dropbox.com/s/ocbk2c4fenl75eb/CDC_ACM_nucleo.zip
Все это работает какое-то время (десятки секунд - несколько минут) а потом затыкается.
Затык выглядит как забытая FIFO на прием или передачу USB.
То есть USBD_CDC_ACM_PutChar или USBD_CDC_ACM_GetChar возвращает -1.
while (1) { /* Loop forever */ NotifyOnStatusChange(); /* Notification handling */ /* USB -> UART */ if (usb_rx_ch == -1) { usb_rx_ch = USBD_CDC_ACM_GetChar (); } if (usb_rx_ch != -1) { if (UART_PutChar (usb_rx_ch) == usb_rx_ch) { usb_rx_ch = -1; } } /* UART -> USB */ if (usb_tx_ch == -1) { usb_tx_ch = UART_GetChar (); } if (usb_tx_ch != -1) { if (USBD_CDC_ACM_PutChar (usb_tx_ch) == usb_tx_ch) { usb_tx_ch = -1; } } }
Чаще всего именно USBD_CDC_ACM_PutChar.
Проверил это безобразие на нескольких машинах, парочка Win и один Mac.
И на нескольких процесорах.
Кто-то с таким сталкивался?
Сложно в это поверить, так как Keil-овский USB стек популярный.
Что-то мне подсказывает, что наступаю на какие-то давно известные грабли.
Regards
-
Чтобы провести данное мероприятие надо иметь исходные коды среды, компилятора, отладчика и тому подобного.
Это что за сертификация такая?
-
Судя по тому, что в хелпе, который выдает configure.exe, секция "Qt for Embedded Linux:" отсутствует как класс, сделать это не удастся. Два выхода: либо делать это на линукс-машине, либо под виндами но из-под cygwin.
Мы пользуемся Ubuntu запущенной из под VirtualBox.
Довольно удобно.
-
configure выдал:
Unknown option arm
Unable to detect the platform from environment
QT брал qt-everywhere-opensource-src-4.7.4. Или SDK нужно качать?
Никогда не компилировал QT под windows.
Посмотрите какие платформы вообще доступны ./configure --help
-
На хост-машине стоит Windows, таргет - платка с AT91SAM9M10 с линуксом на борту. Использую кросскомпилятор CodeSourcey arm-none-linux-gnueabi. Хочется QtEmbedded. Что-то не разберусь, как его (Qt) сконфигурировать. На
configure -platform qws/linux-arm-gnueabi-g++
отвечает
Invalid option "qws/linux-arm-gnueabi-g++" for -platform.
Везде пишут описания этого процесса для Linux'a на хост-машине. Может кто сталкивался, подскажите пожалуйста
./configure \
-opensource \
-embedded arm \
-xplatform qws/linux-arm-g++
потом в mkspecs/qws/linux-arm-g++/qmake.conf прописываем нужный компилятор.
-
На команду make -v отвечает make от Borland (установлен Delphi ).
Borland в PATH не прописан. Как Windows его находит и как убрать его?
Спасибо.
Проверьте переменную PATH.
Там однозначно есть путь к Delphi в котором и лежит make.exe
-
Присоединяюсь к вопросу.
Наблюдал ту же проблему на LPC3250 c gcc-4.3.2 и glibc-2.7.
Bus Error был на 4.7.0 и 4.7.1
Решения не нашел.
-
Вы не понимаете - у этой "принципиально нововй платформы" есть специально разработаная "принципиально новая OS"
Да... Значит сарказм мне не привиделся 8)
Пора вводить смайлик - "сарказм"...
-
Вы не понимаете - это "принципиально новая
OSплатформа".Да я как бы и не должен...
Я смотрю на него как на SoC. Да ещё работающий под Linux.
Двойная цена за фактически те же возможности, в данном контексте - настораживает.
ЗЫ:
Тема ценообразования флеймовая... 8(
ЗЫЫ:
Немного оффтоп, но все же.
Жаль что никто так и не запустил такой же массовый продукт как BeagleBoard на просторах СНГ. Мне кажется рынок есть.
ЗЫ:Тема ценообразования флеймовая... 8(
Не ударжался:
Схемотехника модуля BlueShark основана на известном дизайне Beagleboard, что дает неоценимые возможности разработчикам программного обеспечения из-за большого количества программных продуктов для данной платформы. Для разработки и отладки приложений предлагается платформа разработчика Atoll, полностью совместимая с Beagleboard. Это означает, что на отладочном комплекте Atoll возможно запускать программное обеспечение для Beagleboard: Angstrom Linux, Google Android, Ubuntu.Зачем же в таком случае делать что-то иначе и ЗНАЧИТЕЛЬНО дороже чем уже существующий прототип???
Я конечно прошу прощения, но на http://www.evodbg.com/index.php?option=com...99&Itemid=1 beagleboard стоит 235 у.е.
А это купленный "там" товар с накруткой, без малого в $100.
Обидно за державу как-то...
-
BlueShark OMAP3530
Короче, советую взять этот модуль и не парится. По цене намного дешевле будет модуля Digi, по параметрам и так очевидно. Плюс русская документация и русский суппорт. Кто общался с буржуйской поддержкой, тот поймет. Также хочу отметить, что суппорт на все коммерческие платформы сильно отличается от открытых. Вы можете написать в mail-list того же бигла с любым тупейшим вопросом даже по BlueShark, и не будете посланы на три буквы, а получите ответ. Достаточно правильно сформулировать что нужно. Там по beagleboard-клонам вопросов вагон, люди во всем мире разрабатывают и применяют.
Аааа....
А почему у него цена 11500 руб. это же ~370 у.е.
Или у них какой-то загадочный курс при оплате валютой???
Это же в два разо дороже чем новый биглбоард!!!
-
Здравствуйте, Уважаемые коллеги!
После многочасовых поисков по данной теме по ней нет ясности.
Очень интересует как и в какой последовательности собирать и заливать в проц ОС uCLinux, делал как написано тут http://www.linuxopen.ru/2008/08/07/uclinux...ovka-sredy.html не получается, может я туплю, опыта портирования ОС в мк нет, скачал с www.uclinux.org все необходимое для ARM, а реально очень много README, а результата все нет. В связи с этим прошу описание последовательности портирования данной среды в мк от более опытных разработчиков.
С Уважением, инженер Ильясов.
AT91SAM7S64:
Status Production
Flash (Bytes) 64K
SRAM (Bytes) 16K
RTC/RTT -/1
10-bit ADC Channels 8
Peripheral DMA Channels 11
Pb-Free Packages LQFP 64
QFN 64
Хмм... Кто ж Вас надоумил на этот проц Linux ставить???
P/S:
Щас начнется... 8)
PP/S:
Не думаю, что у Вас получится поставить ucLinux на 7-е поколение армов.
Так что гуглите на предмет ucLinux/Linux on arm.
-
потому что разработка ведется для различных архитектур процессоров, разных производителей и т.п. и везде ядро самой последней версии, а это очень старое
кроме того, требуются драйвера, включенные в самые наипоследнейшие версии ядра
поэтому старые как ы мамонта ядра не устраивают в принципе ;)
Ясно. Спасибо.
ок, спасибо, но все равно написал им в техподдержкуЗЫ
какой бред - почему они не добавили в основную ветку ядра? дилетанты... не ожидал так жидко от NXP... =(((
Ну вообщето чип-то достаточно новый, что бы его в основную ветку ядра засовывать. По сути в августе только появились чипы с нормальными серийниками...
Были проблемы с LCD 800x600 под этот чип - сапорт сработал отлично, за что им большое человеческое спасибо.
-
Есть сабжевая плата.
Есть патч BSP "LPC3250 Kernel Version 2.6.27" и для u-boot.
Проблема: этот патч нельзя накатить на 2.6.33 и более новые.
Так как это тестовая плата, а разведена своя, то все равно придется писать поддержку самостоятельно.
Беда: в ядре не наблюдается поддержки LPC32XX вообще... т.е. базироваться не на чем.
Есть ли у кого-нибудь инфа по данному вопросу о поддержке LPC32XX в ядре Linux?
А чем Вас 2.6.27 не устраивает?
Искренне интересуюсь...
В принципе никто не запрещает скопировать arch/arm-mach-lpc32xx с пропатченого 2.6.27 в 2.6.33 и подтащить все необходимые драйвера вручную.
ЗЫ:
Не видел никаких портов кроме как на 2.6.27...
-
Собственно, сабж. И где его можно достать?
Да. Есть можно взять из проекта LTIB (http://ltib.org/resources-download)
-
Блин. MicroC не хочит компилировать даже базовый проект, и следовательно измененный тоже. говорит
Unknown #directive "BIT"
Unknown #directive "DEFINE"
Unknown #directive "separate"
Unknown #directive "ENDIF"
Unknown #directive "IF"
так чем делался этот проект?
Повторяю!
WinAVR
-
Начал пробовать elm-chan'а: зарисовал схемку в протеус, начал компилировать. Вот только CodeAvisionAVR не хочет собирать проект в кучу, ссылаясь на отсутствующие библиотеки avr/io.c и "diskio.h". В WinAVR похожая ерунда.
Чем бы эдаким закомпилить хотя бы образец?
Уже определил что нужен компилятор AVRstudio. Пошол качать.
WinAVR прекрасно собирает http://elm-chan.org/fsw/ff/ffsample.zip для AVR
И AVRstudio тут не нужен...
-
http://elm-chan.org/fsw/ff/00index_e.html
Плюс немного фантазии 8)
В примерах ( http://elm-chan.org/fsw/ff/ff006.zip ) есть вариант для Atmega
-
Ничего не понял. Что именно вас интересует?
То есть использовался софтовый PWM для реализации 24 шагов?
-
:)
:bb-offtopic:
Из всех областей в которых я работал, - электроника - самая низкодоходная отрасль. вероятность получения "сверхприбылей" - практически нулевая. Это даже на уровне владельцев предприятий. А уж на уровне разработчиков вообще не о чём говорить.
Делаю и для МАЗа. Но на самом деле требования для тракторов значительно жёстче чем для автомобилей. В том числе и по климатике.
2 Qwertty.
Есть схема подключения с общим проводом на 2 обмотки. В этом случае двигатель врубается по 3 проводам. Итого 6*3=18, +6 входов 24. В корпусе AI задействованы все ноги. Reset используется как Reset.
Со свитеком чуть сложнее всвязи с тем, что сдвиг 60 град. С солнцебозом делал при 3 точечной схеме приблизительно 1кГц на 1Мгц. При 4-ёх точечной схеме ~ 5кГц на 16МГц. Колличество двигателей мало влияет.
У меня практически указательные стрелки. То есть длина их ~3 см. Я бы не сказал, что они как-то дрожат. Для свитека рекомендуемое дробление - 24 (оно и понятно). Я прикола ради формировал 18, но что-то мне не понравилось.
Хмм....
А можно поподробнее по-поводу "дробления"?
Если это микрошаг, то как его реализовать на такой схеме включения обмоток как у SWITEC'а?
Заранее спасибо.
-
http://elm-chan.org/works/akilcd/report_e.html
там есть ссылка на быстрое преобразование Фурье http://elm-chan.org/docs/avrlib/avrfft.zip для atmega128
-
LM3S6100-IQC25 в Киеве предлагают уже по 41.11 грн (примерно 8$ - официальный курс 5.05UAH=1$) с НДС в мелком опте
http://www.eltis.ua/russian/shop/search/in...%EF%EE%E8%F1%EA
Ага.
Только, забыли сказать, что это единственное место где его можно купить и на складе лежит не так уж много. Про срок поставки - молчу...
-
Поняли всё правильно.
Я хочу иметь более-менее большой запас памяти для AtMega16. 1-8 гиг - вполне подойдет.
Память должна быть доступной, более-менее универсальной.
USB-флешка как раз то что надо.
Но, так понимаю, что для AtMega16 этот вариант не проходит для новичка.
Что ж. SD card так SD Card. Подойдет любая или нужно на что-то обратить особое внимание?
На выходных посмотрю еще Glcd, built-in контроллер KS0108B.
Какие есть адреса в сети с бесплатными glcd-библиотеками?
(желательно с тестовыми примерами и схемой что куда припаивать)
По поводу USB флешки посмотри на это http://www.vinculum.com/prd_vnc1l.html
-
В списке не значилось, запамятовал.
Покурим...
Keil STM32F103 USB-CDC вешается
in ARM
Posted · Report reply
Винда может и тупит, но я проверил это еще и на MacOS.
Результат тот же. 8(
Что-то там другое...
Такое впечатление, что где-то что-то сбрасывается.
Сегодня ради интереса поигрался с оптимизацией (О0-О3).
Так вот на О3 зависание происходит гораздо реже.
Что-то тут не так.
Спасибо.
Ну тут таких размеров просто нету...