-
C is really the most basic, and getting started with embedded starts in C.
If you are self-taught, you can try the following routes:
1) C language is the strongest of all programming languages, microcontroller, DSP, and various chips similar to ARM can be programmed in C language), so it must be very proficient.
Recommended books: Tan Haoqiang uses more books, and there is also "The C Programming Language" This classic textbook is written by foreigners, and there are also Chinese translation versions.
2) The principle of operating system is required, if you are a computer major graduate, it doesn't matter, if you are a non-computer major, you must find a relatively simple computer principle book to take a look, what is called "process", "thread", "system scheduling" and other basic issues to figure out.
3) The Linux operating system is written in C, so you should also learn Linux programming first, and only if you can apply it, can you get closer to understand the essence of its kernel.
4) Understand the architecture, principle, and assembly instructions of ARM, we generally rarely write assembly in embedded development, but the minimum requirement is to be able to understand ARM assembly.
5) When migrating the system, you need to start with the lowest bootloader, then the kernel port, the file system port, etc. The dependence on the hardware of the porting part is very large, and the configuration steps are relatively complex, and there is not much detailed information.
6) Drive development.
Linux driver design is both a challenging area and a broad one.
Linux driver design essentially belongs to the category of Linux kernel programming, so there are requirements for Linux kernel and kernel programming. Before you study, you need to understand the composition of the Linux kernel, because each part needs to be studied in detail enough to expand into a thick book.
The above is just a general framework, and there will be many things involved in the actual development, such as: cross-compilation, makefile, shell script, etc., so the learning embedded cycle is longer, the threshold is higher, and self-learning requires strong learning ability and professional skills. As long as you can persevere, you will definitely succeed!
You can go to Huaqing Vision ** on the embedded related information, Huaqing Vision is a first-class embedded training institution in China, from 06 years to publish a series of embedded professional best-selling books, major bookstores and libraries have, you can learn about it, I believe it will help you.
I wish LZ a speedy success!
-
The following basic knowledge is required to learn embedded.
Purpose: To be able to understand how the hardware works, but focus on embedded software, especially OS-level software, which will be my advantage.
Subjects: Digital Circuits, Principles of Computer Composition, Embedded Microprocessor Structure.
Assembly Language, C C++, Principles of Compilation, Discrete Mathematics.
Data structures and algorithms, operating systems, software engineering, networks, databases.
Method: Although there are many subjects, they are all relatively simple foundations, and most of them have been mastered. It may not be a full course, but it can be taken as needed.
Main books: The C++ programming language (I haven't had time to read), Data Structure-C2.
Embedded Linux operating system learning plan.
ARM+Linux route, focusing on embedded Linux operating system and application software development goals:
1) Master the structure and principle of mainstream embedded microprocessors (preliminarily set as arm9).
2) Must master an embedded operating system (tentatively set as UCLinux or Linux, version to be determined).
3) Must be familiar with the embedded software development process and do at least one embedded software project.
The benefits of working in embedded software development are:
1) At present, there is a scarcity of people in this area at home and abroad. The barrier to entry in this field is high, so it is difficult for non-professional IT personnel to enter this field; On the other hand, it is because this field is relatively new and is currently developing too fast, and most people are unconditionally exposed to it.
2) Unlike application software such as enterprise computing, the work intensity of talents in the embedded field is usually lower (but the income is not low).
3) If you want to start a business one day and engage in your own products, embedded is not as easy to be pirated as application software. Hardware design is generally customized by other companies (this is called "OEM": OEM), which is a general hardware, and we only need to design software to become our own products.
4) Where the interest lies, which is the main thing.
-
It takes courage to change industries, even if you choose to transfer to your favorite field, take embedded as an example, you will inevitably face economic pressure, competition pressure, learning pressure, etc., which requires great courage. Therefore, I have always admired the students who have learned embedded from scratch, after all, it takes more effort than others to catch up with those students who have a programming foundation in their major. In fact, there are not a few students who learn embedded from scratch.
Today's Beijing computer training mainly talks about the difficulty of zero-based learning embedded, what knowledge needs to be paid attention to when learning embedded, and how long it takes to learn embedded from zero-based learning.
Is it difficult to learn embedded from scratch? How long does it take for a beginner to learn the inlay lift?
First of all, you must stay away from people with negative energy, I once remembered that there was such a sentence "those who are close to ink are black, and those who are close to Zhu are red".
These influences are still very large. If a person whispers in your ear all day long that learning is useless, learning is difficult. Get out of the way immediately. I believe that these are all pit friends, of course, let you not eat, drink, prostitute and gamble, and smoke these are good people!
Secondly, zero-based learning embedded will involve programming, which seems to be a lofty thing, but it is actually a threshold for people who have not been in contact with it.
They always think that how can they understand the skewers of English? In fact, this is a misunderstanding, and it is impossible for people who can program to know all the ** words, but as long as they understand what they mean, many things are fixed. Of course, the better your English, the better it will definitely be for you.
Thirdly, what is the method of learning embedded from scratch?
When it comes to this method, I think the premise is related to learning, such as Moxin Biguo, if you don't learn the best method, it will be in vain. In view of the current situation, there are almost no self-taught embedded people, so following the teacher is to try to follow first, and practice more after class. Take good notes, no matter how good your mind is, you can't put pen to paper.
Day in and day out, I am sure that you will find a job in embedded development.
Finally, I want to say that if you want to improve quickly in the short term, it will take at least 4 months.
-
Learn about the operating system. It is also important to have an understanding of the operating system, such as processes, threads, how the system allocates resources, how it manages hardware, etc., which will help you have a good understanding of hardware and software.
Knowledge of programming under Linux or Wince.
It has a single chip or ARM or MIPS and other related foundations.
Expansion of other knowledge. We can also read some excellent **, understand the source of uboot**, or learn the source of linux** and so on.
Embedded: IEEE (Institute of Electrical and Electronics Engineers) definition of an embedded system:"Apparatus used to control, monitor or assist in the operation of machinery and equipment"。The original text is:
devices used to control,monitor or assist the operation of equipment,machinery or plants)。
An embedded system is a specialized computer system that is part of a device or device. Typically, an embedded system is an embedded processor control board where control programs are stored in a ROM. In fact, all devices with digital interfaces, such as watches, microwave ovens, video recorders, cars, etc., use embedded systems, some of which also contain operating systems, but most embedded systems are implemented by a single program to implement the entire control logic.
Defined in terms of application objects, an embedded system is a combination of software and hardware, and can also cover mechanical and other accessories. The definition of embedded system generally recognized in China is: application-centered, computer technology-based, software and hardware can be tailored, to adapt to the application system for function, reliability, cost, volume, power consumption and other strict requirements of the computer system.
-
For example, you should master C language: the difficulty of the basic part of C language is not great, as long as there is time, it is estimated that normal beginners can master the basic grammar and sentences in 1 or 2 weeks of careful study, and the key to C language is the "data structure", such as: linked lists, graphs, bits, trees, etc., these are the knowledge points with great variability in practical work, but in actual work, according to the type of work, the requirements are not very high.
What foundation should also be mastered: C language (including data structures) and other knowledge accumulation, then you can learn system programming and network programming, which is a more common knowledge point for application program development companies in the future; Then it is to learn assembly language, C++, kernel, embedded system development, etc., of course, the operating platform first needs to be understood, basically the commonly used is the Linux platform, and the familiarity with Linux, also needs time to accumulate, the above knowledge is not a few days, weeks or months can be fully mastered, to learn according to the future work to be engaged in, because every knowledge point can work.
-
It is recommended to learn the basics well, and then participate in the embedded course of Star Maker, you can learn more in-depth development, and more importantly, the project content is more, and the ability to clearly understand the project.
-
Nowadays, embedded is generally programmed in C, so you should learn C first, which has little to do with English.
-
Introduction to Embedded Linux C Language Development and Programming Practice
Let's start with the C language, then talk about the common data structures of Linux, and then talk about the Linux kernel functions commonly used in programming, and then the system tailoring, compilation, porting, bootloader, human-machine interface development, network card driver development, etc.
I'm a junior in college, and I'm studying hard, so I'm encouraging you.
-
Embedded Hardware Design: Executive Summary Embedded computer systems are so relevant to our daily lives that they can be hidden in our mobile**, PDAs, cars, TVs, refrigerators, air conditioners, and many other devices. In fact, embedded systems are one of the fastest-growing parts of the computer industry today.
As the number of devices suitable for embedded computer systems increases, programmers, hobbyists, and engineers of all kinds have a hard time thinking about how to design and build.
-
Let's read the book on the 51 single-chip microcomputer first,C language is good,You also need to understand the audio chip,Like VS1003,There are a lot of sellers of this module online。
-
Embedded Linux Application Development Explained
Hello, Zero-based can learn embedded by themselves.
First sort out the important knowledge points, prepare a notebook and a set of mistakes, the set of mistakes is used to record the questions you have done wrong, and the notebook records some details and points that are easy to ignore. You don't have to do difficult questions, the foundation is fundamental, don't focus on one topic in each exam, relax your mind, don't be in a hurry, in short, be confident and believe that you can. We wish you success in your exam. >>>More
For embedded, C is a tool, just like if you want to be a taxi driver or a bus driver, driving technology is a tool for you. >>>More
If you have zero foundation, it may take 2-3 years to get started, of course, it also depends on self-control and comprehension, and it also depends on how far you want to draw. >>>More
English is not in units of 1,000 hours is difficult to learn well Except for the exam The general direction of the introduction is grammar Pronunciation If you don't have a foundation, you can get started directly in the English bidding book More than 2 hours a day Take words or sentences as a unit Listen to it more than 10 times before imitating The most important thing is to record and compare This is an effective way to get rid of the accent in a non-English native environment It really takes a lot of time in this area Otherwise, you will find that you don't know the English standard when you look up the words later in the meal This will doom you to listen to the original thing will be very difficult After that, take the time to read the grammar club If you have a certain understanding of the composition of English sentences, then you can learn new concepts and so on, and remember that later English words must not be memorized in Chinese, then you will never understand the use of words, and remember not to rush, and after you have spent the first 1,000 hours, you should also have some understanding of English, and finally you have to go back to a grammar book with systematic knowledge points and detailed points, because that is a very effective way for non-natives to understand the meaning of native people.
If you want to learn systematically, you can consider signing up for a live online class, and recommend CGWANG's online class. The teacher speaks carefully, you can watch it back after the class, and there are also the same type of recorded classes that you can learn for free (give away lifelong VIP). >>>More