Чтобы добавлять сообщения и комментарии, .

@L29Ah:
L29Ah

Тестинг grsec норм работает на армах?

@OCTAGRAM:
OCTAGRAM

Microsoft's x86 on ARM64 emulation: a Fall 2017 feature
Есть подозрение, что ФАР Менеджеру на телефонах — быть. Лучше бы вичат на винде без QR-кода, но ФАР на мобиле — тоже сойдёт

@SolderStain:
SolderStain

Intel объявила также, что один из ее заводов начнет выпускать процессоры ARM на базе своей 10-нм технологии для использования в смартфонах. Это лицензионное соглашение предусматривает изготовление процессоров для LG, Netronome и Spreadrum. Несколько месяцев назад Intel прекратила выпуск своих чипов SoFIA и Broxton, построенных на платформе Atom. Сделка откроет компании более широкий выход на мобильный рынок, так как процессоры с архитектурой ARM используются в большинстве сегодняшних мобильных устройств.
crn.ru

@L29Ah:
L29Ah

../core/core_cmInstr.h:370:19: error: invalid instruction mnemonic 'dsb'
__ASM volatile ("dsb");
^

@den-po:
den-po

только сейчас обратил внимание на значение слов "arm" и "thumb"

@OCTAGRAM:
OCTAGRAM

Началось соревнование «Make with Ada» для разработчиков встраиваемых систем
AdaCore организует новый конкурс для разработчиков. Как и в прошлые разы, на подготовку даётся существенно больше времени, чем в олимпиадах по иноформатике. Это как раз подходит тем, кому не нравятся соревнования по быстрому написанию страшного кода, который потом только выбросить.

Сегодня на повестке дня — разработка для ARM на голом железе и технологии верификации. Общий призовой фонд — более 8000€.

makewithada.org

Как бы отвечая на напрашивающийся вопрос, — да, я уже посмотрел на логотип через анаглиф очки.

@L29Ah:
L29Ah

Кароч таки HFSR = FORCED, CFSR = BFARVALID | PRECISERR, BFAR = 1ffff7e8, VTOR = 0x8000000, выковыренный из стека PC показывает на после-`cpsie i`, в векторах никакого 1ffff7e8 нет; ШТО // не понимаю, как прерывание может хотеть попасть мимо памяти, не залезая в его обработчик.

@L29Ah:
L29Ah

Бля пиздос, cpsie f ⇒ норм, cpsie i ⇒ hard fault (глянул в xPSR, там 0x21000003), при этом HFSR = 0; как это понимать? // портирую tnkernel на stm32l152

@mend0za:
mend0za

Segfault (от D.U.M.A.) в строке 41:

29: char *buf = malloc(SIZE);
41: buf[SIZE+i] = SIZE+i; // i=6

Особенно доставляет что i=6. Т.е. за границу памяти вылезли уже на 7 байт.
Just because DUMA_MIN_ALIGNMENT = 8 (ARM EABI, привет родной).

А ещё неизвестно откуда прилетает KILL, когда прожка уютно аллоцировала 420MB. Причём только вместе с libduma. Психопатический swap на NFS не помогает. И кажется этот kill не от OOM killer. Чудесный мир Embedded Linux и arm5tejl .

@Balancer:
Balancer

При попытке запустить BTSync для ARM под Ubuntu на Orange Pi вылезает ошибка:
$ ./btsync
bash: ./btsync: No such file or directory

Решение:
cd /lib && sudo ln -s ld-linux-armhf.so.3 ld-linux.so.3

@den-po:
den-po

radare.org

@OCTAGRAM:
OCTAGRAM

Повтыкав недельку в код, который получается, если скомпилировать haXe через C++ в ARM, я уже могу нормально смотреть на эти инструкции. Благодаря неявной метаинформации haXe код читаю пока ещё не как открытую книгу, но всё же на удивление много информации получается извлечь. Собственно, самый интересный метод — это hx.Object.__Field, который в каждом классе переопределяется. Находить этот метод можно по VMT. Смещения в VMT я вычислил, вглядевшись в hx/Object.h и отметив там каждый virtual. Дальше у любого другого класса можно находить все те же методы, но __Field — самый интерсный. Если смотреть его реализацию, он сравнивает свой аргумент со всем, что есть в классе, и при совпадении создаёт завёрнутый в Dynamic объект. Если это было поле, он вызывает конструктор, который завернёт число, строку или объект в Dynamic, и так можно понять, по какому смещению и какого типа находится поле. Каждый метод haXe соответствует собственно его реализации в C++, а также есть невиртуальная обёртка, которая на вход получает аргументы типа Dynamic&, и результат у неё тоже Dynamic. В __Field оно идёт подряд — memcmp с названием методом, и если да, то обёртка заворачивается в Dynamic. Смотрим, что внутри обёртки, а там, допустим, в первых строках:

LDR.W R2, [R0,#0xEC]Это значит, что реализация метода будет по смещению EC. Так, прочесав реализацию __Field, можно понять структуру и экземпляров, и VMT. Кроме того, в Dynamic–обёртках для методов делается приведение типов к Dynamic и обратно, и так можно определить типы аргументов и результата. Тип аргумента–объекта видно по вызовам __dynamic_cast. RTTI G++ не богат, но там есть замангленное название класса, а по обратной ссылке (Xref) можно от RTTI перейти к VMT, в VMT найти __Field и тоже проименовать все функции. Таким образом, когда читаешь код метода, можно понять, с объектами какого типа он работает и какие методы аргументов косвенно вызываются. А вот с полями и результатами такое не получается. Надо полагать, в обратном направлении любой объект к hx.Object перед завёртыванием в Dynamic приводится без RTTI, поэтому нет __dynamic_cast, и его точный тип статическим анализом не определить так просто.

IDA грешит тем, что не всегда в теле __Field нормально определяет адреса названий методов и Dynamic–обёрток. Смотришь, а там тупо большие числа, что странно. Ситуацию усугубляет то, что смещения везде относительные. Во многих местах IDA эти относительные смещения нормально просчитывает, но в __Field очень часто почему–то — нет. Лечится Ctrl+R, "_GLOBAL_OFFSET_TABLE_", Enter на каждом странном большом числе.

@Mazdaywik:
Mazdaywik

Простой Рефал написан на себе, компилирует в C++98, компоненты рантайма написаны тоже на C++98. Средства языка ограничены стандартной библиотекой, что определяет его переносимость.

Компилятор успешно работает на Windows (x86 и amd64), Linux (x86 и amd64), QNX (x86) и OS X (хз разрядность, студенты делали). Компилируется компиляторами Borland C Compiler 5.5, MS Visual C++, GCC (MinGW и нативные под Linux и QNX), Clang (Windows и OS X), Open Watcom (Windows).

Под DOS не переносился, потому что тупо не влезет в память (при компиляции самого себя требует 30 Мбайт под x86, 60 Мбайт под amd64) (хотя была бы интересная задача реализовать его под DOS).

В общем, Жуйк. У кого есть возможность запустить компилятор C++ под ARM (телефон, планшет, Raspberry Pi) или под какими-нибудь экзотическими платформами (Itanium, Эльбрус) и некоторое количество свободного времени, попробуйте собрать на нём Простой Рефал. Ссылка: github.com

P.S. Под Колибри и Полуосью компилировать не пробовал, возможно, когда-нибудь, руки до них дойдут.

@den-po:
den-po

zynamics.com

@den-po:
den-po

caxapa.ru

@Strephil:
Strephil

В осенний день поигрался с Cubietruck.
Решил попробовать установить Armbian (Jessie, ядро 3.4.108) на sata-диск. Загрузился с sd-карточки. Внезапно не работает Ethernet, это во-первых, на sata-поставился, но с внутреннего nand-а не грузится. Как-то не очень. И, главное, ethernet не работает, и совсем не понятно, почему. Пробовал вводить разные команды — не помогает, и вообще не понятно, с какой стороны подступиться.
Попробовал запустить с карточки Cubian. И ethernet сразу заработал! Хм.
Записал на карточку Armbian. Загружаюсь — ethernet работает. Устанавливаю на Sata — не работает, с nand не грузится.
Посмотрел, оказалось, что скрипт установки криво разметил nand. Я руками повторил несколько команд из скрипта — буквально те же самые команды, просто повторил руками — вроде бы, теперь грузится (и ethernet работает).
На Armbian не работает выключение, вместо выключения игрушка перезагружается, а в Cubian'е выключение работает нормально.

@unfalse:
unfalse

Итак, после недели или две мучений с попытками назначить джойстику кнопки клавиатуры, у меня наконец это получилось!!
Внимательно почитал проблему здесь github.com
И добавил в конфиг волшебную строчку:
evdev = /dev/input/by-id/usb-Logitech_Logitech_R__Precision_TM__Gamepad-event-joystick

И внезапно всё заработало!!!!!1

@unfalse:
unfalse

Сраный rk3188, блядь, сраная убунта, сраные арчеводы, которые на Rockchip даже смотреть не хотят! Сраный xboxdrv, проработавший примерно месяц, а потом хз почему отказавший. USB endpoint, видите ли, не найден. Antimicro не собирается, потому что нужен SDL2, который не собирается тем более, причем вообще нигде и никак и ни при каких обстоятельствах. Qjoypad выполняет make, а в конце жалуется на xkeymap чототам и всё. joy2key, судя по готовым конфигам и инструкции это адъ и костыли. Ещё осталась настройка файла conf X11, который будет считать джойстик (геймпад) за мышу с 12-ю кнопками. Авторы Rockchip: горите в аду.

@necromant:
necromant

Закорпусировал домашний сервак, наконец-то. И не скажешь теперь что кустарщина: pics.ncrmnt.org

@Dimez:
Dimez

Опа-опа! sourceforge.net

@Strephil:
Strephil

По-видимому, скоро буду покупать себе новый компьютер для десктопа.

Внимание, при покупке всегда нужно помнить, что комьпютеры бывают только с архитектурой amd64, ни arm, ни mips это не компьютеры, это хуйня!

@OCTAGRAM:
OCTAGRAM

dalvikvm -Dro.product.cpu.abi=armeabi-v7a -Dro.product.cpu.abi2=armeabi
Пока так не написал, эмулировался ARMv5, получались косяки

@masai:
masai

Не, всё же в UT.6.02x, о котором я писал в #2762022, будет использоваться µVision и писаться всё будет на сишечке. Это хорошо. Но этой IDE нет под Linux. А это уже не очень хорошо. Впрочем, у нас есть родимый arm-none-eabi-gcc. Правда, не знаю, насколько библиотеки отличаются, так как µVision никогда не пользовался.

Есть ещё одна засада. «We have written DLL extensions to the Keil uVision IDE that will evaluate your lab solutions.» Придётся в Windows всё делать, благо вместе с ноутом у меня такой завёлся.

@masai:
masai

На edX через пару недель стартует курс «UT.6.02x Embedded Systems — Shape the World» в котором будут учить, как с помощью ARM Cortex M3 (на базе Launchpad от TI) мигать светодиодиком и нокиевским экранчиком по нажатию на кнопочку. В итоге будет собрана какая-то сомнительная игрушка. И что-то мне подсказывает, что запрограммирована она будет в Launchpad'овской IDE, хотя в их рекламном видео проскользнула µVision IDE. Посмотрим, в общем.

Алсо, тогда же начнётся весьма годный курс «Circuits and Electronics» в котором будут даны основы электроники на довольно неплохом уровне. То есть, не «ток течёт от плюсика к минусику», а «реши вот это вот дифференциальное уравнение». Когда-то записывался на него, но времени довести до конца не было. Ведёт курс классный дядька Анант Агарвал. Также среди авторов замечен Дж. Сассман (тот самый, хехе).

@Kolyan-ufalug:
Kolyan-ufalug

Поставляемый с mbed инструментарий для программирования чисто онлайновый. Код программ пишется и компилируется в IDE в вебе с AJAX-компонентами.
Исполнительный директор ARM наверно сидит и говорит: "И это embedded-разработчики... Сволочи! ARM дала вам говно — жрите! Не хочу! Хочу локально с gcc прошивки собирать! Твари! Vim и Emacs себе на компьютеры понаставили, с помощью gcc компилирют..."

@plumbum:
plumbum

*twi *tablet *Icoo *D70GT dl.dropboxusercontent.com
Подключённый дисплей dl.dropboxusercontent.com
На microSD debian с установленным i2c-tools

# cat ssd1306_init.sh
#!/bin/sh

I2CBUS=sunxi-i2c.0
CHIP=0x3C

i2cset -y $I2CBUS $CHIP 0x00 0xae 0xd5 0x80 0xa8 0x3f 0xd3 0x00 0x40 0x8d 0x14 0x20 0x00 0xa1 0xc8 0xda 0x12 0x81 0xcf 0xd9 0xf1 0xdb 0x40 0xa4 0xa6 0xaf i

i2cset -y $I2CBUS $CHIP 0x40 0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80 i

@maxlapshin:
maxlapshin

можно где-нибудь быстро надыбать собранный под armhf hello world на Go?

@Strephil:
Strephil

Пришел на Arm event, слушаю про TI. В зале ни одной девушки.
У меня нет и никогда не будет тян.

@Strephil:
Strephil

Зовут на ARM Event-2014. Я там раньше не бывал.
Сходить, что ли. Там ведь много симпотных тянов будет, да?
mt-system.ru

@Strephil:
Strephil

Я написал тестовую программку.
Запустил её на
Texas Instruments AM1705 с ядром Linux 3.2
Intel XScale-IXP42x с ядром Linux 2.6.19
На Intel работает в двадцать раз быстрее!

Я у мамы фороникс?

А вообще, интересно было бы узнать, почему столь высокая разница.

@exception13:
exception13

hk как обычно жжот hardkernel.com

@den-po:
den-po

под венду sourceforge.net (устарело)
launchpad.net
sourceforge.net
electronix.ru

@beard:
beard

Одна маленькая загадка про Cortex-M — habrahabr.ru
Пиздец:
В пользовательском режиме МК возможно переключение этого бита и, соответственно, доступ к обоим указателям стека. ... А вот в системном режиме МК имеет доступ ТОЛЬКО к системному указателю стека и не может переключить значение этого бита. ... Почему пользовательскому режиму разрешают переключать указатели и, возможно, выстрелить себе в ногу путем краха системного стека, а системному режиму, который должен быть спроектирован более тщательно специально обученными людьми, в такой возможности отказано?
С ног на голову перевернули.
Вот ведь чувствовал, что все эти армы маркетинговое говно. Неспроста.
Это особенность только линейки Cortex-M или вообще во всех так?

@bmw:
bmw

Вот думаю менять свой хромбучек на свежий или ждать на arm8?

@norguhtar:
norguhtar

linuxgizmos.com
Охуеть! Дайте два! Если кратко, то AMD собирается выпускать процессоры ARM и x86 совместимые по сокету.

@necromant:
necromant

Открасноглазил. Практически linux.org.ru

@norguhtar:
norguhtar

youtube.com
ARM троллит Intel

@datacompboy:
datacompboy

Терпеть ненавижу ASM у ARM'ов.

@maxlapshin:
maxlapshin

эрливидео очень прилично работает на cubieboard: 16 камер спокойно пишутся на диск и проигрываются оттуда.

@beard:
beard

Серверное оборудование на ARM64: версия AMD — linux.org.ru