嘿,我对编码很新,我加入了编码俱乐部,因为我对不断发展的技术世界感兴趣。最近的主题是计算机体系结构,在我们讨论的ARM处理器组中。 我们的俱乐部队长通知了我们以下内容: "为ARM处理器开发软件产品,以执行您选择的任务。但是,在开始任务之前,您需要向我发送一个段落,让我知道您要解决的问题。" 有谁知道我可以查找的任何参考或代码示例?或任何其他有用的链接
答案 0 :(得分:0)
这个问题没有多大意义。 Arm架构涵盖范围广泛,包括针对低功耗或快速响应任务的小型微控制器,适用于机顶盒,摄像头或路由器嵌入式应用,智能手机以及服务器级产品的中档设备。
还有一些变型专为安全关键系统或高可靠性而设计。
每个特定的应用程序都需要不同的功能,但在您编写代码的级别上,您不太可能会理解可以帮助您选择设备的因素。它是便携式的,还是需要较长的电池寿命,或提供安全的通信?如果您需要使用特定设备,则应用程序将更加明显(但仍然非常宽)。
答案 1 :(得分:-1)
我将回答一般性问题 - 如何编写臂式处理器/任何处理器 -
所以,第一步是了解ISA是什么! ISA是一本手册(适用于初学者),该公司发布该手册,为那些希望为其特定处理器编码的人提供信息源。(在架构领域,ISA有更多的含义。我所提供的内容有点过于简单化)。现在,我建议您开始查看ARM ISA。阅读ARM支持的说明,了解ARM中的所有功能,了解机器的状态,寄存器,寻址模式等。充分了解您的ARM版本特别支持的内容(NEON,Thumb,Vectors(?) )。
一旦你掌握了ISA,下一步就是决定你想要构建什么,因为现在你知道你的处理器能够做什么了。你也知道自己的局限性。所以,现在是提出想法的好时机。
现在,下一步是设置您的环境。阅读您将使用的电路板规格。设置环境。了解编译器/汇编器。知道他们支持的标志。
最后,编写一个简单的基本汇编代码。编写代码以添加两个数字。我通常遵循这个惯例 - 对于汇编,我写了两个数字作为我的第一个代码。对于高级(C,C ++,Java),我写了HelloWorld。执行代码并观察输出。我建议对于第一个代码,您进入调试器并在每条指令后观察机器的状态。 (保持ISA方便)。
慢慢地,你的游戏。用函数,字符串等编写代码。最后,给自己一些有趣的东西并学习如何与它们接口。(LED,LCD,传感器,相机)。 干杯!