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

Инструмент для доступа к регистрам устройств на Линукс машине без драйвера

1 hour ago, makc said:

"без GUI жизни нет".

Я в большинстве случаев пользуюсь конолью. 
Вы будете утверждать что ГУИ по информативности не лучше консоли? Когда клубоко в отладке надо набирать в нужном окне терминала нужные команды не сравнимо, на мой взглад, с простым нажатием кнопки и видением всей картины с одного взгляда.

Но о вкусах не спорят.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, Tarbal сказал:

Я в большинстве случаев пользуюсь конолью. 

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

1 минуту назад, Tarbal сказал:

Вы будете утверждать что ГУИ по информативности не лучше консоли?

Нет, не буду. Неинформативный интерфейс можно сделать как в GUI, так и в консоли. Всё зависит от умения автора этого инструмента.

2 минуты назад, Tarbal сказал:

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

У всех свои методы решения задач. Но консоль уже давно и прочно зарекомендовала себя эффективным инструментов разработчиков-профессионалов.

3 минуты назад, Tarbal сказал:

Но о вкусах не спорят.

Выше я пытался писать не про вкусы, а про функциональность и возможности. Которые, в частности, невозможно использовать без документации и наглядных примеров, поскольку порог входа нужно как-то преодолевать. В вашем случае это пока инструмент одного пользователя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, makc said:

Выше я пытался писать не про вкусы, а про функциональность и возможности. Которые, в частности, невозможно использовать без документации и наглядных примеров, поскольку порог входа нужно как-то преодолевать. В вашем случае это пока инструмент одного пользователя.

С этим я как раз согласен. Добавил описание работы с дополнительными окнами, создаваемыми при помощи простых XML файлов.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 часов назад, Tarbal сказал:

создаваемыми при помощи простых XML файлов

А почему выбран XML формат? Он не очень дружественный для человека. Если предполагается читать/править эти файлы руками, то намного лучше подходит YAML формат, который по сути тот же XML, но human friendly. Например, описание регистров из c_d1.xml:

<?xml version="1.0"?>
<data>
        <register name="ADC Status">
            <addr>0x43c00000</addr>
        </register>
        <register name="ADC IE">
            <addr>0x43c00000</addr>
        </register>
        <register name="ADC IS">
            <addr>0x43c00000</addr>
        </register>
        <register name="DMA Status">
            <addr>0x40400000</addr>
        </register>
        <register name="DMA Register">
            <addr>0x40400000</addr>
        </register>
        <register name="DMA Register">
            <addr>0x40400000</addr>
        </register>
</data>

может выглядеть так:

ADC Status   : 0x43c00000
ADC IE       : 0x43c00008
ADC IS       : 0x43c00010
DMA Status   : 0x40400000
DMA Register : 0x40400008

или так, если нужно для каждого регистра добавлять несколько свойств (тут только одно -- addr):

ADC Status:
    addr : 0x43c00000

ADC IE:
    addr : 0x43c00008

ADC IS:
    addr : 0x43c00010

DMA Status:
    addr : 0x40400000

DMA Register:
    addr : 0x40400008

или так, если удобно сгруппировать регистры по контексту:

ADC Regsisters:
    Status : 0x43c00000
    IE     : 0x43c00008
    IS     : 0x43c00010

DMA Registers:
    Status   : 0x40400000
    Register : 0x40400008

Читается это с помощью модуля pyyaml, (pip install PyYAML), внутри кода:

with open('regs.yml') as yml:
    regs = yaml.safe_load(yml)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

36 minutes ago, dxp said:

А почему выбран XML формат? Он не очень дружественный для человека. Если предполагается читать/править эти файлы руками, то намного лучше подходит YAML формат, который по сути тот же XML, но human friendly. Например, описание регистров из c_d1.xml:

Полностью с вами согласен. Не было времени думать. Надо было быстро что-то сотворить для того, кто со стороны FPGA работал. 
По стереотипу сделал. Раньше работал с подобными програмамми. Они использовали XML.
Будет время, добавлю такую возможность.
На самом деле я часто инструменты делаю пока работаю над проектом. Просто этот мне понравился своей простотой и гибкостью, потому его и выставил в гитхаб. Планы другие были пока делал его.
Да и для практики в Питоне нужно было что-то сотворить. Питона я совсем не знаю.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

В описании это есть, но не грех и продублировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь попробовал использовать? Может есть какие-нибудь пожелания насчет дополнительных возможностей? Думаю добавить две кнопки для листания дампа вперед и назад.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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