What is embedded software development?

What are embedded development and software development?

It's actually quite simple. You knew it once in Baidu. Since you asked, I said, Ha, I also studied embedded development, although I haven't graduated yet.

1. Since there is a single chip microcomputer, there is an embedded system.

2. Embedded system is a combination of software and hardware, including embedded software development and embedded hardware development. Generally speaking, software development, hardware is too difficult (to learn the knowledge of hardware, digital circuits and analog circuits are compulsory, computer architecture. . . ), since it is called embedded, it is not pure software, but also needs some hardware knowledge. I spent most of my time burning and debugging electronic equipment.

3. Embedded system is a system that can be customized by itself (as the name implies, it is a system that can be cut, and it pursues miniaturization, applicability, low cost, low power consumption and expansibility). The kernel of linux (the simplest ucOS-|| |, which is a novice contact) is used by most users. A major feature is special customization, and the kernel is a major difficulty.

4. Applications: mobile phones (like the game development and application development of Android phones now), various handheld terminals, in-vehicle systems, and various electronic devices with programs can only be used at home and used by robots. . . .

What are embedded software and non-embedded software?

Simply put, embedded software is application software or system software based on embedded platform (such as ARM+Linux). Non-embedded software refers to software based on general processor and operating system platform (such as desktop application software).

The difference between embed application software development and embedded system software development

Hello, as far as I am concerned, I am doing both. Application software is mainly PC software or various apps on mobile phones, while embedded system refers to the lower layer, that is, the platform of application software. Let me give you an example. I am a smart card, such as a bus card. The CPU card chip has an operating system (cos), which belongs to embedded system software. When you want to recharge your card, you need to use the recharging software (upper computer) on your computer. This is the application software!

What is embedded software development and how to learn it?

Embedded self-study is very difficult, because embedded systems have a lot to learn. If you don't master the method of learning embedded system, you may get started in 1-2 years. If you master the method of learning embedded system, you can learn embedded system in half a year.

…………………………………………

Look at the question you asked, it should be that you are interested in embedded systems. In fact, you can teach yourself embedded systems. About how to learn embedded system, I just saw a good article, which was a junior college student who introduced how to learn embedded system by himself and found a job in embedded system. Introduced his learning methods and process, hoping to help you.

Let me introduce myself first. In 2007, I was admitted to a poor private college, majoring in biology. I won't say the specific name of the school. Dropped out of school in 2009. I'm in that school, and the annual tuition is more than 1000, but no one studies at all. I really didn't see any hope, so I dropped out of school.

After dropping out of school, I was also confused. I didn't graduate from junior college. I really don't know what I can do. I'm struggling with what I can do. So I want to find a job for a while after dropping out of school, because I am quiet and quiet, so I am not suitable for applying for entrepreneurship. I want to apply for a job as a technician, but I hit a wall everywhere.

By chance, I heard about the embedded industry. I went to Xinhua Bookstore that day and wanted to find a book to learn computer classification. Later, a girl came up to me and asked me if I studied computer and if I was interested in learning embedded system. Then she introduced me to the hot situation of embedded system, told me how promising it is to learn embedded system, and gave me a leaflet and an advertisement for embedded training. After listening to her introduction, I felt itchy. Indeed, I really want to learn my own skills and eat with my own hands.

After returning home, I checked the embedded system online. Now it is really a hot industry, and it is easy to find a job and the salary is relatively high. I made up my mind to learn embedded technology. So I went to find the information of embedded training. To tell you the truth, I was confused at that time, too. I don't know whether the training can really be as good as they advertised, so I just want to know for a while before making plans.

Later, I learned in Baidu that I saw an article encouraging me. It was an embedded expert who introduced how a friend who had no foundation taught himself how to embed. The article is well written, including how to learn and how to learn. He mentioned that one way is to watch videos, because reading books is so boring and confusing that we can't understand many books. I really agree with this. Often a person can't read a few pages.

I wonder why others can teach themselves, so can I! I want to believe in myself, so I want to teach myself. If I really can't learn, I'll go to training again.

If I have a clear idea, I will search embedded video. Although I found some embedded videos sporadically, they were not systematic. I want to find a video that can tell me how to learn, a set of videos from beginners to skilled ones, and a relatively complete material. I'd better have a teacher to teach me, but I can ask if I don't understand.

Later, I found a good video, which is a video "Zero-based Embedded Employment Course" launched on the website of IT Learning Alliance (those who like "Zero-based Embedded Employment Course" can copy and paste the browser address bar in sina.lt/qKh and press enter to open it). The tutorial inside is very good and complete, which allows me to learn from the basics. Video is cheaper.

Let me introduce my learning process, hoping to help my friends who have no foundation at all like me.

After receiving the CD they sent me, I began to study. Because there is no foundation, I start with the simplest C language video course. In short, there are still many things I don't understand, so I have to ask them. They were still very enthusiastic and helped me solve it. I studied C language for almost a week, and then I learned the basic commands of linux. I practiced on the linux virtual machine provided by them, typed the basic commands of linux, and wrote simple C language code for almost three weeks. I insist on writing some simple codes every day, so I basically mastered the basic operations of C and linux after January.

Next, I went to learn other people's video training courses, which are very complete and not much different from attending training. In these two months, I studied the basic principle of ARM and the concept of embedded system. ......

Is there a difference between embedded software development and software development?

Different from operating system, embedded software development is a kind of software development.

Embedded software development is mainly aimed at the software development of CPU with limited computing power. For example, the clock frequency of Intel's CPU chip can reach 1G HZ. Although Intel's CPU is powerful, it is not suitable for some occasions. At this time, it is necessary to use some special CPUs with small size, low power consumption and limited computing power, such as CPU processors for mobile phones. The operating system running on this CPU is an embedded operating system, which occupies relatively few hardware resources, but the execution scheduling efficiency is relatively high.

A computer embedded in a host device and intelligently completing the functions of the host device is an embedded computer, or simply an embedded computer. The composition of embedded computer: it can be a single-chip microcomputer (MC-micro-controller), which is used to be called single-chip microcomputer in China; It can also be composed of a microprocessor (MP- microprocessor) plus a memory and external devices; On the basis of MC/MP, the core components of digital signal processor (DSP) can be added to form multi-core MP/MC.

The main feature of the new generation of embedded computers is to inherit the technological achievements of the whole PC period, especially the global Web technology (products include handheld PDA devices that can access the World Wide Web, etc.). ) and multimedia technology (products include high-quality digital audio, digital video disc players, digital cameras, digital video cameras and so on. ) After entering the 1990s. The goal of this embedded system is to disassemble the mature technology on the desktop PC and put it into handheld devices or mobile devices for users to consume anytime and anywhere. Many effective communication protocols in the global network, such as MP3, JPEG, MPEG and other standard data formats and various library functions all use 32-bit formats and 32-bit programming software, so embedded systems are destined to use 32-bit microprocessors.

In order to meet the needs of the development of the situation, embedded operating systems for 32-bit handheld devices came into being, such as Windows CE, Epoch and Palm OS. It can be seen that the level of embedded system is already very high.

The new generation of embedded system is mainly for handheld or mobile consumer devices, and the low battery power and price are important considerations, which fundamentally determines that the original microprocessor used in PC cannot be copied. The following first introduces the technical progress of embedded 32-bit microprocessor, and then gives some examples of new embedded microprocessors, so that readers can have a clearer understanding of the new generation of embedded.

As can be seen from the above, MP used in embedded systems is mostly 32-bit RISC DSP dual-core or RISC/DSP single-core structure. In the past, famous RISC vendors played a cornerstone role. Many emerging embedded manufacturers buy their RISC patents and transplant them to their own DSP cores. Some famous CISC microprocessor manufacturers are unwilling to lose the embedded market, and they are also moving closer to RISC and DSP.

Since 198 1 year, Ready System has developed 1 commercial embedded real-time kernel (VRTX32) all over the world, with a history of nearly 20 years. The products of the 1980s only supported some 16-bit microprocessors, such as 68K and 8086. At this time, RTOS only has a kernel, mainly selling binary code. At that time, besides VRTX, there were MTOS of IPI company and PSOS of ISI company in the late 1980s. Products are mainly used in military and telecommunications equipment. In the 1990s, modern operating system design ideas, such as microkernel design technology and modular design ideas, began to penetrate into the RTOS field. Old RTOS vendors such as Ready System( 1995 merged with Micrographics Research) also launched a new generation of VRTXsa real-time kernel, and Windriver, a new generation RTOS vendor, launched Vxwork. In addition, during this period, companies are trying to get rid of the restriction of completely relying on third-party tools, and form a complete development environment of 1 by purchasing, authorizing or using free tool chains themselves. For example, Pri *** t of ISI, the famous Windriver and the old-school Spectra(VRTX development system) and so on.

Input 2 ......

What should we learn in embedded software development?

If you want to develop in the direction of embedded software, the most common direction is embedded Linux+ARM. I think this direction can be divided into three stages:

1, embedded linux upper application, including GUI development of QT.

2. The development of embedded linux system.

3. Embedded linux driver development At present, the main operating systems for embedded systems are LINUX, WINCE, VxWorks, etc.

Linux is open source and free, and the source code is open, which is more suitable for us to learn embedded systems. So if you teach yourself, you can try the following route:

(1) C language is the strongest of all programming languages, and the programming of single chip microcomputer, DSP and various chips similar to ARM can be completed in C language), so you must master it very skillfully.

Recommended books: Tan Haoqiang's is very good. The classic textbook C Programming Language was written by foreigners and also translated into Chinese.

(2) The principle of operating system is necessary. It doesn't matter if you graduated from computer science. If you are not a computer major, you must find a relatively simple book on computer principles, and explain the basic issues such as "process", "thread" and "system scheduling" clearly.

(3) Linux operating system is written in C language, so you should also learn Linux programming first. Only when you can apply it can you have a deeper understanding of the essence of its kernel.

Recommended books: advanced programming in UNIX environment (second edition)

(4) Understand the architecture, principle and assembly instructions of arm. In embedded development, we seldom write assembly, but the minimum requirement is to be able to understand ARM assembly.

(5) When porting the system, you need to start with the lowest bootloader, and then port the kernel and file system. However, this part of the migration relies heavily on hardware, and the configuration steps are complicated, so there is not much detailed information.

(6) Promote development

Linux driver design is not only a challenging field, but also a profound content.

The essence of linux driver design belongs to the category of linux kernel programming, so there are requirements for linux kernel and kernel programming. Before studying, you should know the composition of the linux kernel, because each part can be expanded into a thick book if it is studied in detail. The above is just a general framework, and many things will be involved in the actual development, such as cross-compilation, makefile, shell scripts and so on. Therefore, it takes a long period to learn embedded systems, and the threshold is high. Self-study requires strong learning ability and professional skills. As long as you can persist, you will succeed! It is recommended to go to the website of Huaqing Vision to learn about the embedded curriculum system and learning methods. There are many materials and video tutorials to download.

Is it better to develop embedded software or hardware?

The hardware is rigid and fixed, but the software design, especially the system architecture, is very operable.

Human brain power. Julian technology has always believed that making software can better reflect the value of the human brain.

However, it may be the best strategy for work, especially for the development of embedded systems.

It is to adhere to the "completely fair scheduling (C)" used in multi-task scheduling in linux kernel.

FS) "Philosophy. Any process, as long as it needs cpu most, or has got cpu time.

Compared with other processes, the scheduler gives priority to scheduling cpu to him.

The same is true of learning software and hardware. When and where do you need to spend more time?

Or you are not good at anything, then stick to it. So,

In the end, you will find that you have become an expert in embedded and even computer systems.

What are embedded development and software development?

Embedded development is closely related to hardware, mainly writing programs to operate hardware, such as mobile phones, printers, electronic display screens and so on.

Software development is mainly about writing programs and operating computers.

The difference between embedded system development and software development

Embedded system development is a kind of software development. Embedded system development is to develop operating system on all electronic devices except computers. The development targets are mobile phones, palmtop computers, electromechanical systems, etc.

Embedded system is application-centered, based on computer technology, and its software and hardware can be tailored, which is suitable for special computer systems with strict requirements on function, reliability, cost, volume and power consumption. It generally consists of four parts: embedded microprocessor, peripheral hardware devices, embedded operating system and user applications, which are used to control, monitor or manage other devices.

Embedded system generally refers to non-PC system, including hardware and software. Hardware includes processor/microprocessor, memory and peripheral devices, I/O port, graphics controller, etc. The software part includes operating system software (OS) (requiring real-time multitasking) and application design. Sometimes designers combine the two kinds of software. The application program controls the operation and behavior of the system; The operating system controls the interaction between applications and hardware.

Embedded systems are difficult. How to learn embedded system? I just read a very good article. It was a junior college student who introduced how to teach embedded system by himself and found a job in embedded system. This paper introduces his learning method and process. I hope it helps you.

==========================================

Let me introduce myself first. In 2007, I was admitted to a poor private college, majoring in biology. I won't say the specific name of the school. Dropped out of school in 2009. I'm in that school, and the annual tuition is more than 1000, but no one studies at all. I really didn't see any hope, so I dropped out of school.

After dropping out of school, I was also confused. I didn't graduate from junior college. I really don't know what I can do. I'm struggling with what I can do. So I want to find a job for a while after dropping out of school, because I am quiet and quiet, so I am not suitable for applying for entrepreneurship. I want to apply for a job as a technician, but I hit a wall everywhere.

By chance, I heard about the embedded industry. I went to Xinhua Bookstore that day and wanted to find a book to learn computer classification. Later, a girl came up to me and asked me if I studied computer and if I was interested in learning embedded system. Then she introduced me to the hot situation of embedded system, told me how promising it is to learn embedded system, and gave me a leaflet and an advertisement for embedded training. After listening to her introduction, I felt itchy. Indeed, I really want to learn my own skills and eat with my own hands.

After returning home, I checked the embedded system online. Now it is really a hot industry, and it is easy to find a job and the salary is relatively high. I made up my mind to learn embedded technology. So I went to find the information of embedded training. To tell you the truth, I was confused at that time, too. I don't know whether the training can really be as good as they advertised, so I just want to know for a while before making plans.

Later, I learned in Baidu that I saw an article encouraging me. It was an embedded expert who introduced how a friend who had no foundation taught himself how to embed. The article is well written, including how to learn and how to learn. He mentioned that one way is to watch videos, because reading books is so boring and confusing that we can't understand many books. I really agree with this. Often a person can't read a few pages.

I wonder why others can teach themselves, so can I! I want to believe in myself, so I want to teach myself. If I really can't learn, I'll go to training again.

If I have a clear idea, I will search embedded video. Although I found some embedded videos sporadically, they were not systematic. I want to find a video that can tell me how to learn, a set of videos from beginners to skilled ones, and a relatively complete material. I'd better have a teacher to teach me, but I can ask if I don't understand.

Later, I found a good video, which is a video "Zero-based Embedded Employment Course" launched on the website of IT Learning Alliance (those who like "Zero-based Embedded Employment Course" can copy and paste the browser address bar in sina.lt/qKh and press enter to open it). The tutorial inside is very good and complete, which allows me to learn from the basics. Video is cheaper.

Let me introduce my learning process, hoping to help my friends who have no foundation at all like me.

After receiving the CD from them, ......

What is the difference between embedded software development and software development?

1. Embedded software development refers to programming single chip microcomputer, ARM and FPGA. There is no window or linux operating system, even if there is, it is a relatively simple operating system, such as ucos. In a word, embedded software development is closely related to hardware, so it is generally necessary to write hardware drivers.

2. Software development generally refers to writing application programs on the circuit board with window or linux installed. Software development does not directly write the hardware driver, because the driver has been implemented as a system. Software development focuses on the realization of logical functions, such as taking pictures, just calling the camera driver.