Получив 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