I am currently studying for a career in embedded real time engineering. But find it somewhat difficult to find good training material. Especially because you cannot experience embedded development as you would with desktop application development.
我目前正在攻读嵌入式实时工程专业。但是找到好的培训材料有点困难。特别是因为您无法像桌面应用程序开发那样体验嵌入式开发。
Are there any books and or kits that would be useful for basic training? Any recommendations for an RTOS for study?
是否有任何可用于基础培训的书籍或工具包?对RTOS进行研究的任何建议?
Are there any recommendations when useing a RTOS?
使用RTOS时有什么建议吗?
5 个解决方案
#1
This is really a complicated subjects, there are so many choices and trade-offs.
这真是一个复杂的主题,有很多选择和权衡。
With respect to hardware I would go for a low-end micro-controller, because things tend to become easier when they become smaller, and the farther away from the desktop the more you learn the mindset of embedded programming.
关于硬件,我会选择低端微控制器,因为当它们变小时,事情往往会变得更容易,离桌面越远,你就越了解嵌入式编程的思维方式。
Since you are in Japan it is probably best to check locally what controller is popular, so you get good community support and can easily buy parts.
由于您在日本,最好在本地检查哪些控制器很受欢迎,因此您可以获得良好的社区支持并可以轻松购买零件。
Here in Germany it is AVR ATMEGA, and I think it is a good choice. It has the best support by GNU tools, it is available in DIP packages and can run off its internal oscillator so it can easily be run on a breadboard. The biggest hurdle was that I needed an ISP programmer. There is a good tutorial in German.
在德国这里是AVR ATMEGA,我认为这是一个不错的选择。它具有GNU工具的最佳支持,它采用DIP封装,可以运行其内部振荡器,因此可以轻松地在面包板上运行。最大的障碍是我需要一名ISP程序员。德语有一个很好的教程。
I also have an R8C by Renesas, which might be more popular in Japan. It is harder to get the GNU tools running, I had to build them myself from source. For MS-Windows there is the free IAR Kickstart suite with code size limited to 4KB. It can be programmed with a serial interface (but with TTL levels), I got a FTDI USB-to-Serial module for that.
我也有瑞萨的R8C,它可能在日本更受欢迎。让GNU工具运行起来更难,我必须自己从源代码构建它们。对于MS-Windows,有免费的IAR Kickstart套件,代码大小限制为4KB。它可以用串行接口编程(但具有TTL电平),我有一个FTDI USB-to-Serial模块。
As for RTOS, take a look at OSEK, there are several free implementations. It can be used on very small controllers.
至于RTOS,看看OSEK,有几个免费的实现。它可以用在非常小的控制器上。
You could also write a basic RTOS yourself, it is not that difficult and you learn the most.
您也可以自己编写一个基本的RTOS,这并不困难,您学到的最多。
#2
You don't need to learn a specific RTOS there is zillions of embedded RTOS they segmented to markets niches and even if you know the exact segment you are going work on there is still a lot of OS's operating in same segment.
The important thing is to understand a basic concepts of operating systems, and have a strong C background. When we are recruiting (we are embedded development house) we do not require any specific knowledge in embedded programming or specific OS. We are looking for smart ppl that write perfect C code and capable to learn.
您不需要学习特定的RTOS,有数以万计的嵌入式RTOS,它们被细分到市场中,即使您知道您正在进行的确切细分市场,仍然有很多操作系统在同一个细分市场中运行。重要的是要了解操作系统的基本概念,并具有强大的C背景。当我们招聘时(我们是嵌入式开发公司),我们不需要嵌入式编程或特定操作系统的任何特定知识。我们正在寻找能够编写完美C代码并且能够学习的智能ppl。
#3
There's no alternative for playing with the hardware & software with your own hands. Luckily, this is easy to achieve. Simple development boards for AVR chip can be bought for a few dozens of $$s online (like STK500, or Arduino) and their whole software toolchain is open and downloadable.
用自己的双手玩硬件和软件别无选择。幸运的是,这很容易实现。用于AVR芯片的简单开发板可以在几十亿美元的网上购买(如STK500或Arduino),它们的整个软件工具链是开放和可下载的。
Regarding the OS - start without an OS! Lots of embedded code runs without an OS, and it's also the best way to start programming. By experimenting with various techniques of writing non-OS code you'll learn to appreciate when and why you need an OS, and how to use it best.
关于操作系统 - 没有操作系统启动!很多嵌入式代码在没有操作系统的情况下运行,它也是开始编程的最佳方式。通过尝试编写非操作系统代码的各种技术,您将学会欣赏何时以及为什么需要操作系统,以及如何最好地使用它。
#4
I would recommend Quantum Leaps Platform and Quantum Framework. It's a sofisticated state machine environment that requires extremely low footprint. It can also run on Windows (for learning it).
我会推荐Quantum Leaps Platform和Quantum Framework。这是一个软化的状态机环境,需要极低的占地面积。它也可以在Windows上运行(用于学习它)。
Quantum Leaps网站
#5
You first need to figure out what you want to learn about embedded systems.
您首先需要弄清楚您想要了解的有关嵌入式系统的内容。
*) hardware specifics *) operating system *) application programming *) board bring up *) small micro controller *) Linux
*)硬件细节*)操作系统*)应用程序编程*)板带*)小型微控制器*)Linux
...And many more choices...
......还有更多的选择......
I would decide to complete a certain embedded project and buy/learn the associated technologies.
我决定完成某个嵌入式项目并购买/学习相关技术。
#1
This is really a complicated subjects, there are so many choices and trade-offs.
这真是一个复杂的主题,有很多选择和权衡。
With respect to hardware I would go for a low-end micro-controller, because things tend to become easier when they become smaller, and the farther away from the desktop the more you learn the mindset of embedded programming.
关于硬件,我会选择低端微控制器,因为当它们变小时,事情往往会变得更容易,离桌面越远,你就越了解嵌入式编程的思维方式。
Since you are in Japan it is probably best to check locally what controller is popular, so you get good community support and can easily buy parts.
由于您在日本,最好在本地检查哪些控制器很受欢迎,因此您可以获得良好的社区支持并可以轻松购买零件。
Here in Germany it is AVR ATMEGA, and I think it is a good choice. It has the best support by GNU tools, it is available in DIP packages and can run off its internal oscillator so it can easily be run on a breadboard. The biggest hurdle was that I needed an ISP programmer. There is a good tutorial in German.
在德国这里是AVR ATMEGA,我认为这是一个不错的选择。它具有GNU工具的最佳支持,它采用DIP封装,可以运行其内部振荡器,因此可以轻松地在面包板上运行。最大的障碍是我需要一名ISP程序员。德语有一个很好的教程。
I also have an R8C by Renesas, which might be more popular in Japan. It is harder to get the GNU tools running, I had to build them myself from source. For MS-Windows there is the free IAR Kickstart suite with code size limited to 4KB. It can be programmed with a serial interface (but with TTL levels), I got a FTDI USB-to-Serial module for that.
我也有瑞萨的R8C,它可能在日本更受欢迎。让GNU工具运行起来更难,我必须自己从源代码构建它们。对于MS-Windows,有免费的IAR Kickstart套件,代码大小限制为4KB。它可以用串行接口编程(但具有TTL电平),我有一个FTDI USB-to-Serial模块。
As for RTOS, take a look at OSEK, there are several free implementations. It can be used on very small controllers.
至于RTOS,看看OSEK,有几个免费的实现。它可以用在非常小的控制器上。
You could also write a basic RTOS yourself, it is not that difficult and you learn the most.
您也可以自己编写一个基本的RTOS,这并不困难,您学到的最多。
#2
You don't need to learn a specific RTOS there is zillions of embedded RTOS they segmented to markets niches and even if you know the exact segment you are going work on there is still a lot of OS's operating in same segment.
The important thing is to understand a basic concepts of operating systems, and have a strong C background. When we are recruiting (we are embedded development house) we do not require any specific knowledge in embedded programming or specific OS. We are looking for smart ppl that write perfect C code and capable to learn.
您不需要学习特定的RTOS,有数以万计的嵌入式RTOS,它们被细分到市场中,即使您知道您正在进行的确切细分市场,仍然有很多操作系统在同一个细分市场中运行。重要的是要了解操作系统的基本概念,并具有强大的C背景。当我们招聘时(我们是嵌入式开发公司),我们不需要嵌入式编程或特定操作系统的任何特定知识。我们正在寻找能够编写完美C代码并且能够学习的智能ppl。
#3
There's no alternative for playing with the hardware & software with your own hands. Luckily, this is easy to achieve. Simple development boards for AVR chip can be bought for a few dozens of $$s online (like STK500, or Arduino) and their whole software toolchain is open and downloadable.
用自己的双手玩硬件和软件别无选择。幸运的是,这很容易实现。用于AVR芯片的简单开发板可以在几十亿美元的网上购买(如STK500或Arduino),它们的整个软件工具链是开放和可下载的。
Regarding the OS - start without an OS! Lots of embedded code runs without an OS, and it's also the best way to start programming. By experimenting with various techniques of writing non-OS code you'll learn to appreciate when and why you need an OS, and how to use it best.
关于操作系统 - 没有操作系统启动!很多嵌入式代码在没有操作系统的情况下运行,它也是开始编程的最佳方式。通过尝试编写非操作系统代码的各种技术,您将学会欣赏何时以及为什么需要操作系统,以及如何最好地使用它。
#4
I would recommend Quantum Leaps Platform and Quantum Framework. It's a sofisticated state machine environment that requires extremely low footprint. It can also run on Windows (for learning it).
我会推荐Quantum Leaps Platform和Quantum Framework。这是一个软化的状态机环境,需要极低的占地面积。它也可以在Windows上运行(用于学习它)。
Quantum Leaps网站
#5
You first need to figure out what you want to learn about embedded systems.
您首先需要弄清楚您想要了解的有关嵌入式系统的内容。
*) hardware specifics *) operating system *) application programming *) board bring up *) small micro controller *) Linux
*)硬件细节*)操作系统*)应用程序编程*)板带*)小型微控制器*)Linux
...And many more choices...
......还有更多的选择......
I would decide to complete a certain embedded project and buy/learn the associated technologies.
我决定完成某个嵌入式项目并购买/学习相关技术。