Шукайте посібник з архітектури 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, або щось подібне, я не пам'ятаю.