第一次嵌入式系统程序员使用哪个微控制器有关系吗?
我有几年桌面和网络编程经验。我想继续进行一些嵌入式系统编程。在询问 初始问题,我想知道我应该在哪个硬件/软件 IDE 上启动...
Arduino + Arduino IDE?
Atmel AVR + AVR Studio 4?
飞思卡尔 HCS12 或 Coldfire + CodeWarrior?
Microchip PIC+ MPLAB?
ARM Cortex-M3 + ARM RealView / WinARM
或者...没关系?
哪种开发平台最容易学习和编程(考虑到 IDE 可用性)?
如果出现问题,哪一个最容易调试?
我的目标是了解 “IO 端口如何工作、内存限制/要求,包括可能的分页、中断服务例程。” 学习一个我稍后会使用的还是高级的更好这个概念应该适用于大多数微控制器吗?
谢谢!
更新:此开发套件如何用于开始?评论?建议?
I've experience in doing desktop and web programming for a few years. I would like to move onto doing some embed system programming. After asking the initial question, I wonder which hardware / software IDE should I start on...
Arduino + Arduino IDE?
Atmel AVR + AVR Studio 4?
Freescale HCS12 or Coldfire + CodeWarrior?
Microchip PIC+ MPLAB?
ARM Cortex-M3 + ARM RealView / WinARM
Or... doesn't matter?
Which development platform is the easiest to learn and program in (take in consideration of IDE usability)?
Which one is the easiest to debug if something goes wrong?
My goal is to learn about "how IO ports work, memory limitations/requirements incl. possibly paging, interrupt service routines." Is it better to learn one that I'll use later on, or the high level concept should carry over to most micro-controllers?
Thanks!
update: how is this dev kit for a start? Comment? suggestion?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(14)
就我个人而言,我推荐基于 ARM Cortex-M3 的微控制器。更高功率的 ARM 内核非常受欢迎,这些低功耗版本很可能在某个领域取得成功仍然散布着专有的 8/16 位内核。以下是关于该主题的最新文章:ARM Cortex-M3 和 MCU 市场的融合< /em>。
Arduino 非常受爱好者欢迎。 Atmel 的外设库在各种处理器类型中相当常见。因此,以后可以顺利地从 AVR 过渡到ARM。
我并不是说 ARM 比 AVR 或任何其他内核更好。为商业产品选择 MCU 通常取决于外围设备和价格,然后是现有的代码库和开发工具。此外,微控制器通常比台式电脑简单得多。所以,当你掌握了它的窍门后,从一种转移到另一种其实并不难。
另外,如果您对实时操作系统 (RTOS) 开发感兴趣,请查看 FreeRTOS。它是开源的,并包含一个关于 RTOS 是什么以及他们如何实现 RTOS 的精彩演练。事实上,他们的演练示例甚至针对的是 AVR。
嵌入式系统的开发工具可能非常昂贵。然而,对于更开放的内核(例如 ARM 和 AVR),通常有开源替代品。例如,请参阅 WinARM 和 WinAVR 项目。
这些工具链基于 GCC,因此也可以在非 Windows 平台上使用(恕我直言,更易于使用)。如果您熟悉使用 GCC,那么您就会知道 EMACS 和 vi (我最喜欢的)到 vi (我最喜欢的) eclipse.org/" rel="noreferrer">Eclipse。
商业产品可以为您省去很多设置方面的麻烦。然而,选择哪一种很大程度上取决于您的目标硬件和预算。此外,某些硬件支持直接 USB 调试,而其他硬件可能需要昂贵的 JTAG 适配器。
其他链接:
低成本 Cortex-M3 板:
利用 ARM Cortex 的新 Arduino -M3代替AVR微控制器。
Personally, I'd recommend an ARM Cortex-M3 based microcontroller. The higher-power ARM cores are extremely popular, and these low-power versions could very well take off in a space that is still littered with proprietary 8/16-bit cores. Here is a recent article on the subject: The ARM Cortex-M3 and the convergence of the MCU market.
The Arduino is very popular for hobbyist. Atmel's peripheral library is fairly common across processor types. So, it would smooth a later transition from an AVR to an ARM.
I don't mean to claim that an ARM is better than an AVR or any other core. Choosing an MCU for a commercial product usually comes down to peripherals and price, followed by existing code base and development tools. Besides, microcontrollers are general much much simpler than a desktop PC. So, it's really not that hard to move form one to another after you get the hang of it.
Also, look into FreeRTOS if you are interested in real-time operating system (RTOS) development. It's open source and contains a nice walk through of what an RTOS is and how they have implemented one. In fact, their walk-through example even targets an AVR.
Development tools for embedded systems can be very expensive. However, there are often open source alternatives for the more open cores like ARM and AVR. For example, see the WinARM and WinAVR projects.
Those tool-chains are based on GCC and are thus also available (and easier to use IMHO) on non-Windows platforms. If you are familiar with using GCC, then you know that there are an abundance of "IDE's" to suit your taste from EMACS and vi (my favorite) to Eclipse.
The commercial offerings can save you a lot of headaches getting setup. However, the choice of one will very much depend on your target hardware and budget. Also, Some hardware support direct USB debugging while others may require a pricey JTAG adapter.
Other Links:
Low-Cost Cortex-M3 Boards:
New Arduino to utilize an ARM Cortex-M3 instead of an AVR microcontroller.
鉴于您已经有编程经验,您可能需要考虑购买 Arduino 并清除固件,以便使用 AVR Studio + WinAVR 做您自己的事情。 Arduino 为您提供了了解其电子方面的良好起点。取出 Arduino 引导加载程序可以让您更好地访问 Atmel 的内部结构。
为了实现您设定的目标,我还建议通过 x86 编程更深入地探索台式计算机。例如,您可以构建 x86 操作系统内核。
Given that you already have programming experience, you might want to consider getting an Arduino and wiping out the firmware to do your own stuff with AVR Studio + WinAVR. The Arduino gives you a good starting point in understanding the electronics side of it. Taking out the Arduino bootloader would give you better access to the Atmel's innards.
To get at the goals you're setting out, I would also recommend exploring desktop computers more deeply through x86 programming. You might build an x86 operating system kernel, for instance.
ARM 是使用最广泛的嵌入式架构,涵盖来自多个供应商的大量设备和广泛的成本。也就是说,ARM7、9、11 和 Cortex 设备之间存在显着差异 - 尤其是 Cortex。然而,如果您的目标是专业进入嵌入式系统,那么 ARM 经验将对您大有裨益。
8 位架构通常更易于使用,但内存容量和核心速度通常非常有限。另外,由于 8 位技能使用简单,因此相对容易获得,因此对于潜在雇主来说,这是一项不太有吸引力的技能,因为它很容易在内部或由经验不足(因此成本较低)的员工来完成。
然而,如果这是一种爱好而不是职业,那么零件、电路板和工具的低成本以及易用性可能会使 8 位有吸引力。我建议 AVR 只是因为它受到免费的 avr-gcc 工具链的支持。另一种开源 C 编译器 SDCC 支持某些 8 位目标。我相信 Zilog 会免费提供他们的 Z8 编译器,但您可能需要支付调试硬件的费用(尽管这相对便宜)。许多商业工具供应商提供其工具的代码大小限制版本用于评估和非商业用途,但要注意大多数调试器需要专业硬件,这可能很昂贵,尽管在某些情况下,如果您只需要基本功能和低速。
无论您做什么,请查看 www.embedded.com。如果你选择ARM,我已经在商业项目上成功使用了WinARM,尽管它并不是为了舒适而构建的! 此处提供了 ARM 资源的详细列表。对于 AVR,一定要查看 www.avrfreaks.net
我只推荐 Microchip PIC 部件(至少是低端)最终)适用于对成本高度敏感的项目,其中外围设备组合非常适合应用程序;不适合学习嵌入式系统。 PIC 与其说是一种架构,不如说是一种品牌,各个系列的 PIC12、16、18、24 和 PIC32 彼此之间非常不同,因此学习其中一种并不一定能帮助您更好地使用另一种 - 通常您甚至需要购买新工具!也就是说,如果您想同时获得一些简单的 DSP 体验,基于 PIC24 架构的 dsPIC 可能是一个不错的选择。
在所有情况下,请检查编译器可用性(特别是需要 C++ 支持时)和成本以及调试器硬件要求,因为这些通常是开发套件中最昂贵的部分,而板和部件通常是最便宜的部分。
ARM is the most widely used embedded architecture and covers an enormous range of devices from multiple vendors and a wide range of costs. That said there are significant differences between ARM7, 9, 11, and Cortex devices - especially Cortex. However if getting into embedded systems professionally is your aim, ARM experience will serve you well.
8 bit architectures are generally easier to use, but often very limited in both memory capacity and core speeds. Also because they are simple to use, 8-bit skills are relatively easy to acquire, so it is a less attractive skill for a potential employer because it is easy to fulfil internally or with less experienced (and therefore less expensive) staff.
However if this is a hobby rather than a career, the low cost of parts, boards, and tools, and ease of use may make 8 bit attractive. I would suggest AVR simply because it is supported by the free avr-gcc toolchain. Some 8 bit targets are supported by SDCC, another open source C compiler. I believe Zilog make their Z8 compiler available for free, but you may need to pay for the debug hardware (although this is relatively inexpensive). Many commercial tool vendors provide code-size-limited versions of their tools for evaluation and non-commercial use, but beware most debuggers require specialist hardware which may be expensive, although in some cases you can build it yourself if you only need basic functionality and low speeds.
Whatever you do do take a look at www.embedded.com. If you choose ARM, I have used WinARM successfully on commercial projects, although it is not built-for-comfort! A good list of ARM resources is available here. For AVR definitely check out www.avrfreaks.net
I would only recommend Microchip PIC parts (at least the low-end ones) for highly cost sensitive projects where the peripheral mix is a good fit to the application; not for learning embedded systems. PIC is more of a branding than an architecture, the various ranges PIC12, 16, 18, 24, and PIC32 are very different from each other, so learning on one does not necessarily stand you in good stead for using another - often you even need to purchase new tools! That said, the dsPIC which is based on the PIC24 architecture may be a good choice if you wanted to get some simple DSP experience at the same time.
In all cases check out compiler availability (especially if C++ support is a requirement) and cost, and debugger hardware requirements, since often these will be the most expensive parts of your dev-kit, the boards and parts are often the least expensive part.
这是一个很难回答的问题,因为您的理想答案很大程度上取决于您对学习的兴趣。
如果您的目标只是更深入地了解计算系统的内部工作原理,我几乎建议您放弃嵌入式路线并拿起一本关于编写 Linux 内核模块的书。写一些简单的东西来读取 SMbus 的温度传感器或类似的东西。
如果您想进入高级(手机等)嵌入式应用程序开发,请下载 Android SDK,您可以在 eclipse 下使用 java 进行编码,甚至还有一个不错的模拟器。
如果您想进入“真正的”微控制器领域并真正了解低级系统编程,我建议您从非常简单的架构开始,例如 AVR 或 PIC,即没有 MMU 的架构。
深入到中间地带,例如带有 MMU 的 ARM 和某种操作系统,无论是 Linux 还是其他操作系统,都会有点令人震惊,因为没有背景既是系统编程又是硬件接口,我认为过渡将非常艰难如果您除了编写非常简单的应用程序、计算按钮按下次数或类似内容之外还打算做很多事情。
This is kind of a hard question to answer as your ideal answer very much depends on what it is your interested in learning.
If your goal is just to dive a little deeper into the inner workings of computing systems i would almost recommend you forgo the embedded route and pick up a book on writing a linux kernel module. Write something simple that reads a temperature sensor off the SMbus or something like that.
If your looking at getting into high level (phones, etc) embedded application development, download the Android SDK, you can code in java under eclipse and even has a nice emulator.
If your looking at getting into the "real" microcontroller space and really taking a look at low level system programming, i would recommend you start on a very simple architecture such as an AVR or PIC, something without an MMU.
Diving into the middle ground, for example an ARM with MMU and some sort of OS be it linux or otherwise is going to be a bit of a shock as without a background is both system programming and hardware interfacing i think the transition will be very rough if you plan to do much other than write very simple apps, counting button presses or similar.
德州仪器 (TI) 以非常低的价格发布了一款非常有趣的开发套件:eZ430-Chronos 开发工具 包含运动手表中带有显示屏和各种传感器的 MSP430,包括 USB 调试编程器和 USB 无线电接入点 50 美元
还有 一个包含大量信息的 wiki。
我已经为 eZ430-Chronos 创建了一个 stackexchange 提案成套工具。
Texas Instruments has released a very interesting development kit at a very low price: The eZ430-Chronos Development Tool contains an MSP430 with display and various sensors in a sports watch, including a usb debug programmer and a usb radio access point for 50$
There is also a wiki containing lots and lots of information.
I have already created a stackexchange proposal for the eZ430-Chronos Kit.
不,如果您想学习如何对嵌入式设备进行编程,这并不重要。但您需要知道从哪里开始以及下一步该去哪里的流程。因为市面上有很多微控制器,您不知道该选择哪一个。因此,在开始之前最好有一个路线图。
在我看来,你应该从 - 任何 AVR 板(atmega 328P- arduino 板或 AVR 板)开始
那么你应该去 ARM 微控制器 - 首先做 ARM CORTEX TDMI
然后是 ARM cortex M3 板。这将为您提供一个整体视图,之后您可以根据您正在工作的项目类型和您的要求来选择任何板。
No it doesn't matter if you want to learn how to program an embedded device. But you need to know the flow of where to start and where to go next. Cause there are many micro-controllers out there and you don't know which one to choose. So better have a road-map before starting.
In my view you should start with - Any AVR board (atmega 328P- arduino boards or AVR boards)
then you should go to ARM micro-controller - first do ARM CORTEX TDMI
then ARM cortex M3 board.Thus this will give you an overall view after which you can choose any board depending on what kind of project you are working and what are your requirements.
无论做什么,都要确保获得良好的开发环境。我不是Microchip的开发工具的粉丝,尽管我喜欢他们的微控制器(我已经被MPLAB + ICD烧伤太多次了,太多麻烦和功能障碍)。 TI 的 2800 系列 DSP 相当不错,并且具有基于 Eclipse 的 C++ 开发环境,您只需花费不到 1 分钟就可以进入该环境。 100 美元(获取基于“controlCARD”的实验者套件之一,例如 28335) -- 调试器通信链路非常可靠; IDE 很好,虽然我偶尔会崩溃。
有些地方有更好的 IC 和电路板;我对嵌入式微控制器领域不太熟悉,但我对带有另一个软件工具链的糟糕 IDE 没有太多耐心,我必须弄清楚如何解决所有错误。
Whatever you do, make sure you get a good development environment. I am not a fan of Microchip's development tools even though I like their microcontrollers (I have been burned too many times by MPLAB + ICD, too much hassle and dysfunction). TI's 2800 series DSPs are pretty good and have an Eclipse-based C++ development environment which you can get into for < US$100 (get one of the "controlCARD"-based experimenter's kits like the one for the 28335) -- the debugger communications link is really solid; the IDE is good although I do occasionally crash it.
Somewhere out there are ICs and boards that are better; I'm not that familiar with the embedded microcontroller landscape, but I don't have much patience for poor IDEs with yet another software tool chain that I have to figure out how to get around all the bugs.
有些人推荐 ARM。我推荐它,不是作为第一个学习平台,而是作为第二个平台。 ARM 作为学习嵌入式底层细节的平台有点复杂,因为它的启动代码和初始化要求比许多其他微处理器更复杂。但ARM是嵌入式市场的大玩家,非常值得学习。所以我推荐它作为第二个学习平台。
Atmel AVR 非常适合学习许多嵌入式基础知识,主要有 3 个原因:
其他微控制器开发套件 也可能不错,例如 MSP430——尽管他们可能没有这样的粉丝论坛。使用开发套件是一个很好的方法,因为它们旨在快速启动并运行微型计算机,并促进有效的学习。他们可能有面向快速入门的教程。
好吧,我认为开发套件及其教程可能会掩盖引导加载程序和启动代码等内容,以利于让您的代码尽快闪烁 LED。但这可能是一个很好的开始方式,您可以按照自己的节奏探索从“开机”到“代码运行”的事件链。
我不喜欢 PIC,至少不喜欢 PIC16,由于其架构 。它对 C 不太友好。记忆银行是痛苦的。
Some recommend the ARM. I'd recommend it, not as a first platform to learn, but as a second platform. ARM is a bit complex as a platform to learn the low-level details of embedded, because its start-up code and initialisation requirements are more complicated than many other micros. But ARM is a big player in the embedded market, so well worth learning. So I'd recommend it as a second platform to learn.
The Atmel AVR would be good for learning many embedded essentials, for 3 main reasons:
Other micros with development kits could also be good—such as MSP430—although they may not have such a fan forum. Using a development kit is a good way to go, since they are geared towards quickly getting up-and-running with the micro, and foster effective learning. They are likely to have tutorials oriented towards quickly getting started.
Well, I suppose the development kits and their tutorials are likely to gloss over such things as bootloaders and start-up code, in favour of getting your code to blink the LED as soon as possible. But that could be a good way to get started, and you can explore the chain of events from "power-on" to "code running" at your pace.
I'm no fan of the PICs, at least the PIC16s, due to their architecture. It's not very C-friendly. And memory banks are painful.
重要的是,您需要从更简单的系统开始逐渐获得经验。请注意,更简单并不是指功能较弱,而是指易于使用、易于设置等。在这种情况下,我会推荐以下产品(我对任何产品都没有既得利益,我只是发现它们是最好的):
我已经开始使用其中之一(MBED 开发板)。对我来说最大的卖点是我可以用 C 或 C++ 进行编码、通过 USB 直接连接以及灵活的在线开发环境(根本不需要安装本地工具!)。
http://mbed.org/
打开盒子五分钟后,我得到了一个示例眨眼程序(“hello world”嵌入世界的)运行以下命令:
就是这样!以上是完整的程序!
它基于 ARM Cortex M3,速度快且内存充足,适合嵌入式项目(100mhz、256k 闪存和 32k RAM)。在线开发工具有一个非常好的库和大量的示例,并且有一个非常活跃的论坛。关于将设备连接到 MBED 等的大量帮助
尽管我在嵌入式系统(ARM 7/9、Renases M8/16/32、Coldfire、Zilog、PIC 等)方面拥有丰富的经验,但我仍然发现这是一个令人耳目一新的简单系统抓握同时有认真的能力。
最初在基本面包板上使用它后,我从这些人那里购买了一块基板: http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php?PHPSESSID=lj20urpsh9isa0c8ddcfmmn207。它有一堆 I/O 设备(包括一个微型 OLED 和一个 3 轴加速计)。我还从同一个网站购买了一块 LCPExpresso 处理器板,它价格便宜,功耗/内存比 MBED 少,但非常适合较小的工作(仍然击败 PIC/Atmega 处理器)。该基板支持 LCPExpresso 和 MBED。购买 LCPExpress 处理器板还为我带来了一个附加的 JTAG 调试器和一个离线开发环境(Code Red 的基于 GCC/Eclipse 的开发套件)。这比在线 MBED 开发环境复杂得多,但在您获得 MBED 经验后这是一个合乎逻辑的进展。
参考我最初的观点,MBED 控制器比 LPCExpresso 控制器功能更强大,但使用和学习起来更简单。
It does matter, you need to gradually acquire experience starting with simpler systems. Note that by simpler I dont mean less powerful, I mean ease of use, ease of setup etc. In that vein I would recommend the following (I have no vested interest in a any of the products, I just found them the best):
I've started using one of these (MBED developer board). The big selling points for me were that I could code in C or C++, straightforward connection vis USB and a slick on-line development environment (no local tool installation required at all!).
http://mbed.org/
Five minutes afer opening box I had a sample blinky program (the 'hello world' of the emedded world) running the following:
That's it! Above is the complete program!
It's based on ARM Cortex M3, fast and plenty of memory for embedded projects (100mhz, 256k flash & 32k ram). The online dev tools have a very good library and plenty of examples and theres a very active forum. Plenty of help on connecting devices to MBED etc
Even though I have plenty of experience with embedded systems (ARM 7/9, Renases M8/16/32, Coldfire, Zilog, PIC etc) I still found this a refreshingly easy system to get to grips with while having serious capability.
After initially playing with it on a basic breadboard I bought a base board from these guys: http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php?PHPSESSID=lj20urpsh9isa0c8ddcfmmn207. This has a pile of I/O devices (including a miniture OLED and a 3axis accelerometer). From the same site I also bought one of the LCPExpresso processor boards which is cheap, less power/memory than the MBED but perfect for smaller jobs (still hammers the crap out of PIC/Atmega processors). The base board supports both the LCPExpresso and the MBED. Purchasing the LCPExpress processor board also got me me an attached JTAG debugger and an offline dev envoronment (Code Red's GCC/Eclipse based dev kit). This is much more complex than the online MBED dev environment but is a logical progression after you've gained expeience with the MBED.
With reference to my original point noite that the MBED controller is much more capable than the the LPCExpresso controller BUT is much simpler to use and learn with.
我使用微芯片 PIC,这是我开始使用的,主要是因为邪恶天才书的 123 个微控制器项目。我在学校攻读了微处理器课程,学习了一些有关中断、时序等的知识,这对我的微控制器帮助很大。我想其他一些程序员等可能会更好/更容易,但是对于 PicKit1 来说 36 美元,我太便宜了,无法去购买另一个……坦白说,如果不使用它们,我不知道它们是否更容易/更好,我喜欢我的,并且一有机会就推荐它,我花了很长时间才真正真正地观察它,但我最终能够使用 ICSP 对另一个芯片进行编程。我不知道其他程序员是怎么做的,但对我来说,这是最好的事情,5 线接口,你可以编程。拿棍子打都打不过啊
I use microchips PIC's, its what I started on, I mainly got going on it due to the 123 microcontroller projects for the evil genius book. I took a Microprocessors class at school for my degree and learned a bit about interrupts and timing and things, this helped a ton with my microcontrollers. I suppose some of the other programmers etc may be better/easier, but for $36 for the PicKit1, I'm too cheap to go buy another one...and frankly without using them I don't know if they are easier/better, I like mine and recommend it every chance I get, and it took me forever to really actually look at it, but I was able to program another chip off board with ICSP finally. I don't know what other programmers do it, but for me that's the nicest thing 5 wire interface and you're programmed. Can't beat that with a stick...
我只用过其中之一。
飞思卡尔是一款很好的芯片。我多年来一直在一些小项目中使用 HC 芯片。唯一需要注意的是,我不会碰嵌入 10 英尺杆的 CodeWarrier。您可以找到一些免费的 C 编译器和汇编器(我不记得我使用的最后一个的名称)可以很好地完成这项工作。 Codewarrior 规模庞大且令人困惑,无论我对芯片架构和 C 编程了解多少,似乎总是让事情变得更加困难。如果您以前在 Mac 上使用过 Codewarrior,并认为 CW 非常简洁,那么,事实并非如此。 CW 嵌入式看起来有点相似,但它工作非常不同,而且不是很好。
命令行编译器通常很好。能够花大钱的专业人士可以获得昂贵的开发环境,我相信他们会让事情变得更好,但如果没有这些,它仍然比 1990 年为台式电脑编写汇编代码要好得多,而且不知何故,我们设法做得很好。 :-)
I've only used one of those.
The Freescale is a fine chip. I've used HC-something chips for years for little projects. The only caveat is that I wouldn't touch CodeWarrier embedded with a 10 foot pole. You can find little free C compilers and assemblers (I don't remember the name of the last one I used) that do the job just fine. Codewarrior was big and confusing and regardless of how much I knew about the chip architecture and C programming always seemed to only make things harder. If you've used Codewarrior on the Mac back in the old days and think CW is pretty neat, well, it's not at all like that. CW embedded looks vaguely similar, but it works very differently, and not very well.
A command-line compiler is generally fine. Professionals who can shell out the big bucks get expensive development environments, and I'm sure they make things better, but without that it's still far better than writing assembly code for a desktop PC in 1990, and somehow we managed to do that just fine. :-)
您可以考虑 RoBoard。现在,该板可能不是您正在寻找的微控制器,但它确实具有能够运行 Windows 或 DOS 的优势,因此您可以使用 Microsoft .NET 甚至 C/C++ 开发工具来摆弄伺服器或传感器等东西,甚至建造一个机器人!这实际上有点有趣。
还有 Axon II,它配备了 ATmega640 处理器。
无论哪种方式,两个董事会都应该帮助您实现目标。
抱歉,我关注的是机器人技术,这只是我感兴趣的事情,并且认为它也可能对您有所帮助。
You might consider a RoBoard. Now, this board may not be what you are looking for in terms of a microcontroller, but it does have the advantage of being able to run Windows or DOS and thus you could use the Microsoft .NET or even C/C++ development tools to fiddle around with things like servos or sensors or even, what the heck, build a robot! It's actually kinda fun.
There's also the Axon II, which has the ATmega640 processor.
Either way, both boards should help you achieve your goal.
Sorry for the robotics focus, just something I'm interested in and thought it may help you too.
我使用 PIC,但如果我今天选择的话,我会考虑使用 Arduino。但从你的目标来看:
我想知道你最好的选择是否只是侵入Linux内核?
I use PICs, but would consider Arduino if I chose today. But from your goals:
I wonder if you best bet is just to hack in the Linux kernel?
BBC Micro Bit
https://en.wikipedia.org/wiki/Micro_Bit< /a>
这个便宜的小板(约20磅) 由 ARM Holdings 作为教育设备包装,并向英国学生免费赠送了 100 万个单位。
它包含一个 ARM Cortex-M0,这是所有 ARM 内核中最小的。
我推荐它作为第一块微控制器板,因为它具有广泛的可用性、低成本、简单性,而且它向您介绍了 ARM 架构,该架构具有许多更先进的板,也可用于更重要的应用。
BBC Micro Bit
https://en.wikipedia.org/wiki/Micro_Bit
This cheap little board (~20 pounds) was crated by ARM Holdings as an educational device, and 1M units were given out for free to UK students.
It contains an ARM Cortex-M0, the smallest ARM core of all.
I recommend it as a first micro-controller board due to its wide availability, low cost, simplicity, and the fact that it introduces you to the ARM architecture, which has many more advanced boards also available for more serious applications.