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

Petka

Свой
  • Постов

    1 438
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Petka


  1. Я работал с маленькой платкой DLP2232 она содержит чип FTDI2232, у него с одной стороны USB, а с другой либо два 16 линий IO, либо SPI, либо JTAG...

    Да, я его программировал на Си из ВСВ6. У FTDI куча примеров выложена...

    ИМХО это идеальный вариант, если есть желание и опыт программирования. Интересно, есть ли готовые опенсорсные софтинки, позволяющие через FTDI2232 работать в режимах SPI/I2C/GPIO?

  2. ....

    Нужно это все изредка для отладки ПЛИС или контроллеров, чтобы выдать пару линий управления, послать/принять SPI посылку, DMX frame, считать/записать EPROM, считать состояние 8битного порта.

    Скорости - желательно хотя-бы 100КГц.

    ...

    Для SPI, I2C, GPIO может подойти такая штука:

    http://www.versaloon.com/products.html#VersaloonMini

    Если умеете программировать контроллеры, то функционал сами можете дополнить.

    Как плюс умеет прошивать и отлаживать контроллеры. Цена 30$. Или можете сами изготовить. Схемы и прошивки есть на сайте. Сам кроме программирования пользовался как прошивалкой EEPROM.

  3. Верой и правдой служил программатор и вдруг захандрил . В CodeVisionAVR Evaluation пишет AVRISP error getting parameter: 0x92. Что это за ошибка ?

    Симптомы подробнее!

    При подключении USB светодиод быстро моргает 6 раз?

    Измерьте напряжение питания микроконтроллера.

    Кварц частоту генерирует?

    Ft232r работает? У вас светодиоды на ft шке стоят или нет? Если стоят, то мигают ли при попытке программирования?

    В конце концов попробуйте другим софтом (avrdude, например).

  4. Пытаю cmsis много примеров для keil iar но для gcc не смог найти, попробовал собрать в этой функции нужно добавить код который будет настраивать таблицу векторов, подскажите как это сделать?

    ...

    В "cmsis" есть примеры и для gcc. Называются они "Code Red". В приведённом Вами коде есть даже такой дефайн. Поищите в cmsis каталог с названием codered или аналогичный. Там будут starutup файлы с таблицами векторов для gcc.

  5. ....Заметил что в момент начала чтения программатор как бы перезагружается, т.е индикатор потухает и опять отсчитав 6 вспышек загорается. В 6 студии пишет что в момент чтения пропадает питание 5 вольт, хотя до начала чтения идентификатора показывает стабильно 5 в. Сталкивался ли кто нибудь с данной проблемой?

    Катушка индуктивности по питанию на программаторе есть? Попробуйте её закоротить. Будет ли программатор "перезагружаться"?

     

  6. ...

    Осмелюсь понаглеть и сразу еще один вопросик сюда же: mosi-miso для режима sp это PDI и PDO и они же совпадают с выводами порта UART0, который мне очень бы хотелось использовать через фт-шку для подключения к компу. Получается что на выводы порта UART0 (он же SPI) в режиме программирования будет подключен как программатор, так и ft232(безкварцевая). Нормально ли это, или на время программирования следует отключить выводы фт-шки от SPI? Отключать могу смд-переключателями, это в принципе не проблема.

    Ответы на этот вопрос содержатся в разделе "Memory Programming" в Datasheet на AtMega64a.

    Подключение меги к программатору описано в разделе "SPI Serial Programming Pin Mapping" (стр 288)

     

  7. (что бы не плодить темы, спрошу здесь)

    а никто не встречал cortex-m3, m4 с количеством CAN более 2?

    А то у NXP ARM7 были с 4мя, у TI ARM7 были вроде с 3мя, а на новых ядрах что то не могу найти ничего...

    http://mcu.ru/parametric?core%3DCortex%26can%3D3%2B

  8. ... смотрю на сайте атмела пропали почти все упоминания AP7000-это

    AVR32 с MMU

    .....

    будут они их в дальнейшем поддерживать или нет?

    ...

    что лучше выбрать STM32 или ARM от атмела или докончить проект на AVR32?

    Для себя вопрос уже решил однозначно: Если есть альтернатива AVR32, то лучше использовать альтернативу. Если есть альтернатива не использовать Атмел вообще, то лучше не использовать.

  9. ....Залил случайно на свой Samsung Galaxy Ace (S5830) не тот бутлодер, в результате чего получил красивый, но бесполезный кирпич.

    .... Потому я здесь. В общем помогите с помощью виглера восстановить телефон.

    ....Кто какой опыт по данному вопросу имеет?

    Рекомендую начать с освоения openocd. Создайте тему в разделе "GNU/OpenSource средства разработки для avr/arm/mips". Там люди добрее.

    У меня был опыт заливки внешней NAND через jtag процессора с учётом подсчёта ECC.

    Штатный бутлоадер есть?

  10. .... Мучать Линукс прерываниями имхо столь же неразумно, как и писать веб-сервер на Кортесе М3. Правда соединили они их совершенно странно - по ЮАРТУ =(.

    А как же уарт в линуксе работает. Не через прерывания? :rolleyes:

  11. ....

    Мы же говорим о минимизации усилий в быстрых, малобюджетных и надежных проектах с интенсивным использованием специализированной периферии микроконтроллера в реальном времени с циклами в десятки микросекунд.

     

    Дайте мне пример такого чисто на линуксе без дополнительных микроконтроллеров.

    Наш диалог вышел за пределы темы топика. Наверное стоит продолжить его в другом разделе форума.

    Если придерживаться темы, то Sitara содержит MMU, что позиционирует данный чип для использования полноценных ОС, с разделением ПО на пользовательское и системное (ядерное). При таком подходе трудно из пользовательского контекста получить мгновенную реакцию на внешние события. Очевидно, для гарантии времени реакции (микросекунды) придётся писать модуль ядра. А настройки и управление этого модуля можно осуществлять из ПО верхнего (пользовательского) уровня. В такой парадигме всё равно какая ОС будет использована. Линукс просто дешевле, быстрее в адаптации к вашей плате и удобнее для программирования. Как плюс к линуксу - можно использовать проверенные стеки сети и USB, файловые системы, готовые программы высокого уровня и не изобретать велосипеды (ftp, telnet и т.д.).

  12. Вообще я бы посоветовал поспорить с пацанами вроде этих - http://beagleboard.org/project/robot+cleaner

    /

    А чего спорить с радиолюбителями? Пускай занимаются тем, что умеют, и что приносит им удовольствие. Пихать линукс в каждый утюг глупо. Но и бояться линукса в тех задачах, где ему место точно так же глупо.

    Они то и не знают что dsPIC им совершенно не нужен если есть линукс. Или у них фобия? ;)

    См выше.

    P.S. Есть такой проект: управление станками с ЧПУ, называется "linux-cnc". Там есть требования по реалтайму. Для решения задачи они используют realtime-linux + софт для стандартной убунты. Там танцорам ничего не мешает.

  13. Прерывания ядра с такой частотой можно сделать в любой OS, это бесспорно.

    Но это потребует патча самого ядра. Тогда вы лишаетесь возможности автоматического апгрейда ядра.

    Чушь какая-то.

    У ядра есть такое понятие как загружаемый модуль. Его не обязательно монолитно включать в само ядро. Это отдельный файл. Обновляйте ядро на здоровье.

    А это все равно, что начать делать проприетарную ОS. Т.е. от линукса остается только название.

    см. выше.

    Хотя вот посмотрел https://linuxlink.timesys.com/dev_center/beagleboard даже с поддержкой примитивного набора периферии для каждой платы предлагается 2-3 версии ядра, чаще одна и нигде не увидел возможности свободного выбора версии ядра.

    Т.е. практика переделки ядра повсеместная и между платформами нет приемственности методов достижения быстродействия.

    А значит сложность все таки есть.

    Это ошибочное представление из-за отсутствия понимания принципов и возможностей linux. С опытом пройдёт. Но для опыта надо хотя бы пытаться работать с системой, а не бояться мифических и несуществующих проблем.

     

    ...

    И кстати, а сколько реально AM3359 сможет вытянуть по сети? Я что-то в сомнениях, что его реально можно нагрузить двумя гигабитными потоками...

    Для примерной оценки требуемой производительности есть такое неформальное правило: для обработки одного мегабита ethernet необходим один мегагерц тактовой частоты процессора. т.е. для двух гигабитных портов надо 2 Гигацерцовый процессор. Если процессор имеет частоту 400 Мегагерц, то сетевая производительность получится примерно на 400 мегабит. Обращаю внимание, что это только метод для приближенной оценки производительности сети.

     

    ...

    Опять, конечно, не для линукса. :laughing:

    Опять необоснованные фобии... :laughing:

  14. ...

    Рабочий цикл у частотного преобразователя с векторным управлением менее 50-20 мкс.

    Т.е. линукс рядом не лежал.

    А в чём тут проблема у линукса? Отработать прерывание за такое время на линуксе не составляет никакой сложности. Или подразумевается какая-то другая проблема?

  15. ...

    Вот как раз я так и считаю. :laughing:

    Обычно новички так и поступают. Потому что изучать что-то это долго и лень, а проще сразу вляпать линух и сразу начать кодить. Имхо - это и есть бОльшая часть случаев применения линукса. Причём даже в серийно изготавливаемых устройствах, над которыми вроде должны работать профессионалы, ведь профессионалов нанять - это дорого.

    У меня только один вопрос: Какой опыт применения и программирования под линукс у Вас?

     

    Откуда взялся миф, что новички используют линукс? Ардуино наверняка, но вот линукс...

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

    Объем исходников больших библиотек велик, и весь его переписать лень, особенно бесплатно, вот и ползают там жуки оставленные студентами.

    Это какой-то вид фобии к opensource?

     

    В контексте темы топика:

    1) Студенту, не имеющему долговременных связей с мантайнерами ядра линукс в реальности нет никаких шансов внедрить свой патч к официальному ядру.

    Это относится не только к студенту, но и к любому другому программисту.

    2) Многие библиотеки пишутся разработчиками стандартов на форматы и протоколы. Например, libpng - это эталонная реализация для работы с растровой графикой в формате PNG.

    3) В ОС, основанной на ядре линукс есть интересное свойство. Практически для всех подсистем есть несколько альтенатив (во многих случаях эти альтернативы можно, даже сочетать):

    а) Набор UNIX-утилит командной строки: "легковесный busybox" или "полноразмерный, с расширенным функционалом набор утилит GNU"

    B) Файловые системы: Журналируемые, нежурналируемые, с реализацией программного RAID, оптимизированные для NAND flash, сетевые, в оперативной памяти, с контролем метаданных, с контролем самих данных и т.д, и т.п.

    (если выбрать правильную ФС, то прибор с линуксом можно смело выключать в любой момент времени).

    с) Интерактивность системы: есть обычный линукс, и есть realtime линукс. Как пример: LinuxCNC - управление станками с ЧПУ (необходима быстрая реакция на концевики и прочее)

    d) Драйвера: для одного устройсва, часто существуют несколько альтернативных драйверов. Выбирайте на свой вкус или можете написать свой.

    e) и т.д.

     

    Разумеется есть задачи, куда пихать линукс неразумно.

    Аналогично, есть задачи, которые разумнее всего решать с использованием ОС линукс.

    Многие критики считают, что линукс используют те, кто не умеет программировать "голое железо".

    Однако как раз наоборот, те кто имеет большой опыт программирования "голого железа" как раз выбирают Линукс для решения подходящих к нему задач.

     

  17. ...

    Вот про это не надо заливать... ;)

    Ибо сколько я таких исходников повидал.... такое ощущение, что пишут их малограмотные люди (индусы? ;) , причём сразу выкладывают даже не удосужившись ни разу не проверить - настолько глупые ошибки встречаются....

    Оффтоп:

    Есть такой проект - ChromeOS. В основе лежит ядро linux.

    Вон гугл платит 1 миллион долларов за взлом ChromeOS. Что же вы тут сидите с таким секретным знанием?

    С линуксом хорошо, что если нравится - берёшь. Не нравится, пишешь сам или берёшь другое.

  18. Это значит, мне перед бинарником нужно "ручкачи" вбивать ECC код до загрузки в nandflash? Или можно какой-нибудь утилиткой воспользоваться??

    ECC хранится в дополнительной области NAND. По идее софт, который заливает в NAND должен считать ECC и прозрачно для пользователя записывать. Либо включается аппаратная поддержка ECC и её считать не надо, она сама обновится. В моём случае на ранних стадиях стадиях загрузки кода во флеш приходилось считать ECC и давать команду на запись этого значения отдельно. Без этого встроенный в процессор загрузчик считал данные "битыми" и не запускал прошивку.

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