Хороша книга для початківців з ARM [закрито]


26

Я шукаю хорошу книгу для початківців для мікроконтролерів ARM. Він повинен охоплювати архітектуру процесора та послідовність завантаження, а в ідеалі також асемблер, C та периферійні пристрої.

У мене є така книга для AVR, і, здається, є кілька хороших варіантів для мікросхем Atmel. ARM-ландшафт складніший з декількома постачальниками та декількома класами фішок. Погляд на Амазонку не виявив явного фаворита. Буду вдячний за деякими рекомендаціями.


Яка книга для AVR-файлів? Мені цікаво. Крім того, у мене є навчальний пакет з мого університету для зброї, але я боюся, що він ніколи не побачить публікацію ...
Кевін Вермер

1
@ kevin-vermeer Це німецька книга: Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie, написана професором у відставці. Вона охоплює всі теми, про які я згадував у своєму запитанні, навіть включаючи деякі цікаві матеріали, такі як підрахунок інструкцій асемблера, щоб визначити, скільки часу знадобиться циклу за ітерацію.
kwo

Здогадайтесь, мені потрібно вивчити німецьку ...
Кевін Вермер

Це виглядає цікавою книжковою ганьбою, я не знаю німецької мови, щоб її можна було прочитати і зрозуміти.
Дін

@kwo, мабуть, немає надії отримати перекладену версію правильно?
NickHalden

Відповіді:


3

Я пропоную вам зайти до інформаційного центру АРМ. Це гарний початок, що стосується мене. Багато інформації, яку вона надає, навіть коли ви переходите з одного MCU до ARM. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0211a/index.html Також сайт ATMEL на своїх чіпах ARM принесе багато користі. Хороші документації та багато приміток до додатків. Всього найкращого.


Спасибі. На сайті також є кілька рекомендованих книг.
kwo

13

Шукайте посібник з архітектури ARM, ARM, ARM. Охоплює процес завантаження, архітектуру, збірку (ARM, thumb і thumb2), все. ARM ARM є загальним, для конкретного ядра, яке вас цікавить, також буде TRM, Технічний довідник по техніці. Усі ці документи доступні безкоштовно на веб-сайті ARM. TRM потрапить у конкретні деталі для цього ядра, зокрема, якщо ви хочете використовувати один із нових мікроконтролерів на основі Cortex-M3, послідовність завантаження або скажемо, таблиця винятків відрізняється від традиційної ARM, і вам потрібна TRM для Cortex-M3 для пошуку інформації.

якщо у вас є рука з кешем або mmu, можливо, вам також знадобиться отримати TRM для цього з веб-сайту ARM. Вам потрібно знати конкретне ядро, вбудоване в чіп конкретного постачальника, наприклад, PL310 r2p0 може / може відрізнятися від r3p0. Постачальник повинен мати цю інформацію і може надавати посилання на документи, або, можливо, безпосередньо на них, як правило, вони не вбудовують документи у власну документацію. Я думаю, що ARM віддає перевагу саме цьому.

Що стосується C, це просто C, нічого особливого, ARM підтримується основними компіляторами, gcc, llvm, Keil (тепер належить ARM), IAR, green hills та ін. це хоч). Нічого особливого для ARM, але вам потрібно знати нюанси конкретного компілятора та його посилання. Код Sourcery - це шлях, який потрібно сьогодні використати для використання компілятора ARM на основі gcc, версію LITE можна безкоштовно завантажити та використовувати, а за версію ви можете платити (більше безкоштовної підтримки gcc arm на google.com, ніж у вас є час для читання). Перед початком коду emdebian було куди поїхати, для деяких речей yagarto і dekkitarm та winarm усі мали / готові використовувати рішення (для вбудованих і не обов'язково для Linux, Code Sourcery або emdebian, якщо ви хочете перехрестити компіляцію для Linux).

У мене є кілька блогів, які насправді не є блогами, але можна розмістити кілька прикладних програм та інформацію про те, як створити кілька різних мікроконтролерів на основі ARM. Деякі асм, деякі C, старші блоги я показую, як створити свій власний хрестовий компілятор на основі gcc. У мене також може бути інформація про llvm (у thumbulator є кілька прикладів, але не задокументовано), поза скринькою llvm можна використовувати як перехресний компілятор для ряду платформ, вам не потрібно будувати її до цілі, як gcc. І генерація коду llvm досягла gcc 4.x (gcc 4.x не обов'язково краще, ніж gcc 3.x, і ні gcc, ні llvm не є такими ж хорошими, як інші дорогі оплати за такі, як власні компілятори ARM).

http://stm32stuff.blogspot.com/

Звідти ви можете натиснути на мій профіль і знайти подібну інформацію для lpc, lmi (світильний мікро, деталі stellaris, тепер належать ti) sam7. Я не настільки прихильник сімейства lpc, mbed2 - це добре, крім болісних синіх світлодіодів. зараз є дошка на базі 12 мільйонів доларів на stm32, щось відкриття, готове пограти з коробкою. coridium має дошку, яка відповідає сліду ардуїно, як і клен, може отримати одну або обидві на іскрі (багато ласощів на sparkfun). якщо ви шукаєте щось більш потужне, beagleboard був болісний через відсутність інтерфейсів, китайська версія за тією ж ціною є / була кращою (з'явилася через тиждень-другий, але жодної інформації відстеження не має), має ethernet і неприкручений послідовний порт. Мені подобається хок-борд, але я думаю, що вони не дотримувались інструкції з дизайну, і вони можуть мати проблеми з omap. Сподобалось відкритості від плагін-обчислювачів, але ненавиділа версію плагінів. На відкритій панелі є роз'єм живлення та передачі даних на платі, просто підключіть жорсткий диск, інші плати цього класу змусять вас на щось спалаху (читайте: дуже повільно). сердечники marvell так чи інакше бігають коло навколо ti omaps.

або спробуйте мій імітатор набору інструментів thumbulator (github) для великого пальця безкоштовно, але обмежено пальцем, без руки (ви можете взяти свій код з нього на дошки stm32, хоча, як і $ 12). армулятор, який знаходиться в gdb та інших місцях, мабуть, більш болючий у використанні, але підтримує руку та великий палець, і qemu простий у використанні, якщо у вас немає інтересу бачити, що робить ваш код, окрім виходу послідовного порту. qemu підтримує руку, великий і великий палець2, я думаю, що там моделюється дошка stellaris або два.

Якщо ви вже знаєте асемблер AVR, який не є великим набором інструкцій (краще, ніж деякі, гірше інших), у вас не повинно виникнути проблем з ARM або великим пальцем, трохи чистіше, трохи простіше. Так само, якщо ви зробили вбудований C (поза пісочницею) з AVR, ARM буде тим самим чи легшим. Ви можете піти з mbed або клена там, де у них є пісочниці, які повинні полегшити початок роботи, і тоді, якщо ви хочете піти на самостійно, ви можете без особливих проблем. mbed ви просто скопіюєте .bin на віртуальну флешку, клен, яким ви користуєтесь їх завантажувачем або dfu-util, або щось подібне, я не пам'ятаю.


Фантастична відповідь.
NickHalden

3

Хорошими книгами про ARM є:

"ARM SOC Architecure" Стіва Фурбера

"Посібник для розробників системи ARM" від Ендрю Слосса, Домініка Саймса та Кріса Райт

"Посібник з архітектури ARM" від ARM

Останній доступний безкоштовно на сайті ARM .

Слос, Саймс і Райт - це чудово, якщо ви хочете відійти від дерев, щоб побачити ліс, особливо якщо у вас є вбудовані системи.

Furber - один з оригінальних архітекторів ARM, і робить відмінну роботу, проводячи вас через обґрунтування дизайну ARM та як працюють ядра процесорів ARM в цілому.

Звичайно, все вищесказане - це лише рекомендація, що ґрунтується на моїй особистої / суб'єктивної думки, і не слід розглядати як підключення до певного продукту чи автора.


Форматування списку книг як списку було б корисним, також корисним є включення посилань на ці книги.
Trygve Laugstøl


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.