1

我想写MIPS汇编代码。atmel avr 微控制器是否支持 MIPS(就像 PIC 微控制器一样)或者我是否必须使用 avr 程序集。

4

5 回答 5

5

您似乎对微控制器和架构有点困惑。我认为最好给你一些好的起点:

  • Atmel AVR 网站。文档、勘误表、规格、示例等。您可以选择 AVR-8(8 位)或 AVR-32(如果您熟悉 MIPS 等,则更好的选择)

    该站点提供了大量工具链等。但是,您可以为 AVR 交叉编译GCC,前提是您已经为 AVR 构建了binutils

  • 您需要一个C 库,它的功能比托管的 C 库要少,但它可以构建多个目标,具体取决于您使用的 8 位 AVR 架构。

  • 最后,您需要能够使用您的程序刷新微控制器。例如,avrdude

如果您想在此路径上节省一些试验和错误,我有(Unix/BSD)AVR 开发环境的最新构建说明。

--

你的软件就搞定了。到目前为止,这一切都是免费的。现在你需要一个编程器来进行转换,从 DIY 串行编程器到复杂的 STK 编程器。我对 AVR-32 没有太多经验,所以如果您需要与 MIPS 相媲美的东西,也许这是一个更好的选择。尽管如此,创建小型 AVR-8 设备教会了我很多东西,并为我揭开了很多嵌入式开发的神秘面纱。

此外,AVR 被授权生产一系列 ARM 微控制器。除非您坚持使用它,否则可能是比 MIPS 更好的选择。

顺便说一句,从开发人员的角度来看,PIC 很糟糕。

于 2012-11-08T01:39:13.677 回答
3

基本系列 AVR 通常分为六大类: tinyAVR — ATtiny 系列 0.5–16 kB 程序存储器 6–32 引脚封装 有限外设集 megaAVR — ATmega 系列 4–512 kB 程序存储器 28–100 引脚封装 扩展指令集(将指令和指令相乘以处理更大的程序存储器) 扩展外设集 XMEGA — ATxmega 系列 16–384 kB 程序存储器 44–64–100 引脚封装(A4、A3、A1) 扩展性能特性,例如 DMA、“事件系统”和密码学支持。具有 DAC 的广泛外设集 具有 AVR 系列其他成员所没有的特殊功能的特定应用 AVR megaAVR,例如 LCD 控制器、USB 控制器、高级 PWM、CAN 等 FPSLIC(带 FPGA 的 AVR)FPGA 5K 到 40K 门用于 AVR 程序代码的 SRAM,

于 2013-01-27T15:12:19.597 回答
3

MIPS 汇编语言特定于 MIPS 体系结构。据我所知,Atmel AVR 设备不直接支持 MIPS 指令集。如果您打算使用 AVR,我建议您专门学习 AVR 的指令集。

如果您更关心 MIPS 程序集编程而不关心物理硬件,那么我会考虑虚拟 MIPS 环境。我参加了一门围绕 MIPS 汇编的课程,我们使用了一个名为 MARS 的基于 java 的模拟器:

http://courses.missouristate.edu/kenvollmar/mars/

如果您正在寻找可编程 MIPS 硬件,我不确定有什么可用的。

我希望这有帮助。

于 2015-07-03T06:45:49.170 回答
2

PIC32 是一个使用 MIPS 作为 CPU 内核的微控制器系列。但是 Attiny ATmega 和 ATxmega 使用 AVR 作为 CPU 内核。AVR 和 MIPS 是不同的指令集架构,因此您不能使用相同的指令

于 2016-11-01T04:40:01.430 回答
0

the answer is no you can't write MIPS assembly codes for avr microcontroller because assembly language is tightly coupled to cpu architecture ... and avr not based on MIPS architecture

if you like to write your code in assembly .. you have to learn the cpu instruction sets provided by the cpu manufacturers for each cpu families you target ! ... so as you said you have to learn avr assembly if you target avr families

Good resource to learn avr assembly

  1. the first 6 chapters of this book: the avr microcontroller and embedded systems using assembly and c by mazidi

  2. avr freaks websit will help you

  3. AVR Assembly playlist on youtube

if you like to write the code only once and run it for different cpu with little modification just use C /or C++ languages instead of assembly

于 2020-06-07T19:28:03.823 回答