Серийный номер Compact Flash
У каждого внешнего носителя информации есть свой уникальный серийный номер, который не меняется при форматировании и может быть прочитан специальным образом. Например, у карт SD это CID А как у карт Compact Flash?
У каждого внешнего носителя информации есть свой уникальный серийный номер, который не меняется при форматировании и может быть прочитан специальным образом. Например, у карт SD это CID А как у карт Compact Flash?
Существует ли какой то прямой QTшный способ чтения Card ID помимо чтения /sys/class/mmc_host/mmc1.../cid или /sys/block/... /cid ?
Решил попробовать компилировать приложения прямо на телефоне, установил GNUroot debian. Однако, в нем gcc отсутствует, несмотря на то, что в списке установленных пакетов gcc-4.8-base , gcc-4.9-base и libgcc1. Соответственно, установить эти пакеты тоже нельзя, apt-get пишет, что, мол, и так установлены последние версии. Снести их начисто и установить по новой по понятным соображениям нельзя тоже. Выход - установка build-essential, там все в рабочем состоянии, но вот незадача - внутренняя память заканчивается гораздо раньше, чем установка доходит до конца. Причем, без разницы, установлен GNUroot на карту или внутреннюю память - установка build-essential все равно идет на внутреннюю память пока не забьет ее под завязку. Существует ли какой то выход из данного тупика? Может возможно как то поставить только cишный компилятор с библиотеками (перл, руби и прочие рюши мне не нужны) или, может, как то можно заставить GNUroot debian все устанавливаемые пакеты на карту ставить вместо внутренней памяти?
Декомпилируя очередную библиотеку наткнулся на странную конструкцию (на входе xmm0):
movss xmm1, dword ptr [ebx-303BE0h]
movss xmm2,xmm0
divss xmm2,xmm1
mulss xmm1,xmm2
subss xmm0,xmm1
Изучаю 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
Снова извиняюсь за нубский вопрос, имеется образ usr.img, возможно ли как то посмотреть файловую структуру и извлечь нужный файл оттуда на не-линуксовом (виндовом) компьютере?
При попытке открытия устройства, воткнутого в USB через libusb 1.0 происходит, собственно, сабж. Устройство (самодельная плата управления) видится по VID-PID, открывается, но libusb_claim_interface() выдает ошибку -6. До этого с другой платой таких проблем не было. Интуитивно понятно, что, очевидно, система открывает это устройство для себя и держит, но как этого избежать? Система Raspbian Jessie
Существует ли сабж в природе? Не Tasker, который может просто запускать приложения, а примочка, способная активировать окна, посылать им сообщения, вбивать текст в поля, нажимать кнопки и т.д. Или на андроиде такое невозможно в принципе, в силу убожества системы?
При переходе с Raspbery Pi второй на третью столкнулись со странным багом (фичей?) новой джесси. Раньше вывод текстовых сообщений на консоль при загрузке и работе программы прекрасно подавлялся добавлением console=tty3 в файл /boot/cmdline.txt В новой версии эта команда почему то не работает - сообщения все равно продолжают сыпаться на экран. Сообщения можно убрать, если совсем выпилить параметр console из cmdline.txt, но в этом случае почему то перестает выполняться автозагрузка скрипта /etc/rc.local Чего я недопонимаю, и куда вставлять автозагрузку в данном случае?
Снова извиняюсь за возможно тупой вопрос, но как правильно это сделать? Устанавливаю в программе значение переменной setenv(«RESULT», «Asshole», true), устанавливается правильно, через getenv проверяется правильно, но по отработке программы значение RESULT остается прежним. Что я делаю не так и как правильно?
Извиняюсь за, возможно, тупой вопрос, но что я делаю не так? Хочу запустить из прогаммы дополнительный параллельный поток, в котором выполнялся бы скрипт:
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);
}
Пытаюсь работать с USB устройством (в данном случае мышь 0x101:7) через libusb Получаю список подключенных устройств, вижу среди них мышь, открываю ее, пытаюсь захватить таким образом libusb_claim_interface(localLibUSBDeviceHandle, 0); Функция возвращает -6 (0xFFFA) Что это означает и почему не работает? С другим устройством работало нормально
Как проще всего реализовать сабж с минимальным использованием внешних пакетов? Прямой вызов aplay из программы по определенным причинам уже не устраивает. Заранее спасибо.
Снова извиняюсь за нубский вопрос. У меня есть несколько программ, взаимодействие между которыми я собираюсь наладить через разделяемую память. В каждой программе я вначале вставляю следующую процедуру инициализации
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;
}
Нужно сделать, чтобы при включении малины сразу отображалась заставка программы, встроенной в автозагрузку. Пока что удалось отключить радужную заставку, добавив в /boot/config.txt строку disable_splash=1 ; малину сверху экрана добавив в /boot/cmdline.txt logo.nologo и часть загрузочных сообщений туда же console=tty3 Как отключить остальные сообщения, которые по прежнему сыпятся в консоль? Или хотя бы отрубить экран пока они сыпятся?
Никак не получается отключить скринсэйвер на raspbian jessie. Все предложенные в сети способы опробовал, но бестолку - все равно дисплей строго через десять минут отключается и помогает только тык клавиатуры. Собственно, полная история вопроса описана тут. Полгода прошло, а решения так и нет, приходится программно каждые пять минут пинать устройство клавиатуры. Неужели нет нормального прямого решения или это баг данной версии системы?
Извиняюсь, если затронул неприличную тему, тем более, нашел подобную довольно бестолковую тему в архиве форума 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
Чем больше я думаю над задачей, тем больше мне кажется, что я хочу странного, но, мало, ли, может решение есть или хотя бы нечто похожее? Есть программа с графическим интерфейсом (не иксовым) Нужно, чтобы в какой то момент из нее запускалась новая консоль, не отображаемая на основном экране, но отображаемая на удаленном рабочем столе, в которой, в свою очередь, запускались какие-то приложения. Звучит дико?
Доброго времени суток Как в первые 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
Извиняюсь за чайниковский вопрос, линуксу начал обучаться совсем недавно. Есть некий кусок кода, вызываемые из различных процессов, запущенных одновременно (доступ к устройству) Надо сделать так, чтобы каждый процесс перед выполнением данного куска кода ждал, чтобы его выполнение завершилось в других процессах, дабы не щемиться одновременно в одну дверь. Прочитал в умных манах про семафоры, решил, что это именно то, что мне надо и накорябал такой алгоритм: создаю бинарный семафор следующим образом:
...
while (sem_open(SEMAPHORE_NAME,O_RDWR)!=SEM_FAILED); // ждем пока семафор существует - где то выполняется секция
sem_open(SEMAPHORE_NAME, O_CREAT, 0777, 0); //процесс освободился - создаем свой семафор
... // Выполняемая секция кода
sem_unlink(SEMAPHORE_NAME); //освобождаем процесс - убиваем свой семафор
...
следующие → |