Отримавши свій Raspberry Pi, я вирішив, що хочу навчитися писати код складання ARM. Моє запитання: що мені потрібно для початку? Я припускаю, що вже встановлений компілятор, але я не знаю, що це таке (можливо, gcc?). Будь-яка допомога вдячна!
Отримавши свій Raspberry Pi, я вирішив, що хочу навчитися писати код складання ARM. Моє запитання: що мені потрібно для початку? Я припускаю, що вже встановлений компілятор, але я не знаю, що це таке (можливо, gcc?). Будь-яка допомога вдячна!
Відповіді:
Залежить від того, який ассемблер ви хочете написати. Якщо ви хочете написати лише невеликі фрагменти, вбудовані в код C, тоді gcc
це дійсно те, що ви шукаєте. Приклади використання asm
директиви в C див. Посилання на вбудовану asm за адресою: ARM GCC Inline Assembler Cookbook
Якщо ви, з іншого боку, хочете написати більше, ніж просто невеликі фрагменти, ніж вам буде краще використовувати повний асемблер. Це буде доступно як або as
, gas
або як (псевдонім).
І нарешті, вам потрібно буде трохи дізнатися про набір інструкцій ARM. Є зручна довідка за посиланням: ARM1176JZF-S Технічне довідник з експлуатації .
Примітка. Будь ласка, пам’ятайте, що RPi підтримують лише інструкції armv6 - тому не намагайтеся використовувати нічого з armv7
Удачі!! :)
Я почав свою пригоду з коду складання ARM не надто давно сам, і ось мої ресурси:
Хоча мені досить комфортно з інтерфейсом командного рядка, я не зміг протистояти зручності GUI. Деякий час тому я виявив, що можу використовувати ID ID CodeBlocks для розробки програм мовної збірки ARM в Raspberry Pi. Тому я написав підручник і додав його до навчального посібника з програмування збірки Raspberry Pi, який я написав на веб-сайті книги Mazidi ARM Assembly:
http://www.microdigitaled.com/ARM/ARM_ASM_books.htm
На веб-сайті натисніть на посилання "Програмування складання ARM з використанням графічного інтерфейсу Raspberry Pi".
Сподіваюсь, це допомагає.
GCC встановлений за замовчуванням. Якщо ви новачок в Raspberry Pi, я рекомендую вам ознайомитися з легшою мовою програмування, ніж збірка ARM. Для складання немає IDE, тому вам доведеться використовувати текстовий редактор і зібрати його через термінал. Я рекомендую Gedit для зручності використання. Хоча, щоб отримати підсвічування синтаксису для складання, мені довелося перейти на github, зокрема на сторінку shinyquagsire23. Це дуже красиво. Щодо допомоги. Найкращий ресурс, який я знайшов, - це "мова Raspberry Pi Assembly Assembly: Raspbian початківці" від Брюса Сміта. Ви можете знайти його на Amazon. Він пояснює складання одним із найясніших і найпростіших способів, які я знайшов.
Вивчіть приклади, які можна виконати
Я працюю над: https://github.com/cirosantilli/arm-assembly-cheat
Особливості:
printf
іmemcpy