我必须同意其他人所说的话。虽然理论上你需要的一切都在那里,但小猎犬并不是第一次做这种事情的最佳平台。我有很多关于如何启动一些小型微控制器http://github.com/dwelch67的示例,还有一些网站,例如http://gandalf.arubi.uni-kl.de/avr_projects/arm_projects/和其他还有更多的例子。
我有一个 beagleboard,baremetal uart 输出代码,但听起来你有那个(在 yagbat 中,因为没有更好的地方(不值得拥有自己的 repo)我有一个 beagleboard 目录)。
msp430 启动板价格低于 5 美元,处理器也不错。由德州仪器(制作 omap 的人)制造,因此手册应该有类似的感觉。
当然还有arduinos,但是你想绕过沙箱,这并不难,请看我的例子。
为了留在 arm 家族中,有 mbed(大约 50 美元以上),(避免沙盒,很容易做到)和一个你可能喜欢的好,因为它几乎不是一个微控制器,里面有它所有的东西是 stm32f4来自 st 的发现板,我的示例页面中有链接。它大约 20 美元,最高 168MHz,具有减少的浮点单元(对于微控制器来说很少见)独立的指令和数据缓存,与其他微控制器相比,大量的 ram/rom 等等。所有这些都以 20 美元的赠品价格出售。
许多这些微控制器将是拇指或拇指+拇指2。cortex-m3 和 4 是 armv7-m,因此支持 thumb 和 full thumb2。cortex-m0 和 -m1 是基于 armv6 的,所以只支持一点 thumb2,不足以打扰。我有一个拇指模拟器,你也可以用拇指玩(不支持拇指2)。我认为 beagleboard 中的 cortex-A 是基于 armv7 的,因此它支持与 cortex-m3 和 -m4 支持相同的 thumb+thumb2。stm32f4 是基于 -m4 的,mbed 有两种风格,一种是 -m3,另一种是基于 -m0。许多基于 cortex-m 的微控制器都是基于 -m3 的,因为它首先出现了 -m4 和 -m0 刚刚获得了一些牵引力。您可以使用 thumb 或 thumb2 开始使用统一的指令集,该指令集是 arm 和 thumb(2) 之间的模糊,允许一个源组合 arm 指令和 thumb 指令(当然有一些限制)。因此,您可以只用 thumb/thumb2 编写并将该知识直接带到 cortex-A(使用一条 bx 指令将模式从 ARM 切换到 thumb),或者将您的 thumb2 代码或统一代码直接带到 cortex-A 并组装为手臂。
这里最大的事情并不是真正的组装学习,尽管关键是阅读手册,来自更多供应商的手册越多,您就越了解如何为这个更复杂的目标找到所需的信息。根据我的经验,我也很难理解 omap 手册的某些部分。大多数手册都有错误或不完整等,您必须学会通过这些工作/破解,而这只是需要经验。使用 omap,您可能需要挖掘该平台的 linux 或 uboot 源代码来补充手册。由于 beagle 使用引导加载程序,它的好处是为您完成了一些工作,不好的是因为您需要对硬件和软件进行逆向工程以找出放置中断向量表的位置,以便您可以执行基于中断的解决方案。我强烈建议从非中断、轮询、基于开始,然后慢慢将知识转换为中断。每次击球时试图击出本垒打都会失败。一次打一垒。