habrahabr.ru/post/146277/
Всего-лишь не хватало permissions и пары строчек в build.prop. Пришлось, правда, раздвинуть system.img до гигабайта, подправить скин WXVGA800, чтобы получить 720x1280 @ 320 dpi. Сами GMS ставил из архива. Но push не срабатывал из-за ошибок на ФС. Лечилось ручным копированием содержимого архива, а потом то ли пушем поверх, то ли просто удалением cache.img и userdata*.img. Ещё там какая-то головная боль с настройками ввода (на свежеобновлённом образе постоянно падает input: AOSP, Sample Software, Google). Лечится отключением всяких авто-коррекций, выбора только Sample Software Keyboard и перезагрузкой.
Есть ли у вас работающий build.prop, с которым можно ставить практически любое приложение? С дефолтным почти ничего не доступно из-за неподдерживаемости устройства. Пробовал подменять значения по примеру, но как-то не помогает. Даже попробовал под arm — тоже глухо, — не хочет Play кушать виртуалку.
Ассемблер (для блока) + внешний цикл на Си.
Сильно оптимизированный код под ARM — со всем разнообразием thumb-инструкций, я такой код на асме быстро не напишу.
Я сейчас как раз начал экспериментировать с ШИМ у MCp для управления драйвером шагового двигателя. До этого этот же драйвер заводил на TMS320F2808 с предгенерённой таблицей — на нём нет FPU. Но честно вам скажу, что при небольшом напряжении даже полушаг выдавал недостаточный момент при 180-200 об/мин. При наличии редуктора полного шага вполне достаточно для плавного вращения и весьма точного позиционирования. Двигатель сам 48-и вольтовый, но запитывать пришлось от 12, т.ч. скорость нарастания тока при перекоммутации была на порядок ниже. Для микрошага это вообще несерьёзно. Сейчас попробую на MCp с немного изменённой схемой силовой части под 24В.
PS. Я для эксперимента решил реализовать блочный алгоритм ГОСТ-89 на асме. В простейшем виде (без имитовставки и прочих вкусностей) на глаз где-то 640 кб/c. Сейчас чуть-чуть ещё допилю и попробую уже точно замерить и сравнить с тем же LM3S на армовом ядре.
Всего-лишь не хватало permissions и пары строчек в build.prop. Пришлось, правда, раздвинуть system.img до гигабайта, подправить скин WXVGA800, чтобы получить 720x1280 @ 320 dpi. Сами GMS ставил из архива. Но push не срабатывал из-за ошибок на ФС. Лечилось ручным копированием содержимого архива, а потом то ли пушем поверх, то ли просто удалением cache.img и userdata*.img. Ещё там какая-то головная боль с настройками ввода (на свежеобновлённом образе постоянно падает input: AOSP, Sample Software, Google). Лечится отключением всяких авто-коррекций, выбора только Sample Software Keyboard и перезагрузкой.
Сильно оптимизированный код под ARM — со всем разнообразием thumb-инструкций, я такой код на асме быстро не напишу.
— O0: 3 секунды
— O2: 730 мс
— O3: 450-720 мс
На MCp имеем 733 мс.
Прошу обратить внимание, что код по АРМ на Си. Основная функция алгоритма выглядит так:
Думаю, отдельным постом распишу про сравнение производительности, в том числе, с запуском ARM-овой сборки под QEMU.
PS. Я для эксперимента решил реализовать блочный алгоритм ГОСТ-89 на асме. В простейшем виде (без имитовставки и прочих вкусностей) на глаз где-то 640 кб/c. Сейчас чуть-чуть ещё допилю и попробую уже точно замерить и сравнить с тем же LM3S на армовом ядре.