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

nill

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о nill

  • Звание
    Частый гость
  1. Читаю документацию на RTL8211DN и что-то не могу понять такой момент. К ней можно одновременно подключить UTP и SFP-модуль, и она вроде как автоматически выберет активный интерфейс для подключения к MAC. Но как узнать, какой из них подключен в данный момент? И какой из них будет выбран, если оба интерфейса будут активны?
  2. Терминал и питон на удаленной системе можно сделать как-то так: Кодxfce4-terminal --command "ssh user@192.168.0.27" --tab --command "ssh user@192.168.0.27 -t python"
  3. Много виртуальных UART

    Цитата(toweroff @ Apr 12 2017, 23:28) Поможите примерами, люди добрые Давайте, я Вам лучше удочку дам. Драйверы tty описаны в LDD, глава 18. В главе 7 есть про ядерные таймеры. Но если очень хочется примеров, то что-то дожно быть в дереве исходников в /drivers/tty.
  4. Доступ к регистрам

    Цитата(Olej @ Apr 12 2017, 16:13) P.S. Детали и примеры использования всего этого хозяйства можете посмотреть здесь: Практикум по Linux Kernel. Ссылка криво вставилась, поправьте если не сложно.
  5. Решено, еду! Скажите, а сколько туда стоит абонемент на день?
  6. Выделение памяти

    Цитата(aaarrr @ Dec 29 2016, 21:41) Добавьте к параметрам ядра cma=32M. Тут стоит добавить, что CMA прозрачно используется через DMA API, и все драйверы, запрашивающие память через dma_alloc_coherent, получат свой кусочек. Так что 32M может и не хватить с учётом того, что в выводе /proc/meminfo кто-то уже откусил ~200 кб.
  7. Цитата(jcxz @ Dec 3 2016, 17:27) А что это за ядро, где нет stdlib? У нас тут вышло небольшое недопонимание. В ядре, разумеется, есть своя реализация стандартной библиотеки, но в ней нет файла stdlib.h и нет функции strtof, о которых говорилось в пятом сообщении.
  8. Цитата(Lagman @ Dec 3 2016, 00:12) (смотрите на функции которые имеют в своем названии print и scan) Если заглянуть в исходники vsscanf, то можно обнаружить, что спецификатор 'f' не обрабатывается. Впрочем, об этом написано в Documentation/printk-formats.txt ЦитатаFor obvious reasons, floating point formats (%e, %f, %g, %a) are also not recognized. Use of any unsupported specifier or length qualifier results in a WARN and early return from vsnprintf. Цитата(Genadi Zawidowski @ Dec 3 2016, 06:52) stdlib.h: strtof, strtod, strtold Здесь речь о пространстве ядра, в котором нет stdlib.h Viwon, а Вам действительно нужно обрабатывать действительные числа в драйвере? Если их нужно просто передать DSP, то почему бы просто не скопировать весь символьный буфер в его память и разбирать его уже на DSP? Или на нём тоже ядро работает?
  9. KiCad Scripting

    Цитата(dxp @ Nov 23 2016, 15:11) Например, я бы предпочёл всё то, что предоставляет упомянутый в соседней теме менеджер компонентов редактора схем, иметь непосредственно в редакторе схем. Получите, распишитесь : https://lists.launchpad.net/kicad-developers/msg26723.html К сожалению, у меня сейчас совсем нет времени для тестирование обоих вариантов и я не могу сказать, насколько они перекрываются в плане фукнций, но патч по ссылке встретили положительно, так что есть вероятность, что он будет добавлен в основной код. Собственно, сам патч в той же рассылке: https://lists.launchpad.net/kicad-developers/msg26742.html Цитата(dxp @ Nov 23 2016, 15:11) Вообще, это единственно, как видится, правильный подход: главная программа должна иметь ядро и API расширений. Не нужно в коде главной программы лепить весь функционал - это можно делать с помощью плагинов. Это сразу резко разгружает разработчиков пакета - пользователи сами напишут всякие полезные и удобные штуки. С этим полностью согласен. Не могли бы Вы отписаться о впечатлениях об использовании их системы плагинов после того, как получится её протестировать?
  10. KiCad Scripting

    Цитата(dxp @ Nov 22 2016, 21:31) Собственно вопрос ставится: "Встроенные средства" vs "Внешние средства". Я год или полтора назад смотрел на этот API и тогда он мне показался недостаточно функциональным. Если он Вас сейчас не устраивает, то и связываться с ним, на мой взгляд, не стоит. Судя по соседней ветке, у Вас уже есть опыт создания своих внешних инструментов и есть время на всё это, поэтому я бы на Вашем месте продожил в этом же направлении.
  11. Цитата(doom13 @ Nov 11 2016, 16:09) данный кусок памяти становится доступен на запись/чтение, но отдает не всё адресное пространство DDR (1 GB), а только 126*1024*1024 байт (вроде бы и достаточно, но как заполучить всю память?). Ядро резервирует 1 Гб адресного пространства под собственные нужды. В этот кусок, помимо прочего, отображается память, полученнвя через ioremap. Вы пытаетесь в эту область отобразить свой гигабайт и он туда не влазит. Как получить всё - не подскажу, поскольку не сталкивался, но попробуйте почитать Documentation/io-mapping.txt. Можно ещё поискать как это делается для видеопамяти. Цитата(doom13 @ Nov 11 2016, 20:29) Почему преобразования phys_to_virt и virt_to_phys работают неправильно? Эти преоразования имеют смысл только для системной памяти. И вообще, эти функции не рекомендуется использовать, где-то в документации к ядру об этом сказано.
  12. Небольшое практическое дополнение к предыдущему ответу: www.di.unipi.it/~nids/docs/longjump_try_trow_catch.html
  13. Перевод GUI

    Цитата(break @ Apr 27 2016, 14:54) От части сокращений можно избавиться: вместо "Повернуть Х по ч.ст." - "Повернуть X вправо". Даже короче получается. Кстати, "Повернуть Х <-" - больше похоже на "Повернуть X против часовой стрелки", то есть влево. Поддерживаю, я бы постарался избегать сокращений. Несколько предложений из того, что заметил при беглом просмотре: Код#: common/basicframe.cpp:430 #, c-format msgid "Help file '%s' could not be found." msgstr "Файл помощи '%s' невозможно найти." Невозможно найти файл помощи. Код#: common/dialog_about/AboutDialog_main.cpp:160 msgid "Non official repositories" msgstr "Не официальные репозитории" Неофициальные? Код#: common/dialog_about/AboutDialog_main.cpp:210 msgid "The complete KiCad EDA Suite is released under the" msgstr "Программный комплекс KiCad EDA Suite  распространяется под" Тут есть лишний пробел и это не единственное такое место. Код#: common/fp_lib_table.cpp:373 #, c-format msgid "'%s' is a duplicate footprint library nickName" msgstr "'%s' задублирован в библиотеке уникальных имён посад.мест" Просто "дублирован". Для обозначения ориентации страницы используются "ландшафт/портрет". Может быть использавать прилагательные для этих терминов?
  14. Цитата(Viwon @ Apr 21 2016, 17:57) Если коротко, то вопрос следующий: как драйвер сигнализирует приложению пользователя, что есть данные для обработки? Мне кажется, что в данном случае удобнее воспользоваться сигналами из драйвера. Вот тут показан примерный сценарий использования: http://www.friendlyarm.net/forum/topic/893 Заодно посмотрите обзорную статью о доступных механизмах взаимодействия с пространством пользователя: http://wiki.tldp.org/static/kernel_user_space_howto.html Может быть найдёте что-то более подходящее. А ARM на этой платформе не имеет доступа к адресному пространству DSP? Было бы логично напрямую писать данные в его память, минуя лишнее копирование в пространство пользователя, и потом запускать обработку.
  15. Ваше описание слишком запутано, чтоб можно было давать какой-то определённый совет. Ну, по крайней мере мне ничего не понятно. Куда подключен АЦП? Где выхотите получить данные от него? При чём здесь ARM? Попробуйте более чётко описать задачу и, возможно, тогда быстрее получите ответ. Цитата(Viwon @ Apr 21 2016, 00:06) Думаю использовать raise_softirq в драйвере АЦП, а в демоне сделать его обработчик(open_softirq), но чувствую open_softirq работает только в пространстве ядра. Наиболее распространённым способом отложенной обработки прерываний являются тасклеты(tasklet), но, опять же, из описания задачи не понятно какой из этих механизмов будет удобнее. В одном Вы правы - это механизм пространства ядра. Если нужно получить данные в пространстве пользователя, то придётся дополнительно подумать и над этим.