Получив Raspberry Pi, я решил, что хочу научиться писать код сборки ARM. У меня вопрос, что мне нужно, чтобы начать? Я предполагаю, что компилятор уже установлен, но я не знаю, что это такое (возможно, gcc?). Любая помощь приветствуется!
Получив Raspberry Pi, я решил, что хочу научиться писать код сборки ARM. У меня вопрос, что мне нужно, чтобы начать? Я предполагаю, что компилятор уже установлен, но я не знаю, что это такое (возможно, gcc?). Любая помощь приветствуется!
Ответы:
Зависит от того, сколько ассемблера вы хотите написать. Если вы хотите писать только небольшие фрагменты кода, встроенные в C-код, то gcc
это действительно то, что вы ищете. Примеры того, как использовать asm
директиву в C, см. В справочнике inline asm: ARM GCC Inline Assembler Cookbook
Если, с другой стороны, вы хотите написать больше, чем просто небольшие фрагменты, вам лучше использовать полноценный ассемблер. Это будет доступно как либо as
, так gas
и оба (с псевдонимом).
И, наконец, вам нужно немного узнать о наборе команд ARM. Удобный справочник по адресу: ARM1176JZF-S Техническое справочное руководство .
NB Пожалуйста, помните, что RPi поддерживает только инструкции armv6 - так что не пытайтесь использовать что-либо из armv7
Удачи!! :)
Я начал свое приключение с ассемблерного кода ARM не так давно, и вот мои ресурсы:
Хотя я довольно удобен с интерфейсом командной строки, я не мог устоять перед удобством графического интерфейса. Некоторое время назад я обнаружил, что могу использовать IDB CodeBlocks для разработки программ на языке ассемблера ARM в Raspberry Pi. Поэтому я написал учебник и добавил его к учебнику по программированию сборки Raspberry Pi, который я написал для веб-сайта книги по сборке Mazidi ARM:
http://www.microdigitaled.com/ARM/ARM_ASM_books.htm
На сайте нажмите на ссылку «Программирование сборки ARM с использованием графического интерфейса Raspberry Pi».
Надеюсь это поможет.
GCC установлен по умолчанию. Если вы новичок в Raspberry Pi, я рекомендую вам взглянуть на более простой язык программирования, чем сборка ARM. Нет никаких IDE для сборки, поэтому вам придется использовать текстовый редактор и собирать его через терминал. Я рекомендую Gedit для простоты использования. Хотя, чтобы получить подсветку синтаксиса для сборки, мне нужно было перейти на github, в частности на страницу brightquagsire23. Это очень красиво. Что касается помощи Лучший ресурс, который я нашел, это "Язык сборки Raspberry Pi: Raspbian Beginners" Брюса Смита. Вы можете найти это на Амазоне. Он объясняет сборку одним из самых ясных и простых способов, которые я нашел.
Учитесь с работающими примерами
Я работаю над: https://github.com/cirosantilli/arm-assembly-cheat
Функции:
printf
иmemcpy