LINUX.ORG.RU

Сообщения MBK

 

Серийный номер Compact Flash

Форум — Development

У каждого внешнего носителя информации есть свой уникальный серийный номер, который не меняется при форматировании и может быть прочитан специальным образом. Например, у карт SD это CID А как у карт Compact Flash?

 , ,

MBK
()

Как получить данные CID карты памяти из QT?

Форум — Development

Существует ли какой то прямой QTшный способ чтения Card ID помимо чтения /sys/class/mmc_host/mmc1.../cid или /sys/block/... /cid ?

 ,

MBK
()

Установка gcc на android GNUroot debian

Форум — Development

Решил попробовать компилировать приложения прямо на телефоне, установил GNUroot debian. Однако, в нем gcc отсутствует, несмотря на то, что в списке установленных пакетов gcc-4.8-base , gcc-4.9-base и libgcc1. Соответственно, установить эти пакеты тоже нельзя, apt-get пишет, что, мол, и так установлены последние версии. Снести их начисто и установить по новой по понятным соображениям нельзя тоже. Выход - установка build-essential, там все в рабочем состоянии, но вот незадача - внутренняя память заканчивается гораздо раньше, чем установка доходит до конца. Причем, без разницы, установлен GNUroot на карту или внутреннюю память - установка build-essential все равно идет на внутреннюю память пока не забьет ее под завязку. Существует ли какой то выход из данного тупика? Может возможно как то поставить только cишный компилятор с библиотеками (перл, руби и прочие рюши мне не нужны) или, может, как то можно заставить GNUroot debian все устанавливаемые пакеты на карту ставить вместо внутренней памяти?

 , , ,

MBK
()

В чем смысл ассемблерной конструкции (x86)?

Форум — Development

Декомпилируя очередную библиотеку наткнулся на странную конструкцию (на входе xmm0):

movss xmm1, dword ptr [ebx-303BE0h]
movss xmm2,xmm0
divss xmm2,xmm1
mulss xmm1,xmm2
subss xmm0,xmm1
Для чего такое могло понадобиться? Это ж тождественно нулю должно быть? Или не?

 ,

MBK
()

В чем смысл ARMовской конструкции?

Форум — Development

Изучаю ARM ассемблер, в дизассемблированом коде периодически встречаются конструкции вида

.text:01700AD0                 STR             R3, [SP,#0x98+var_48]
.text:01700AD4                 LDR             R1, [R3]
.text:01700AD8                 ADD             R11, R2, R11
.text:01700ADC                 CMP             R1, #0
.text:01700AE0                 BEQ             loc_1700B08
.text:01700AE4                 CMN             R1, #1
.text:01700AE8                 BEQ             loc_1700B08
.text:01700AEC                 DMB             SY
Хочется узнать в порядке повышения общей эрудиции, каков сакральный смысл их и когда их можно применять самому?

 ,

MBK
()

Распаковать usr.img

Форум — General

Снова извиняюсь за нубский вопрос, имеется образ usr.img, возможно ли как то посмотреть файловую структуру и извлечь нужный файл оттуда на не-линуксовом (виндовом) компьютере?

 , ,

MBK
()

libusb_claim_interface() выдает ошибку DEVICE_BUSY

Форум — Development

При попытке открытия устройства, воткнутого в USB через libusb 1.0 происходит, собственно, сабж. Устройство (самодельная плата управления) видится по VID-PID, открывается, но libusb_claim_interface() выдает ошибку -6. До этого с другой платой таких проблем не было. Интуитивно понятно, что, очевидно, система открывает это устройство для себя и держит, но как этого избежать? Система Raspbian Jessie

 , , ,

MBK
()

Аналог AutoHotKey для Android

Форум — Mobile

Существует ли сабж в природе? Не Tasker, который может просто запускать приложения, а примочка, способная активировать окна, посылать им сообщения, вбивать текст в поля, нажимать кнопки и т.д. Или на андроиде такое невозможно в принципе, в силу убожества системы?

 , ,

MBK
()

raspbian, console и rc.local

Форум — Development

При переходе с Raspbery Pi второй на третью столкнулись со странным багом (фичей?) новой джесси. Раньше вывод текстовых сообщений на консоль при загрузке и работе программы прекрасно подавлялся добавлением console=tty3 в файл /boot/cmdline.txt В новой версии эта команда почему то не работает - сообщения все равно продолжают сыпаться на экран. Сообщения можно убрать, если совсем выпилить параметр console из cmdline.txt, но в этом случае почему то перестает выполняться автозагрузка скрипта /etc/rc.local Чего я недопонимаю, и куда вставлять автозагрузку в данном случае?

 , , , ,

MBK
()

Передача значения из программы в скрипт через переменную окружения

Форум — Development

Снова извиняюсь за возможно тупой вопрос, но как правильно это сделать? Устанавливаю в программе значение переменной setenv(«RESULT», «Asshole», true), устанавливается правильно, через getenv проверяется правильно, но по отработке программы значение RESULT остается прежним. Что я делаю не так и как правильно?

 ,

MBK
()

Как правильно запустить bash script в новом потоке?

Форум — Development

Извиняюсь за, возможно, тупой вопрос, но что я делаю не так? Хочу запустить из прогаммы дополнительный параллельный поток, в котором выполнялся бы скрипт:

static void *scriptthreadFunc(void *arg)
{
  int result=execlp("bash","bash","Scenario.sh",NULL);
  printf("Script has been returned with code %d errno %d\r\n",result,errno); 
}

void ExecScript()
{

  int result=pthread_create(&scriptthread, NULL, scriptthreadFunc, NULL);
}
В итоге скрипт запускается, но вместо работы в параллельном потоке тормозит работу основной программы полностью. Что я делаю не так?

 , , ,

MBK
()

Почему не работает usb_claim_interface?

Форум — Development

Пытаюсь работать с USB устройством (в данном случае мышь 0x101:7) через libusb Получаю список подключенных устройств, вижу среди них мышь, открываю ее, пытаюсь захватить таким образом libusb_claim_interface(localLibUSBDeviceHandle, 0); Функция возвращает -6 (0xFFFA) Что это означает и почему не работает? С другим устройством работало нормально

 ,

MBK
()

Проигрывание wav файлов из C программы

Форум — Development

Как проще всего реализовать сабж с минимальным использованием внешних пакетов? Прямой вызов aplay из программы по определенным причинам уже не устраивает. Заранее спасибо.

 , ,

MBK
()

Доступ к разделяемой памяти из различных процессов

Форум — Development

Снова извиняюсь за нубский вопрос. У меня есть несколько программ, взаимодействие между которыми я собираюсь наладить через разделяемую память. В каждой программе я вначале вставляю следующую процедуру инициализации

sem_t *sem;
byte * sharedaddr;

int initshared()
{
  if ( (shm = shm_open("SHARED", O_CREAT|O_RDWR, 0777)) == -1 ) {
        ;
        return 1;
  }
  sharedaddr = mmap(0, 100, PROT_WRITE|PROT_READ, MAP_SHARED, shm, 0);
  
  if ( sharedaddr == (char*)-1 ) {
        
        return 1;
    }
  else return 0;
}
Достаточно ли этого, чтобы при запуске нескольких программ изменения в области sharedaddr, проделываемые каждой из них синхронно производились бы в аналогичных областях каждой из запущенных? И насколько быстро?

 , ,

MBK
()

Как отключить вывод сообщений в консоль при старте Raspbian?

Форум — Linux-install

Нужно сделать, чтобы при включении малины сразу отображалась заставка программы, встроенной в автозагрузку. Пока что удалось отключить радужную заставку, добавив в /boot/config.txt строку disable_splash=1 ; малину сверху экрана добавив в /boot/cmdline.txt logo.nologo и часть загрузочных сообщений туда же console=tty3 Как отключить остальные сообщения, которые по прежнему сыпятся в консоль? Или хотя бы отрубить экран пока они сыпятся?

 , ,

MBK
()

Как отключить скринсэйвер на Raspbian?

Форум — Linux-install

Никак не получается отключить скринсэйвер на raspbian jessie. Все предложенные в сети способы опробовал, но бестолку - все равно дисплей строго через десять минут отключается и помогает только тык клавиатуры. Собственно, полная история вопроса описана тут. Полгода прошло, а решения так и нет, приходится программно каждые пять минут пинать устройство клавиатуры. Неужели нет нормального прямого решения или это баг данной версии системы?

 , ,

MBK
()

Снова про goto для bash

Форум — Development

Извиняюсь, если затронул неприличную тему, тем более, нашел подобную довольно бестолковую тему в архиве форума goto как сделаьть на bash???!!! Дело в том, что я наткнулся на одну из реализаций gotо здесь http://tdkare.ru/sysadmin/index.php/Программирование_на_bash В случае линейного кода все ok, а вот в случае цикла беда, конструкция вида

function goto {
    cmd=$(sed -n "/$1:/{:a;n;p;ba};" $0 | grep -v ':$')
    eval "$cmd"
    exit
}

 while true
 do
 
 goto start
 start:
   echo start
   goto end
 foo:
   echo foo
   goto start
end:
done
при отработке в последней строке выдает ошибку syntax error near unexpected token 'done' Это я что-то делаю не так или принципиальная невозможность делать goto внутри цикла? Можно как то поправить или лучше забить на goto вообще?

 

MBK
()

Несколько консолей из одного приложения

Форум — Development

Чем больше я думаю над задачей, тем больше мне кажется, что я хочу странного, но, мало, ли, может решение есть или хотя бы нечто похожее? Есть программа с графическим интерфейсом (не иксовым) Нужно, чтобы в какой то момент из нее запускалась новая консоль, не отображаемая на основном экране, но отображаемая на удаленном рабочем столе, в которой, в свою очередь, запускались какие-то приложения. Звучит дико?

 

MBK
()

Как сконвертировать checksum в binary через bash?

Форум — Development

Доброго времени суток Как в первые 32 байта бинарного файла записать данные вида «6e9c9c03f94d2104dcaac0735f7ce24e204505d1696d376525241076dcf9abe2» чтобы вышло так:

0000000 6e 9c 9c 03 f9 4d 21 04 dc aa c0 73 5f 7c e2 4e
0000010 20 45 05 d1 69 6d 37 65 25 24 10 76 dc f9 ab e2
используя только bash?

 

MBK
()

Помогите с семафорами

Форум — Development

Извиняюсь за чайниковский вопрос, линуксу начал обучаться совсем недавно. Есть некий кусок кода, вызываемые из различных процессов, запущенных одновременно (доступ к устройству) Надо сделать так, чтобы каждый процесс перед выполнением данного куска кода ждал, чтобы его выполнение завершилось в других процессах, дабы не щемиться одновременно в одну дверь. Прочитал в умных манах про семафоры, решил, что это именно то, что мне надо и накорябал такой алгоритм: создаю бинарный семафор следующим образом:

...
while (sem_open(SEMAPHORE_NAME,O_RDWR)!=SEM_FAILED);  // ждем пока семафор существует - где то выполняется секция
sem_open(SEMAPHORE_NAME, O_CREAT, 0777, 0); //процесс освободился - создаем свой семафор
... // Выполняемая секция кода
sem_unlink(SEMAPHORE_NAME); //освобождаем процесс - убиваем  свой семафор
...
Интуитивно понимаю что фигня, да и работает неправильно. А как надо?

 

MBK
()

RSS подписка на новые темы