Recherchez le manuel ARM ARM, ARM Architectural Reference. Couvre le processus de démarrage, l'architecture, l'assemblage (ARM, thumb et thumb2), tout. L'ARM ARM est générique, pour le noyau spécifique qui vous intéresse, il y aura également un TRM, Technical Reference Manual. Tous ces documents sont disponibles gratuitement sur le site Web d'ARM. Le TRM entrera dans les détails spécifiques de ce cœur, en particulier si vous souhaitez utiliser l'un des nouveaux microcontrôleurs basés sur Cortex-M3, la séquence de démarrage ou disons que la table des exceptions est différente de l'ARM traditionnelle et vous avez besoin du TRM pour le Cortex-M3 pour trouver les informations.
si vous vous retrouvez avec un bras avec un cache ou mmu, vous devrez peut-être également obtenir le TRM pour cela sur le site Web d'ARM. Vous devez connaître le noyau spécifique intégré à la puce du fournisseur particulier, par exemple le PL310 r2p0 peut / peut être différent du r3p0. Le fournisseur doit disposer de ces informations et peut fournir des liens vers ou peut-être directement les documents d'armement, normalement il n'intègre pas les documents d'armement dans sa propre documentation. Je pense que ARM le préfère de cette façon.
En ce qui concerne C, il s'agit juste de C, rien de spécial, ARM est pris en charge par les compilateurs traditionnels, gcc, llvm, Keil (qui appartient maintenant à ARM), IAR, green hills, etc. Microsoft en a même / avait un (éviterait cependant). Rien de spécial pour l'ARM, mais vous devez connaître les nuances du compilateur spécifique et sa liaison. Code Sourcery est la voie à suivre ces jours-ci pour un compilateur ARM basé sur gcc prêt à l'emploi, la version LITE est gratuite à télécharger et à utiliser, et il existe des versions payantes si vous souhaitez une assistance (plus d'assistance gcc bras gratuite sur google.com que vous avez le temps de lire). Avant de coder sourcery, emdebian était un endroit où aller, pour certaines choses, yagarto et devkitarm et winarm avaient tous / ont des solutions prêtes à l'emploi (pour embarqué et pas nécessairement linux, Code Sourcery ou emdebian si vous souhaitez effectuer une compilation croisée pour linux).
J'ai quelques blogs qui ne sont pas vraiment des blogs, mais des endroits pour mettre des exemples de programmes et des informations sur la façon de mettre en place quelques microcontrôleurs ARM différents. Some asm some C, les anciens blogs que je montre comment construire votre propre compilateur croisé basé sur gcc. Je peux aussi avoir des informations sur llvm (le thumbulator a quelques exemples, non documentés cependant), prêt à l'emploi, llvm peut être utilisé comme compilateur croisé pour un certain nombre de plates-formes, vous n'avez pas à le construire sur une cible comme gcc. Et la génération de code de llvm a rattrapé gcc 4.x (gcc 4.x n'est pas nécessairement meilleur que gcc 3.x et ni gcc ni llvm ne sont aussi bons que d'autres prix chers pour ceux comme les propres compilateurs ARM).
http://stm32stuff.blogspot.com/
De là, vous pouvez cliquer sur mon profil et trouver des informations similaires pour lpc, lmi (micro lumineux, les pièces stellaris, maintenant détenues par ti) sam7. Je ne suis pas autant un fan de la famille lpc, mbed2 va bien à part les douloureuses led bleues. en ce moment il y a une carte basée sur stm32 à 12 $, quelque chose de découverte, prêt à jouer avec dès la sortie de la boîte. coridium a une planche qui correspond à l'empreinte Arduino comme l'érable, peut en obtenir un ou les deux chez sparkfun (beaucoup de goodies chez sparkfun). si vous cherchez quelque chose de plus puissant, le beagleboard était douloureux pour le manque d'interfaces, la version chinoise pour le même prix est / était meilleure (est apparue dans une semaine ou deux mais aucune information de suivi d'aucune sorte), a Ethernet et un port série non vissé. J'aime le hawkboard mais je pense qu'ils n'ont pas suivi le guide de conception et ils peuvent avoir des problèmes avec l'omap. J'ai aimé l'openrd des gens de l'informatique plug, mais j'ai détesté la version plug. L'openrd a un connecteur d'alimentation et de données sata sur la carte, branchez simplement un disque dur, d'autres cartes de cette classe vont vous forcer à quelque chose basé sur le flash (lire: très lent). de toute façon, les noyaux marvell tournent autour des ti omaps.
ou essayez mon simulateur de jeu d'instructions de pouce thumbulator (github) gratuitement, mais limité au pouce, pas de bras (vous pouvez cependant en prendre votre code sur les cartes stm32, comme celui de 12 $). l'armateur qui est dans gdb et ailleurs est probablement plus pénible à utiliser, mais prend en charge bras et pouce, et qemu est facile à utiliser si vous n'avez aucun intérêt à voir ce que fait votre code autre que la sortie du port série. qemu prend en charge le bras, le pouce et le pouce2, je pense qu'une planche stellaris ou deux y est modélisée.
Si vous connaissez déjà l'assembleur AVR, qui n'est pas si grand qu'un jeu d'instructions (meilleur que certains, pire que d'autres), vous ne devriez pas avoir de problème avec ARM ou le pouce, un peu plus propre, un peu plus simple. De même, si vous avez fait du C intégré (en dehors d'un bac à sable) avec l'AVR, alors ARM sera le même ou plus facile. Vous pouvez aller avec le mbed ou l'érable où ils ont des bacs à sable qui devraient faciliter le démarrage, puis si vous voulez vous aventurer par vous-même, vous pouvez le faire sans trop de problèmes. le mbed vous copiez simplement le .bin sur le lecteur flash virtuel, l'érable vous utilisez leur chargeur ou dfu-util ou quelque chose comme ça, je ne me souviens pas.