Ознакомьтесь с нашей политикой обработки персональных данных
  • ↓
  • ↑
  • ⇑
 
Записи с темой: хозяйке на заметку (список заголовков)
01:37 

Хозяйке на заметку

Хранитель Атлантиды
Инструменты, предполагаемые для использования с МК AVR, порой не вполне очевидны. Этим вечером столкнулся с тем, что при отключенной в компиляторе оптимизации, у меня съезжают все задержки в программе. Проанализировав, понял, что ровно в четыре раза, что соответствует делителю частоты, который призван выставляться в самом начале.

Анализ ассемблерного кода, генерируемого компилятором, показал интересную картину. Покуда оптимизация включена, даже самая базовая, то код вида

Компилируется в четыре строчки ассемблера:

Однако, при выключенной оптимизации, этот же самый код превращается вот в такое чудовище:

Хорошо видно, что между операциями записи в регистр (ST) проходит больше четырех тактов, как требует даташит, и процессор не принимает эти изменения.

Ну, а правильный путь, как выяснилось уже потом, это подключить библиотеку avr/power.h и использовать функцию clock_prescale_set(), которая как раз являет собой интринсинк на ассемблере из тех самых четырех строчек. Выяснилось это как раз, когда я уже собрался вставлять в код подобную вставку. С одной стороны, радует, что к этой мысли я пришел самостоятельно, с другой же — немного грустно, что про эту библиотеку я узнал только сейчас.

Задумался, а не потому ли по умолчанию в AVR Studio даже в профиле Debug оптимизация, совершенно вопреки здравому смыслу, уже включена, хоть и базовая.

@темы: Хозяйке на заметку, Мысли о вечном, Дорогой дневник!..

02:18 

One way to recover data

Хранитель Атлантиды
При попытке накатить бекап на системный диск, Акронис ругнулся, что не может прочитать источник, однако после нажатия Cancel продолжил работу как ни в чем ни бывало. После перезагрузки системы RAID-контроллер поприветствовал меня строчкой «Array status: Failed» и одним выпавшим из него диском.

«Приплыли» — догадался Штирлиц, живо припомнив, что же на самом деле означает цифра «0» в уровне массива.

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

Рецепт восстановления данных в этом случае не вполне очевидный, поскольку в первую очередь нужно в настройках контроллера сначала удалить массив, затем создать его заново. При обоих действиях система сообщит, что «данные будут безвозвратно утеряны», но на самом деле операция затрагивает только метаданные на дисках — примерно как если удалить а затем создать заново раздел в *nix. Далее в руки берется TestDisk от Кристофера Гренье и запускается поиск разделов на свежесозданном массиве. Если повезет, она найдет их сразу, если нет — стоит воспользоваться режимом deep scan, который ищет разделы, уже не опираясь ни на какие промежуточные данные. Собственно, это — самая длинная часть процесса, поскольку далее остается только указать нужные разделы и пересоздать их таблицу, что происходит за секунды.

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

@темы: Хозяйке на заметку, Дорогой дневник!..

14:54 

Как подружить Intel I217-V и Windows Server

Хранитель Атлантиды
Компанию Intel за ее монопольное положение на рынке процессоров не ругает, пожалуй, только ленивый. Но, как я выяснил для себя, звездная болезнь вскружила голову не только процессорному подразделению этой компании. Так все попытки установить драйверы на интегрированный сетевой адаптер I217-V под Windows Server 2008 R2 неизбежно завершались тем, что программа заявляла, что на сей шайтан-машине сетевых адаптеров Великого Штеуда (да пребудет он с миром) не найдено.

Небольшой экскурс в историю вопроса показал, что фирма выпускает несколько модификаций одного и того же контроллера с разными Hardware ID, разделяя их на «десктопные» и «серверные». Чем именно при этом они различаются — доподлинно неизвестно, но почему-то я подозреваю, что вряд ли различия идут дальше, собственно, идентификатора, учитывая, что ядро у десктопных и серверных версий Windows все равно одно и то же... Да, глупо было с моей стороны ожидать иное от компании, которая в свое время выпускала по новому чипсету чуть ли не на каждую новую ревизию процессора, который назывался Pentium 4, ну да Солнце все видит. Важнее была задача заставить таки работать несчастный драйвер под официально неподдерживаемой версией ОС.

читать дальше

@музыка: Римский-Корсаков - Capriccio Espagnol, Op. 34

@темы: Хозяйке на заметку

21:26 

Укрощаем Skype

Хранитель Атлантиды
В очередной раз, хозяйке на заметку. Для того, чтобы отучить Skype показывать сообщения об обновлениях, которые появляются даже если автоматическое обновление выключено в настройках, делаем следующее.
  1. Блокируем доступ на хост ui.skype.com.
  2. Переходим в %TEMP%, убеждаемся в наличии там файла SkypeUpdate.exe.
  3. На всякий случай заменяем его чем-нибудь пустым с тем же именем и выставляем на него права Deny для Everyone.

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

@темы: Дорогой дневник!.., Хозяйке на заметку

Записки из Атлантиды

главная