我想学习ARM组装和裸金属编程,并计划购买一些开发板。
我有有限的预算,可以花费高达75美元(4500卢比).From谷歌,我可以看到树莓Pi板在我的预算。
那么,购买Raspberry Pi板并开始学习ARM组装编程可以吗?
发布于 2013-12-03 12:19:17
我有一些在github上的东西,我不会在这里链接,你也可以去raspberry pi网站上的裸金属论坛,并获得相当数量的好信息。
raspberry pi是一个非常好的学习裸metal...other的平台,比documentation...The芯片更容易编程,比价格范围内的许多微控制器和其他项目更容易编程。为了开始在覆盆子圆周率上裸金属,你将需要一个覆盆子皮,A模型将工作和节省你10美元,如果你想。您将需要购买sd卡,您将需要/需要购买一个usb到串行适配器,一些风味的ftdi部件。Sparkfun有很多这样的。搜索ftdi基本突破。你还需要两根电线,一条用于tx,一条用于uart,另一条用于uart上的rx,另外还有用于raspberry pi的usb电缆和用于大多数ftdi板(但不是全部)的mini-b。Sparkfun还携带跳线,您需要提前计划,并获得正确的男性/女性,或女性/女性(m/f,f/f),您将不需要男性/男性,因为覆盆子侧是男性。或者,如果你得到一个只有一个洞的突破,你可以把电线插进去,然后拧一下它或什么的。推来推垃圾袋和面包回捻领带,他们有一个小电线,你可能可以使用其中之一,如果一个非常紧张的预算,只是不要短到对方或其他任何东西。
有许多教程,包括我的教程,是关于如何在raspberry pi上开始裸金属编程的。我会让你搜索那些。当然,您可以在预算范围内使用raspberry pi (sparkfun还携带raspberry pi板,您可以在那里获得所需的一切,只需支付一次运费)。
beaglebone黑色只需要usb线和sd卡,我不记得sd卡是否附带。或者usb电缆。I/O越多,arm地址空间越复杂,ti手册就越难阅读和查找。broadcom (覆盆子圆周率)是众所周知的零到小和可怜的文档,其中ti有过度完整的文档只是没有其他人涉水而过。做点权衡吧。在你的价格范围内,树莓皮是一种很好的替代品。
以上是支持linux的系统,您应该让引导程序方案提供ddr (内存),即使有经验,您也不想去那里。它们都是完整的arm处理器,手臂和拇指指令集。
你可以选择的另一条路是微控制器,例如,在发货前,stm32f0的发现还不到10美元。一个很好的学习平台以及你绝对裸露金属和你可以学习组装,但只有拇指组装。不管你是从手臂还是拇指开始,我都不太清楚,我过去总是倾向于拇指,但我开始倾向于拇指,然后arm...the st网站(st.com)就会有到电路板、摩丝机和数码钥匙的链接,而通常的玩家都会带着它们。我建议你找一对夫妇,以防你炸掉一个,而且从这些地方来的航运也很痛苦,所以如果你要花尽可能多的钱在航运上,最好是多买一个,并抵消运费。实际上,如果/当您想要使用stm32f0发现进行串行操作时,您将需要/需要一个USBto串行ftdi,3.3Volt。假设3.3v,除非您使用的是相当老的东西或arduino/avr (尽管其中有些版本有3.3伏特版本)
他们重新命名了它,但ti有一个发射台,用于以前的恒星是板(tiva或什么的),这也是一个基于皮层的处理器(仅指拇指)。发射台是免费运输,也在分20或低于10美元的范围内,也可以用来学习裸金属和组装。问题是,他们只经常进行生产,你可能要等几个月才能拿到你的董事会。他们还有一套售价20美元的hercules板,这是一个成熟的arm处理器,但据我所知,第三方工具并不支持它,基本上你需要使用工作良好的代码编写工作室,你可以进行组装等等,但我更倾向于采用另一种方法。我把我的一块已经在捣乱pll的板子砌成了砖,而没有给自己留下一个后门(我经常忘记和做这件事,一些芯片jtags是这样的,你可以不做它就可以逃脱,而有些则不是,如果你的固件挂起了你无法用jtag恢复的手臂,皮质-M0版的抹布板也像这个皮质-M0版的nxp (原始模型)不是这样)。
有一些亚$20微控制器,你可能希望或可能不想购买一个ftdi板的串行,你也可以使用,和一些更昂贵的,如毛毯和枫树迷你等等。
底线是,先买一个模拟器,然后跳进50美元以下的董事会,里面有很多。不过,先做你的研究,确保你可以用它做你想做的事,而不必购买更多的工具、系列、jtag等等。
发布于 2013-12-03 13:10:28
发布于 2013-12-03 11:11:11
Raspberry Pi是一台基于ARM的独立计算机,旨在运行操作系统,例如(但不限于) Linux。因此,可以用ARM汇编语言编写与此类操作系统交互的代码,但是配置中断之类的事情的大多数方面将由操作系统而不是您的代码决定。相反,许多评估板的设计目的是使代码本身更容易加载,从而使其完全控制系统中的一切。像"hello world“这样的程序可能更难设置,但是你可以对正在发生的一切进行比使用Raspberry Pi更精确的控制。
https://stackoverflow.com/questions/20359502
复制相似问题