搜索
bottom↓
回复: 12

Learning Linux for embedded systems.

[复制链接]

出0入0汤圆

发表于 2016-4-9 10:22:16 | 显示全部楼层 |阅读模式

http://www.embedded.com/electron ... or-embedded-systems

希望对大家有所帮助,

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2016-4-9 13:31:26 | 显示全部楼层
感谢分享           

出0入0汤圆

发表于 2016-4-9 15:17:33 | 显示全部楼层
很早进过,不错的论坛。

出0入0汤圆

发表于 2016-4-9 18:22:20 | 显示全部楼层
打不开网页怎么回事

出0入0汤圆

发表于 2016-4-9 18:22:51 | 显示全部楼层
打不开网页怎么回事。     

出0入0汤圆

发表于 2016-4-9 18:40:41 | 显示全部楼层
一样打不开网页

出0入0汤圆

发表于 2016-4-9 18:42:07 来自手机 | 显示全部楼层
可以打开的

出0入12汤圆

发表于 2016-4-9 19:05:06 | 显示全部楼层
多谢分享,呵呵。

出0入0汤圆

 楼主| 发表于 2016-4-9 19:25:38 | 显示全部楼层
ccrt 发表于 2016-4-9 18:22
打不开网页怎么回事。

应该可以打开的呀...

出0入0汤圆

发表于 2016-4-9 22:49:17 来自手机 | 显示全部楼层
打不开,用uc的都打不开,换个浏览器试过

出0入0汤圆

发表于 2016-4-9 23:08:09 | 显示全部楼层
能看到,很多页,比较慢。
贴第一页:

Learning Linux for embedded systems

Michael Eager

SEPTEMBER 05, 2013

inShare
96
Tweet
Save As File Print Email
I was recently asked how a person with experience in embedded systems programming with 8-bit processors, such as PIC, as well as 32-bit processors, such as PowerPC, but no Linux experience, can learn how to use Embedded Linux.

What I always recommend to such an embedded systems programmer is this: Look at Embedded Linux as two parts, the embedded part and the Linux part. Let's consider the Linux part first.

The Linux side
Operating systems abound and the choices are many for an embedded system, both proprietary and open source. Linux is one of these choices. No matter what you use for your development host, whether Linux or Windows or Mac, you need to learn how to program using the target OS. In this respect, using Embedded Linux is not greatly different from using VXworks, WindowCE, or another OS. You need an understanding of how the OS is designed, how to configure the OS, and how to program using its application programming interface (API).

A few factors make learning how to program Linux easier than other embedded OSes. You'll find many books and tutorials about Linux, as well as Unix from which it is derived -- many more than for other OSes. Online resources for Linux are ample, while other OSes have a much smaller presence, or one driven by the OS manufacturer. Linux is open source, and you can read the code to get an understanding of exactly what the OS is doing, something that is often impossible with a proprietary OS distributed as binaries. (I certainly do not recommend reading Linux source to try to learn how to program Linux. That's like trying to learn to drive by studying how a car's transmission works.)

The most significant factor that sets Linux apart from other OSes is that the same kernel is used for all systems, from the smallest embedded boards, to desktop systems, to large server farms. This means that you can learn a large amount of Linux programming on your desktop in an environment, which is much more flexible than using a target board with all of the complexities of connecting to the target, downloading a test programming, and running the test. All of the basic concepts and most APIs are the same for your desktop Linux and your Embedded Linux.

Installing Linux
You could install a desktop Linux distribution on your development system, replacing your Windows or Mac system, but that may be a pretty large piece to bite off at one time, since you would likely need to configure email, learn new tools, and come up to speed with a different desktop interface. You could install Linux in a dual-boot environment, where you use the old environment for email, etc., and use the Linux system for learning. This can be pretty awkward, since you need to shut down one environment to bring up the other. Additionally, doing either within a corporate environment may be impractical or impossible. IT folks prefer supporting a known environment, not one that you have chosen.

An easier way is to create a virtual machine environment on your current development system. For Windows hosts, you can install VMware Player or VirtualBox, and on the Mac, you can install Parallels or VMware Fusion. Using a VM offers you much more flexibility. You can install a desktop Linux distribution, like Ubuntu or Fedora. You can use this distribution to become familiar with basic Linux concepts, learn the command shell and learn how to build and run programs. You can reconfigure the kernel or load drivers, without the concern that you'll crash your desktop system. You can build the entire kernel and application environment, similar to what you might do with a cross-development environment for an Embedded Linux target.

If your VM running Linux crashes, you simply restart the VM. The crash doesn't affect other things which you might be doing on your development system, such as reading a web page on how to build and install a driver, or that writing an email to one of the many support mailing lists.

Some of the VM products have snapshot features that allow you to take a checkpoint of a known working configuration, to which you can roll back if you can't correct a crash easily. This snapshot is far easier than trying to rescue a crashing desktop system or an unresponsive target board.

A Linux VM running on your desktop is not a perfect model for an Embedded Linux environment. The VM emulates the hardware of a desktop system, with a limited set of devices that are unlikely to match a real embedded target. But our objective at this point is not modeling a real target (something we'll discuss later) but creating an environment were you can learn Linux concepts and programming easily.

This is the first step: Create a VM and install a desktop Linux distribution on the VM. We'll pick from here in our next installment.

Michael Eager is principal consultant at Eager Consulting in Palo Alto, Calif. He has over four decades experience developing compilers, debuggers, and simulators for a wide range of processor architectures used in embedded systems. His current and former clients include major semiconductor companies and systems developers. Michael has been a member of the ISO C++ Standard Committee and ABI Committees for several processor architectures. He is chair of the Debugging Standards Committee for DWARF, a widely used debug data format. He is active in the open-source and Linux communities.

Related links:
Learning Linux for embedded systems
Getting started with Embedded Linux: Part Two
Getting started with Embedded Linux: Part Three
Getting started with Embedded Linux: Part Four
Getting started with Embedded Linux: Part Five
Getting started with Embedded Linux: Part Six
Getting started with Embedded Linux: Part Seven

出0入0汤圆

 楼主| 发表于 2016-4-9 23:23:17 | 显示全部楼层
mfketggo111 发表于 2016-4-9 22:49
打不开,用uc的都打不开,换个浏览器试过

我用firefox,要不你也试一下...

出0入0汤圆

 楼主| 发表于 2016-4-9 23:24:14 | 显示全部楼层
lcptw 发表于 2016-4-9 23:08
能看到,很多页,比较慢。
贴第一页:

谢谢你的完善...
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 17:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表