A job occupies an important position in one's life and plays a decisive role in a person's quality of life. It can be said that work determines one's life. For the choice of work, of course, it is necessary to choose emerging industries and have a promising industry. In the technical field, is it good to choose Java or embedded? Let's take a look at the characteristics, current status and future of Java development and embedded development in the IT technology field.
Java development applications and features
Java is an object-oriented programming language introduced by Sun Microsystems in 1995 for application programming in personal PCs, data centers, game consoles, scientific supercomputers, mobile phones and the Internet. Java software development requires computer software. Basics, database principles, SQLserver, C++ programming, java core programming, linux, websphere development tools, DB2 database, ERWin database modeling, UML, ratioanlrose modeling, OM software development life cycle, J2EEOM enterprise development, MVC-based struts Framework technology, software testing tools and methods, mainly based on PC, linux and other operating system development software, completely do not understand the hardware circuit, mainly to do some interface, QQ, games and other PC applications. Java has been developed in China for more than 10 years. Although it has learned a lot of content, it is easier to get started. The basics of junior high school, high school and secondary school can all learn, but there is a bottleneck in development, that is, there is not much room for improvement, and life cycle comparison Short (about 7 years or so), I feel that there is nothing to do after a few years. There are very few people over the age of 35 who are doing java (application software) development, which is often called "eat youth meal", and The software is updated fast and the work is busy.
Embedded application areas, current status and future trends
With the advancement of science and technology, the emergence of embedded, and people's quality of life, product intelligence, cost requirements, and the state's support for the Internet of Things, electronics, technology, a large number of electronic products have promoted the rapid development of embedded . Use embedded products such as our popular mobile phones, tablets, electronic dictionaries, video phones, digital cameras (DC), digital video cameras (DV), U-Disk, Set Top Box, HDTV, Game consoles, smart toys, switches, routers, numerical control equipment or instruments, automotive electronics, Internet of Things, smart homes, medical instruments, aerospace equipment, etc. are typical embedded applications.
The embedded system market is huge. The market demand is a huge driving force for the industrialization of embedded systems. It is reported that 10%~20% of computer chips are desktop or portable computer designs, and 80%~90% of computer chips are Designed for embedded products, this means that between 1 billion and 2 billion CPUs are manufactured for embedded products each year, and the market determines that the embedded industry is a promising industry.
Embedded work classification:
Embedded product development is based on product features, from functional requirements, proposed and selected solutions, circuit design, PCB circuit board design, software design, prototype production, software and hardware comprehensive debugging, software and hardware combined product development. Therefore, embedded development requires basic requirements that both software and hardware understand. However, depending on the focus of the different embedded product development work can have the following classification:
Hardware:
1, circuit design: product schematic design, the need for logarithmic electrical mode is relatively proficient, and familiar with the use of single-chip, arm architecture and skilled peripheral circuits; basically the circuit design will be PCB design.
2, PCB circuit board design: need to be familiar with the digital power, understand the common mode power, understand the microcontroller, arm peripherals, and have the application experience of safety electromagnetic compatibility.
Software:
1. Drive development: Based on the circuit diagram to realize the driver development of the product, you need to understand the circuit, master the C language, familiar with the use of the arm architecture and peripherals, and be familiar with the operating system kernel and driver.
2, system development: hardware-based uboot porting, kernel porting cutting, root file system production and other system environment construction and driver porting development, application testing, etc., need to be proficient in C language, understand the circuit, linux system development.
3, application development: based on the application development on the operating system, no circuit knowledge, only software programming, need to master Java or C + +, operating system, database, database modeling, SQLserver, oracle, etc., application development updates faster , like software on the computer QQ, 360, games and other software, so the work is also relatively busy, the entry threshold is low, but the upside is not large.
Embedded system development and application development requirements may not be too high, relatively simple to get started, but the system development needs to master the knowledge is relatively wide, there is more room for development, application development updates, development is limited. Driver development requires driver development experience. If you have development experience, it will not be very busy, it is to implement the function. If a product function is implemented, there is not much. The rest is application development, and the driver development update will not be very fast.
Different work in embedded product development has different characteristics. Hardware development relies on experience. The richer the experience, the more delicious it is. It can be said to be able to do it for a lifetime; software development relies on thinking and algorithm. If the programming thinking is clear, the algorithm is superior and does not need to be too It can be done quite well for a long time. If both hardware and software can do it, and independently develop the product, the value will be better.
But for entry-level and even beginners, it's impossible to do everything, you have to do it, you don't have the ability, even if you can do it, the general company will not let you develop embedded products from hardware to software independently, because the company There are time requirements for doing projects, and it is necessary to work together.
Embedded learning plan
Embedded product development requires the combination of software and hardware. Software needs to be able to understand the circuit. The program is written according to the circuit, function and implementation principle. If the circuit does not understand, it cannot be programmed to realize its function. Hardware development also requires the chip architecture. Peripheral programming is familiar, otherwise the hardware you design is not convenient for software developers to program, or the hardware you design is cumbersome and costly.
So how to learn embedded? For those who want to learn embedded, there are many learning experiences of single-chip microcomputers. It feels like self-study, but from the reality, embedded learning is more difficult, many friends encounter The problem can't be solved. If you can't learn a part of it, embedded learning needs its learning method and development plan. Let's talk about embedded learning plan:
1, software development does not require too much experience accumulation, as long as you have done some development, programming thinking, algorithm is good, do not take too long to do well, so you can first do software development, such as system development or application development.
2, familiar with the system, after doing some projects, you can develop towards the underlying driver, this work will not be too busy, the treatment is also quite good, after doing some projects, the circuit is also seen more, the circuit is also familiar It is.
3. After having more experience in the project, the circuit is familiar. After adding some hardware circuit knowledge, it can develop towards hardware design. After the whole product development process is familiar, you can become the supervisor or manager of the project R&D department. If you have a management experience, you can even open your own company as a boss. After all, product development in this area does not require too much investment.
For beginners embedded learning steps:
First lay two foundations:
Circuit basics: Familiar with digital circuits, can understand circuits, can analyze functions, can be programmed according to circuit
C language foundation: the mastery of learning, poor learning, can not understand the system program.
Master the use of the arm architecture and its peripherals, program control, and do the appropriate projects.
Learning system programming and network programming, used in applications.
Linux system learning: uboot porting, kernel porting, cropping, root file system production, driver writing and porting (flowers are more energy to learn, it is the core of the system, also combined with hardware), application programming, user interface, etc.
Do system programming or application programming first. After some experience, you can develop to the underlying driver; after the software project experience is rich, you can develop to the hardware circuit design.
In summary, pure application development (such as Java), the threshold is lower, but the update is too fast, the development space is limited, the life cycle is too short; and embedded development is accumulated by experience, do not have to eat "youth rice."
Aluminum Alloy Die Casting Blank
Aluminum Alloy Die Casting Blank,Pressure Die Cast,Die Casting Products Alloy,Molded Precision Die Parts Cast
Dongguan Metalwork Technology Co., LTD. , https://www.dgdiecastpro.com