650) this.width=650; "Src=" https://mmbiz.qlogo.cn/mmbiz/ Iahl5mqlicpym9iakkxib1guyqaq1tsnwr8qbiamncajl1okg3cumo5z7fivnjjw4jlmim3aqhniqe6hspibavjbapbw/0?wx_fmt=jpeg "alt = "0?wx_fmt=jpeg"/>
Content Introduction
< Span style= "padding:0px;margin:0px;" > < Span style= "padding:0px;margin:0px;" > "answer reader" how to get started and improve embedded
embedded can be said to be the most widely covered, the hottest occupation
Today, a reader friend to small braided mail, small series immediately reply. Then think maybe the reply to everyone also useful, write out to see. Learn from each other:
Hello, first of all wish you step into the programming of this wonderful world, will be very interesting, but pay attention to exercise.
In a word, learn to program do not spend money, is now free resources. If you spend a lot of money to go to a training course, it's a bit of a loss (if you don't have the ability to educate yourself, it's a waste of training institutions). Completely self-study, also do not need to spend money to buy what information, online are free basic.
1. Embedded software does not need to learn a lot of hardware knowledge (some words of course is * * *). will use some burning writing tools, compiling, debugging tools (such as JTAG) on it, the time to use the current learning. Development tools are not always fixed, and generally do not necessarily need the IDE, with a text editor can write code (such as Vim,emacs). Anyway compile general with GCC variants.
2. Embedded generally to learn C language (to see my "C Language exploration" (http://blog.csdn.net/column/details/explorelanguagec.html) + "C Language deep Anatomy", "C programming Language" These two PDFs, see attachments. You can also continue in-depth reading of "C language expert programming" and so on), Linux is also better to learn (because the compiler often need to use the Linux system, even under Windows to use the Cygwin this kind of).
3.Linux can see the small series of "Linux Exploration Trip" (http://blog.csdn.net/column/details/explore-linux.html) to get started, of course, to further improve the need to see bird brother's "Bird's Linux Private dishes" Http://linux.vbird.org, China Linux Commune (http://www.linuxfans.org/), and advanced Programming for UNIX environments. There is also a "pig elder brother's embedded Linux," also line, did not read, feel a little messy (of course he is much better than me), no bird brother's writing so smooth and clear.
4. It is better to take some time to learn the assembly, the principle of understanding the computer, especially memory, pointers, binary, Hex has a good help, do not need to learn very deep. Recommended Wang Shuang Teacher's "assembly language" introductory excellent tutorial, and the corresponding forum: http://www1.asmedu.net:8086/bbs/forum.jsp (the answer to each lesson is there, but first did the topic again to answer).
5. Embedded in the current mainstream processor architecture is arm (formerly ARM7,ARM9,ARM11, now all Cortex series). Mobile phones, tablets, most of the development boards are arm's world. So we need to learn about the ARM architecture and have an understanding. ARM does not need to be too deep at first, depending on the circumstances. The integrated development environment of ARM is the most important development tool under ARM processors, with ads (arm Developer Suite).
6. Embedded you can buy a cheap development Board to start learning (I think self-taught embedded only money, also hundreds of yuan is very good), now what Raspberry Pi (https://www.raspberrypi.org/http:// www.raspberrypi.com.tw/) is a bit expensive, and Arduino (https://www.arduino.cc/) can do anything. You can also buy some domestic manufacturers of their own development Board (cheap), do not buy too bad on the line.
7. If you buy the development board, you can go to the Development Board corresponding forum. For example, I used to buy a TQ2440 (now has been upgraded to do not know what it is, days embedded in the forum still have a lot of good information: http://www.armbbs.net/) and a Mini2440 (Germany's friendly arm friendlyarm, a forum to take a look at the embedded Linux competition). The Chinese Forum is http://www.arm9home.net/). The National Forum (www.enjoylinux.cn/bbs/) has a lot of good learning materials. Embedded Linux Forum (http://www.embeddedlinux.org.cn/), Huaqing Vision Forum (http://bbs.embedu.org/) also has a lot of free information. World Forum on Electronic Engineering (http://bbs.eeworld.com.cn/). Of course, the country's largest IT community csdn forum and blog is also a good learning area, 51CTO is good, Chinaunix is also good. The experimental Building (www.shiyanlou.com) has a good online experimental environment, which is the Linux distribution of Ubuntu.
8. It is good for programming to learn English well. You'll find out slowly. So don't waste your English.
9. You can read a lot of books, mainly to choose good books, to see the efficiency. "In-depth understanding of computer systems" is very good, is a primer. Others also have many embedded books. Take it easy. First lay the groundwork. Embedded in this field is too wide, can learn something too much, now technology is changing rapidly, the basis of learning what new knowledge is fast. There is a "Orange's: An operating system implementation" book is recommended, followed by the author of a step-by-step writing their own operating system, handsome to drop slag, blood boiling oh.
10. If you later learn more difficult embedded real time systems (VXWORKS,ECOS,UCOS, etc.). The Chinese also wrote a few good RTOs, for example: Raw-os (http://www.raw-os.org), Djyos (http://www.djyos.org)), driving development and the like, that will C (and assembly) of the foundation is stronger, to see more in-depth book. But for the time being embedded, these areas of interest, not learning.
11. What should be a PDF of the programming book to ask the small (I have been collecting a lot of computer programming pdf, many of them have been uploaded to the QQ Group of the Programmer Alliance, as well as their own Baidu cloud disk). By the time you specify which book I can give you Baidu cloud disk sharing link. But it is best to go to Baidu first, get the Programmer Alliance QQ group File and the public Baidu cloud disk find, really can not find again to ask small, otherwise I can't busy:P
There are only so many things to think about at the moment, and some may not. Hope not to mislead. Have any questions welcome to exchange advice.
What problems can be sent to the small series of personal e-mail (computer typing than on the phone more comfortable):
[Email protected]
This article is from the "Programmer Alliance Frogoscar" blog, so be sure to keep this source http://4526621.blog.51cto.com/4516621/1730987
How to get started and improve the embedded