Seven years of it struggle documentary and insights

Source: Internet
Author: User
This is an article that has been widely circulated on the Internet. Maybe we do not agree with some of the ideas in this article, and some practices are not worth following, however, the spirit of hard work is indeed worth learning, so I will repost it as follows.

I have been writing a real-time operating system kernel over the past few days. I will make it public later, hoping to do my part for the development of domestic it. Recently, I have seen many students and friends working with me.
There is no direction in the same year, so I wrote my experiences and shared it with everyone. I hope I can help my friends who just like me a little bit.
In a twinkling of an eye, I have been studying and working in the IT industry for more than seven years. During this period, I used Web pages, MIS, databases, applications, communication software, hardware drivers, and protocol stacks, operating system kernel and
IC-related development, which has taken a lot of detours and suffered a lot.

I am on a three-stream College, and most people in the same city do not know. No, because the school is not good.
I hope that I can find a good job based on my school reputation. All my hopes are pinned on my own efforts. I started my study during my New Year's holiday. I remember the first book I bought was "Computer Basics dos3.0".
Don't be scared. In fact, we already popularized dos6.22, but I saw the books of dos4.0, 5.0, and 6.0 in the bookstore. I thought they were the fourth, fifth, and sixth books like English, remember that
Looking for dos1.0 everywhere, now I think I did not find it. :) before I started school, I completed Pascal. At that time, no computer or anyone could ask for advice. I didn't even have the idea of a program,
I had to memorize the code and write it on paper. I had a 486 instance until I was a sophomore. Before that, I couldn't remember how many programs I wrote with paper, I only know that the longest draft I wrote was 30 in A4 size.
Multi-page, my C language, C ++, and VC are all getting started under such conditions. Therefore, the conditions can be overcome. I hope that my experience will give the students with hard work a little confidence.

 
My first computer was in my brother-in-law's machine room. I was so excited that I could never miss it. They used win3.1 in English, I have seen all my dos knowledge.
I was so anxious that I thought the machine was broken when I accidentally turned the word into a full screen. The first C language program is the classic
Helloworld, I have been calling for a few weeks, and there are very few opportunities on the computer, and no books tell me that the development environment (tc2.0) needs to be set up. At first, I didn't even know that there was a compiler.
The extended program name changed from .cto .exe. I finished C and x86 compilation, data structure, and C ++ in my freshman year. Because I spent all my energy on self-study, I got stuck in the first class and next class.
The school is so good that it can still graduate after 10 or 20 courses. However, as far away as you can say, I am so hard at all. It can be seen how rigid computer education is in our country.

Sophomore preparation for learning VC
And BC, it was difficult to choose at that time, and later chose VC, not for anything else, only for the two books in the bookstore, VC
That is 6 yuan cheaper. My efforts are unmatched in my class. I learned day and night, especially when I had a computer,
Many times my father taught me in the middle of the night to say that I am not dead. I have always felt that my foundation is poor, my memory is not good, and my conditions are not good.
So I think it is only a little more time to catch up with others. Many of my friends later said that I have the talent to learn computer,
Make me laugh and cry. I used 486, 16 M memory, and 1g hard disk. At that time, the configurations of the students were all p166mmx. I installed a Windows
NT4.0 needs an all-night program. It takes nearly two hours to compile a program generated by the bc5.0 wizard. My monitor is a second-hand program. The radiation is very high, and the boot screen Sparks. It looks cool :), there is one
The program has been written for too long. I thought that the background of the white editor had changed to purple. I thought that the monitor was broken and later I found that my eyes could not work, but it was strange to say that, today, my eyesight is still 1.5.
Trace. However, the broken machine has been with me for two years and I have learned VC, Delphi, and sqlserver. Later, the machine typed for my aunt. According to her, she was playing happily one day.
Smoke was drilled out of the monitor with a flame in it before it went to life.

I got a chance to practice in a computer research institute during my junior year holiday. I am not so much a volunteer as I do. I have worked in two projects.
You did not get a penny in the month. However, these two months have helped me a lot in my development, and I learned more about society. When I first went there, I certainly knew nothing about it. Where I got familiar with the network, I learned Delphi and
Oracle. Because the work is very serious,
I got a good review. I started to work with an elders on projects, which gave me my income when I was a junior or senior, senior two hired two MIS companies to work part-time. Although there is not much money
I was quite satisfied with more than 1000 of my students, and I finally used my money to change my computer. When I started looking for a job in my senior year, I had a lot of work experience.
I started to hear my parents want to go to the Research Institute. I had an internship with that Department and hoped that I could go, but I don't know why I ended up with it. This kind of organization is quite bureaucratic.
In one breath, I got to work as a team leader for MIS in a part-time company. I have done various MIS jobs from my junior year to one year of graduation, from gas, tobacco factory, public security, railway, food to high
It's hard to do anything with money.
We often work overtime and stay up all night, from talking with customers about requirements to designing, coding, testing, and delivery. At that time, I felt very fulfilled and I felt pretty good. Now I think it's really superficial.

Gang
It is easy to mislead students who take up their jobs, and various development tools are dazzled.
Companies are very important, but such work will always be a low-level developer. Don't tell me how important and difficult a system analysis is. You think that designing your own demands is system analysis and design.
How many companies in China can do well? I am an ISO9000 internal auditor and have been trained for many times in rational. I have obtained four certificates and another company asked me to do this.
CMM. I have heard many of these things, but many things have changed in China. A company can be standardized without Passing ISO9000 or CMM. Now I am working in a foreign company with decades of history,
The management in it is not comparable to that in Chinese enterprises. As a student who has not entered the society before graduation, it is almost impossible to grasp the system analysis and design in a short time. object-oriented and UML are just a job
The key is people's thoughts. It doesn't mean that you can make good designs if you are familiar with C ++ and Rose. On the contrary, if you have a high quality, you can use C to write more modular processes than others use C ++.
.

There is a strange circle in the software development industry in China. Many people think that VC> Delphi>
VB is really funny. I have developed these software. To put it bluntly, they are all tools. You should choose which one to use based on the application's needs, rather than the upper layer. If you use a development tool
If you choose "face", it means you are very simple. If there are layers, these tools are not hierarchical, because they are used as system APIs, and Microsoft's friends won't remember how many of them
The API or several classes will think you are amazing. You will always be their customers, and they value the money in your pockets. I have also worked on the system kernel, and I have encapsulated many APIs, so I will not pay attention to them.
Customers who use these APIs for secondary development, unless they can make their own unique designs.

Some people think that C ++>
C makes people laugh at it. You may as well inquire about it. Now, several operating system kernels are written in C ++, and several real-time systems use C ++, of course, I am not saying that C ++ is not good, but the current
C ++ cannot match C in the kernel and real-time system. c ++ is suitable for application system development. So my point is not what tools and languages you use, but what do you do?
. Your design reflects your technical level.

After doing this for a year, I felt very depressed. Most of my work was done by skilled workers, and I could not see much improvement in my personal technology. Therefore, I decided to leave the city to go to Shanghai for better development, and planned to give up my previous MIS transfer to the communication industry.

 
I can't help but mention my girlfriend. We met her half a year before coming to Shanghai. she was an intern in our company when she was a senior. The company sent her to write documents for me, and our feelings grew fast. She told me a lot of things.
This was the first outbreak of Reform and Opening up. Her mother loves to play cards, lost millions, and owed a lot of debt. She has a boyfriend, but she has no feelings for him, only because he gave her mother more than 20 thousand yuan, and then forced her
I wrote a loan of 40 thousand RMB. Her boyfriend betrayed her and beat her more than once. Now she is forced to get married or she will pay back the money. This person is still a college teacher! Her mother paid her father's tuition because she was in arrears.
She cannot get a diploma for tuition. Her mother was ill and needed money now. I took out some of my savings and received some money from my friends. I paid her tuition and prescribed a doctor for her mother (later I knew the money for seeing a doctor was unknown.
I don't even know if her mother is ill, but she can't ). At this time, my family knew something and resolutely opposed me to be with her. Her old boyfriend also tried to destroy me. In desperation, I
We decided to leave this sad city early and stay away from our house. Due to the rush of time, I only prepared 4000 yuan, and her only a few hundred yuan was required by her mother. I bought three tickets, one at noon.
The two are for the night. At noon, my family sent me to the ship and they got off the ship as soon as they left, she and I took the night boat and left the city where I lived with her for many years. All they took was debt.

 
We have never been to Shanghai and are reluctant to bother our classmates and friends. It was half past six in the evening when we arrived in Shanghai. We didn't know where to go. We found a hotel with 20 yuan worth of money. The room was connected to a window.
None of them. The weather in February was so cool that the room was very sultry. The next day, we started to rent a house. Because we didn't have much money, we basically walked. It took us a week and I don't know how many laps we had in Pudong.
I found a 400-piece house, but we didn't know that Shanghai was a three-pronged solution, and I had to pay an intermediary fee for half a month. After I bought some pots and pans, we only have 800 yuan, and we don't even have a job.
The 800 yuan will support us to get the first monthly salary. To save money, we only spend two yuan a day to buy food, she is very fond of eating (or her willingness to go hungry often in College ).
This saves me a lot of trouble. Her old boyfriend did not let her go, often called to harass her, and came to Shanghai to see her, but also said a lot of threatening her, she was too kind, said he had helped after all
She told me not to be familiar with him.

In the future, I will wait for an interview every day at home. I originally wanted to quickly find a mis company to solve the problem, but she insisted that I should not give up.
My own ideals finally worked hard. I found a communication company. Even though the price of RMB 4000 could not catch up with the price offered by MIS, it was enough to survive in Shanghai. She also found a job, first
She cried when she went to work. This was the first time she came to Shanghai to shed tears.

As a brand-new industry, I reduced myself to zero. I learned VC, Delphi,
Databases are useless,
I am facing the knowledge of embedded systems, protocols, and signaling systems that I have never touched before. I knew that I had not left, so I tried my best to study hard. I considered myself a fresh graduate, and I tried my best to earn a reward for half a year.
In the past, I finally got familiar with my work and was recognized by the company. I also got a higher salary. In the days that followed, we spent less than 10 thousand yuan on our friends and finally got on track. At this time, my girlfriend told me
I want to take a postgraduate student, and I am also very supportive, so she resigned at home to prepare for the exam.

In addition, I would like to thank my projectmanager for being a big communication company.
Product Manager,
I learned a lot from him and gave me a lot of selfless help. At work, he gives me plenty of space and trust. Remember that the company has arranged for me to maintain an Access Server software,
Because the amount of code is not too small (50 thousand lines), and the materials and documents are not complete, I am very difficult to maintain, so I want to re-do it,
The company's leaders are not very supportive, and may feel that the workload is too heavy, but he strongly supports me. In private, he asked me to let it go,
My maintenance work is busy. With his support, I spent half a year completing the software for accessing the server and implementing a relatively complete TCP/IP protocol stack. Here I learned about Embedded Systems
With the knowledge of design, driver development, TCP/IP and a lot of communication, I finally moved myself from MIS development to the communication industry for a year and gained a firm foothold. I develop a lot of direct operations on hardware.
I am no longer constrained by Microsoft's operating systems, development tools such as Vc and delhpi. I finally see another blank space.

I like to follow the root of the problem.
Software development and hardware are getting closer and closer.
Lack of knowledge creates obstacles to my development, and chip technology is basically in the hands of foreign companies. This is a huge constraint on system-level design. A new product is coming out, the first profit (also often
The most lucrative) is often earned by IC companies such as Intel and Motorola, and domestic manufacturers can only have a try. Therefore, I am determined to solve my hardware technical barriers and intend to leave the communication industry,
Enter the relevant fields of icdesign.

Of course, I understand that if I do not know much about hardware, no IC company will be kind enough to hire someone like me for training. So I must
Work hard to lay a good foundation and learn some relevant knowledge to prepare for the future. Just as I started to switch from MIS to communication, I have read a lot of books on communication, and I have done a radius billing sorter for an ISP.
In this context, the communication company gave me this opportunity. My communication company is engaged in system design and has many PCB
Layout hardware staff, I usually pay attention to learning from them. Because I am working on software, I am embarrassed to read hardware materials from the company, so I had to watch the hardware materials at home, I have been working overtime for a year since I first came to Shanghai.
I want to squeeze out time to study. I usually go to bed around half past five. I started to work earlier from the next day. If there are not many people on the subway, I can also read books. Of course, it won't be smooth sailing, but it's a bit practical.
When I don't understand the problem, I am able to accumulate and ask the hardware staff. Their help makes my learning progress much faster, because I learned it by myself when no one calls me, I spent half of my time solving problems, but these problems often occur.
I am glad that I have such a learning environment.

In the next year, I learned how to view the hardware schematic, and how to design simple hardware.
(There is still a small gap in analog circuits). This is the case. When you prepare software, others will always think that you are a software developer, when you start to learn hardware, others may not agree that there is a ZTE
They also told me that a person cannot finish learning everything. I also understand this, but I hope I can do better. However, when you are familiar with hardware, you may feel that you are familiar with both hardware and software.
We are also used to it. At this time, I can take the hardware materials to the company, and no one will be surprised.
I am proud that I have made an IAD (Softswitch terminal device) system solution through my own efforts, including the selection and design of software and hardware, this solution has been recognized by the company and colleagues, and has made me
I am very pleased.
Technologies complement each other. When my hardware has been improved, my software design has also been greatly improved.
I can understand the problem from a deeper level. The CPU used for accessing the server is Motorola powerpc860, and all familiar friends know that the CPU usage is 860.
The batch data transmission of QMC and software usually adopts the BD table method. When hardware personnel are driving, they are used to using a fixed BD table, each received or sent data is copied from the BD table to the user buffer,
Or copy data from the user buffer to the BD table. Due to the deep understanding, I implemented this process again. The dynamic BD table method is used to drive data receiving from a network port, submit the software to me
Layer-3 switching is not performed until it is sent from another interface. This design greatly improves the performance and makes the system indicators close to the theoretical value.

The combination of software and hardware enables my settings
The calculation level has taken a step. I am writing this operating system. After compilation, I decompile the program into an assembly, find out the unoptimized code, and then adjust it in the C program. For example, many CPUs are not dedicated
We should all know that a multiplication operation on this CPU usually takes a lot of instruction cycles,
Some may say this. I know that I will try to avoid using the X number, but it is often not that simple. Do you know how to implement the array subscript operation in C? Take a closer look at the disassembly code.
In addition, the C compiler may sometimes generate a displacement command through the location operation of the lower mark, but sometimes it is implemented by multiplication. The efficiency of the two is often different from that of the other, so you can understand these problems to improve the system performance.
To the extreme .?
I will not talk much about these questions. If you are interested, you can discuss them later.

In other words, I sincerely hope that my friends who are more deeply engaged in software will have the opportunity to learn.
Learn hardware and others
Related Knowledge, especially for underlying development and embedded design. This is of great help to the improvement of software technology. Otherwise, you only know many things but do not understand why. My point is
IC company project
The manager is also verified. He told us that the software manager of the company's 802.11-chip product was originally designed for the chip hardware. A certain person was originally made for the software and is now working on the IC,
There are many other similar examples, but they are not very popular in China.

I have some experiences to share with you. Only after I do my job well will I study and work well.
Not a big technology, so that the company's boss will not be disgusted, In the entry stage of the question I usually do not ask those senior people
But ask some friends with relatively low qualifications, such as students who have just graduated, because they will often give you a detailed explanation, and senior people usually think that your question is too simple, so the answer is also very simple, and I am not good
Ask more. After a certain level of technology, I will ask them, and they can give you a deeper answer. In addition, some friends say that I have a better chance. They also hope to have a new job. Unfortunately, I have no chance.
After hearing this, I only had a wry smile. All the people I got to know should know that I was not born in any it family. No one promoted me along the way. All the ways were made by myself, my mother died earlier. My stepmother
(I called her aunt) She looked at my efforts and once she saw that I was still writing a program in the last 30 years, she said that I could learn from hard work like I did.

My ultimate goal is IC instead
PCB, so my next step is to learn about icdesign. My colleagues in the company did not understand the icdesign, and they had to rely on their own. I bought a lot of related books and checked a lot of information on the Internet,
I spent a lot of time learning VHDL and used software for some simple design and simulation (no ASIC design, just for FPGA). As I learned deeply, I gradually understood the IC design.
And understand the hardships of this road. At this time, I have prepared for Job hopping. I submitted my resume to an industry-renowned icdesign company and passed a long interview (more than four
Hours ). I am satisfied with everything else, but my salary is not satisfactory. I also understand the reason because I am a newcomer to this industry and I have no experience. I once again cleared myself. My boss asked me more than 6000
Can I accept it for a month? I know that he does what he does. Think about my friends in the communication industry, basically all of them have an annual salary of more than 0.1 million yuan, and the monthly salary of over yuan is also everywhere. My friends also helped me introduce a lot of good treatment.
Company, how should I choose? At that time, I was hesitant. I love my career, and I yearn for my pursuit,
But I am also an ordinary person. I also need to support my family. I also want to buy a house and buy a car earlier. Life creates a problem for me.

At the age of 63, Einstein said, "a person is not
He will never achieve the greatest scientific achievement before the age ." This sentence gave me a lot of pressure and vibration. I am 26 years old and only four years away from 30. I must pay close attention to the precious time of these years,
Strive to reach the highest technical peak. For this ideal, in order to be closer to my dream, I chose this IC company. I understand that my salary is almost the same as that of my master's students who just entered the company,
But for the future development, we can only endure it, and everything has to begin again. Changing the industry is a very painful process, especially switching from a proud position to a strange position. It feels like a jump from a warm quilt.
Ice water is unacceptable. In the original communication company, I was the only employee who had raised his salary five times in two years. Both the company and my colleagues gave me great recognition and I was often held responsible for my work. But now this
I have become a new employee in the new company. No one knows or cares about my past achievements. I decided to start over again. I saw myself as a new graduate student. I had to use my own efforts to get my company's
Yes. It is very painful to enter a new industry. I told myself that I must endure all this. Although there are many temptations outside, I cannot give up without making a choice.

Me now
I have been working in this new company for more than a month. It started to be very difficult and now I have gradually adapted to it. At the end of the first month, the team
Leader talked to me and said that I am one of the best new employees and I am very pleased. This is definitely an affirmation of my efforts. I would like to thank my girlfriend for her great support and encouragement.
Dance,
Every time I shake her, she encouraged me to stick to my own ideals. When I first came to Shanghai, she told me not to barely do MIS, this time, she forced me to withstand the temptation of a monthly salary of over. Without her, I may not
Day score.
The current company has its own operating system, its own CPU, DSP and other chips. Here I can learn the most advanced technology in the world, our design and development are no longer completely dependent on other people's hardware and systems, which makes me
Very happy. After my work is on the right track, I plan to learn new knowledge and realize my ideal.

In the next two years, I have set several goals for myself:

I. Strive to do my job well and get the approval of the company and colleagues in terms of work;

2. Learn IC hardware design knowledge, consult with colleagues, and use all opportunities to practice more;

3. Implement the main part of my real-time operating system, complete the TCP/IP protocol stack module, and release the source code for free;

4. Marry my girlfriend and buy a small house. This is the most important thing, because I understand that my career can come back, but the precious feelings are hard to be recovered.

The operating system I have developed is a real-time embedded system that currently supports the following features:

A. Supports time slice rotation scheduling and priority-based scheduling, with a maximum of 64 priorities;

B. preemptible real-time kernel;

C. For ease of transplantation, the subject is implemented using standard C;

D. Very few Assembly codes, less than 100 lines;

E. Supports task management. Each task has an independent stack;

F. Currently, semaphore has been completed for Process Synchronization and communication, and message queue is being debugged;

G. Scheduled system call is implemented;

H. It can be simulated and debugged on Windows.

I plan to implement priority inversion protection, event flag, data pipe, memory management (previously implemented), and driver interfaces. After that, I will try my best to improve it, such as joining file systems, protocol stacks, and debugging interfaces. I hope my friends can give me their comments and suggestions. I am very grateful!
Postscript:

 
As some friends have said, my experience may mislead some friends. Here I must explain it.
I used to study too hard before I came to Shanghai. I often only slept for more than three hours at night. I was 1-meter tall and 71, at that time I only had 108 (I am more than 130 ), my family also said that I was so hard to survive 60 years old, but at that time
I am so stubborn. I told them that as long as they can live for 50 years, I will be enough. At that time, my body was affected by my desperate efforts. One morning, my waist muscles suddenly suffered a severe pain and I fell into bed and couldn't stand up. Although
I have been paying attention to it, but sometimes it will be painful. Later, my girlfriend convinced me that I would not do this again after I came to Shanghai. I often quote my father's saying "the body is the capital of the revolution ".

 
I also found that it was not a solution. I could stay up one or two nights, and I worked three days and three nights in a row at most,
But I haven't recovered for half a month. Is this not worth the candle? Learning should be a long-term process,
Like a marathon instead of a hundred meters sprint. I pay great attention to adjusting the intensity of my study and work. I want to ensure that I have as much energy as possible every day. Some young friends feel that they should also work hard.
Some worries. I will be very happy if my story can make you more interested in study and work, but if it misleads some friends and lets you do some unworthwhile work, I will feel very guilty.

 
There is no distinction in technology. I used to change the industry because of my own interests, rather than prejudice against any industry. I hope that my experience will not give a wrong guidance to my friends. I feel that I have always been more advanced.
Development. In fact, it is very difficult for all walks of life to be top-notch. Even though the technology is not cheap, the threshold is high and low,
In any case, the threshold for IC creation is higher than that for Web pages, which is undeniable. All kinds of talents in the country are needed, but as an individual, the idea of hard work should still exist, and efforts should be made in the industry they like.
Better, instead of staying at a superficial level.

I am a person who thinks I have self-knowledge. Maybe my biggest advantage is that I have many shortcomings.
:). In my story, many twists and turns and errors are caused by my shortcomings. I hope that you will take a careful look at my experiences and not be confused by my "rhetoric. I want to learn whatever I want.
It has brought endless troubles and greatly hindered my development. I remember that when I was a child, my grades were excellent, but I learned a lot from off-the-subject. As a result, my secondary school scores declined and I did not take any good school. When I was a child
A friend, at that time, scored similar to me, but did not have this shortcoming. She went to Tsinghua and went to the United States for further study. She studied theoretical science under a famous mentor, this is not a better way out.

 
In addition, my learning methods are constantly improving.
Learning is too time-intensive, so learning is both bitter and inefficient. Now I pay great attention to the efficiency and skills of learning. This is the shortcut to learning (not opportunistic, of course ), for example, a relatively unfamiliar student
If you have the necessary skills, you can ask experienced people. You don't need to ask a lot. Often, they may give you a lot of help in a few casual words, even more than a week of books. Study again with this idea
You will save a lot of time. Why? I have learned a lot of things over the years. I started to learn things very blindly, so they are disorganized. Now I think back to it, and I am so confused that I have wasted a lot of time.
In terms of some knowledge that is not necessary for further understanding, after all, a person's energy is limited. Many of my friends, like me, have a five-stroke font style. It is indeed a good input method, but it is definitely not worth a developer.
You have to carry it back. Your time should be spent in valuable places. I have done a lot of such things. I have backed the CCED and WPS commands and shortcuts, and I spent a lot of time after DBASE basically exited the historical stage.
Time to learn how to use it. Therefore, my study lacks planning in the early stage, and there is no clear short-term goal or medium-term goal. There is only one ethereal long-term ideal. This is like designing. A good design is to extract from the demand.
As there are many processes in the code, you can start coding immediately if you cannot get the requirement.

Of course, I have learned more or less about my work over the past few years.
Yes, this
Some methods may not be correct, and I am constantly exploring and improving them. I have a relatively clear goal in my study and work. I will not learn a certain technology right away. I will consider a lot before the decision, including long-term development.
Exhibition, personal route planning, price to be paid, possible difficulties and solutions, etc. After the decision, a clearer plan will be formulated, including short-term, medium-term, and long-term resources that can be used nearby
(Including good books, materials, software and hardware environments, as well as experienced friends or teachers), and how to transition to the first stage of each stage, this is often the opposite of a learning phase when it comes on the road.
Smooth, but it is usually difficult to cross-stage, for example, from basic knowledge learning to practice. In addition, I have my own methods to buy books. Currently, there are far fewer high-quality books than low-quality books in the world.
I will make a wrong choice when I buy a book for the first time. Even if I buy a good book, its direction may not be suitable for you. So I usually first look for some introductions to this technology on the Internet, with a little concept, I can buy another book that is relatively thin,
This is a relatively cheap book with relatively extensive content. It is the best book written by Chinese authors :)
After browsing it again, I will basically understand the key points of this technology, and I will be more clear about buying books and making plans later. Otherwise, it is often difficult to find a good book at the beginning, and you can study hard after buying it. Sometimes
I learned only half of it to find that it is a low-quality book or a relatively outdated technology, which is very annoying. In addition, it is usually a good choice to let experienced people introduce you.

Some friends want to learn
Communication and embedded development, but I always feel that I do not have a hardware or software environment.
Let's introduce how to establish such an environment. Of course, I only know how to study and work. Communication I am working on the data network, including TCP/IP, layer-2 switching, access network,
H.323 and SoftSwitch are also known. These software and hardware environments can be built on PCs. You can even create a vro, access server,
The Simulation Network Environment of VoIP gateway, network guard, host, and so on is quite similar to the actual network. Of course, you need to have a clear network concept and a certain degree of network knowledge, I 've been trying to develop a set of software
The process is simplified. Now the experiment has been completed, and I may integrate it into my operating system peripheral extension software. I cannot use simple statements to explain this method clearly. The general idea is
Simulate the NIC on the PC (anyone who knows how to implement the NIC technology on a machine without a NIC in Windows should understand), and then each simulation Nic corresponds to a virtual device, such as a router or
Host. You can also use third-party tools to complete some work, such as VMware. I am using a simulated Nic for my own development.

As for the embedded development environment
Easy to implement, PC is a very large hardware platform, the existing embedded operation
The operating system usually supports x86. You can perform development on it, boot through a floppy disk or use a virtual machine to load it. I tested it with VxWorks and ran Windows and
VxWorks systems. In addition, the DOS-compatible 16-bit simulation x86 environment on Windows also provides an excellent test environment for many operating systems.
Is implemented in this way. Linux is also widely used in embedded systems. It has a large amount of data on the Internet and is relatively easy to practice. At the same time, many complete embedded development environments support software simulation, such
Tornado, WinCE, etc.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.