Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

The history of blood and tears of an old bird embedded engineer!

2025-01-15 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/03 Report--

As an old bird who has been in the embedded industry for a long time, recalling the road of his own experience, it is so long but seems to be at hand. With the increasing number of students, occasionally, I will think of an experience I once had. This article is only dedicated to those students who have just embarked on the road of hardware and are still wandering. Here I briefly record my learning experience and some of my own experiences during this period, in order to help beginners avoid detours. Of course, if you feel deeply about it, you can also be private here:

I know very well how happy it is for a beginner to have a master hand in hand. A casual remark by the teacher may take us beginners days or even months to think about and verify. Unfortunately, there is not always such a teacher around us. Fortunately, now the network is developed, which makes us often have to turn to the network. The rich personal experience on the network is worth learning. We can learn something from some articles, use it for us, or feel the spiritual motivation from it.

I would like to take this opportunity to introduce my former team, because they have a great influence on me. There are four people on the team, one is a senior engineer with 11 years of work experience and has his own patent (I used to call him the second director, he is the reason why I am on the team), and the other is a warm-hearted engineer with five years of experience. and two are power and video experts and veterans. Osmosis, I gradually have a strong interest in hardware. From the single-chip microcomputer, FPGA, SOPC hardware construction and software programming, as well as now working hard to study the ARM, I do it with unlimited enthusiasm.

But enthusiasm is not the only reason, another reason is that the laboratory provides a convenient learning environment. There are ready-made winbond 51 single-chip microcomputer, Weifu simulator, advanced labtool 48uxp universal programmer, a 120000 oscilloscope, I bought a universal board. During the study stage, you can find a book and experiment on it. From simple led flicker, digital tube display, pwm to interruption, serial communication (communication between single-chip microcomputer and single-chip microcomputer, communication between single-chip microcomputer and pc), I2Ceeprom reading and writing, A hand D conversion, temperature measurement and so on. What fascinated me at that time was that after searching the data, compiling and debugging the program, and then solving the problem later, I believe that only those who have experienced it can understand the sense of achievement and joy. It is with this enthusiasm and hobby that I often stay in the laboratory for twelve or three hours. I usually go straight to the laboratory after dinner in the canteen and go back to the dormitory at 09:30 in the evening. Although I didn't do any big projects at that time, every little experiment is a little bit in the process of my knowledge accumulation, and only with this accumulation can I get involved in larger projects.

When I first entered the lab, the second director gave me a development version, which was the nios ep1c20 cyclone series development board of Altera Company. It was bought in the name of the university plan at that time, 5000 yuan. So I started my FPGA study. Before learning verilog, only stay in the pure theoretical stage, write a few small programs, use quartus-ii 's own simulation software for simulation on ok.

Using simulation software to simulate, you can often get the results you want, but once downloaded to the chip to run, problems will follow. The first experiment I did was to light up the led, write my own program (a few lines), compile, assign pins, simulate, and then connect the development board and pc with the jtag download line to download the sof file to the chip. Now think of these are how simple steps, but for me at that time, spent a lot of time and energy to find information and immersed in repeated experiments. Especially the pin assignment, the document only says that it needs to be done, so why do it? At that time, I didn't have too many ideas. I just wanted to see the results of the experiment. With the results, I had an unlimited sense of achievement and high enthusiasm, so when the led in the first FPGA experiment finally acted according to the intention, the excitement was the same as when I was able to achieve led flicker when I was learning a single-chip microcomputer.

One of my practice and experience in doing experiments is to read books while doing experiments, find problems in the experiments, and find relevant documents when I encounter problems or principles that I do not understand. I am used to doing things. If I am allowed to sit in the laboratory and read pure theoretical books for a day without hands-on experiments, I think my brain will definitely explode. Because I have not read books like this, my brain has always been alive. Later, I also used this method to learn the ucos embedded operating system. I called it "ladder sense of achievement" (I suddenly thought the word was very appropriate and temporarily coined when I was writing this article). With this enthusiasm, I later studied FPGA, some conventional logic circuit design, including logic gate circuit, data selector, codec, addition, subtraction, multiplication and division arithmetic, shifter, and later slightly complex circuit design, such as FIFO, digital running table, frequency meter, state machine, traffic control, card phone billing system and UART.

These experiments were carried out in Verilog language at that time. When I first came into contact with FPGA, I wanted to learn VHDL. At that time, all my classmates used verilog. For the convenience of discussing problems with them, I switched to verilog. As soon as I learned it, I gradually found that I was deeply in love with verilog. For me, it is undoubtedly more suitable for me. This is also an experience that I would like to recommend, that is, look more at the tools used by the people around you. The tools they use are often not your favorite or the most widespread and most popular at present, but if you want to communicate and discuss problems with them, it is still a little more accommodating. Like the tools used by others, the communication will be smooth and convenient. After arriving at the laboratory, because the staff of the laboratory all use Weifu's simulator, the software is of course provided by Weifu. I don't think Weifu's software is very good. It only supports assembly, which is much worse than the famous keil c51, but unless you want to wait until there is no one around to help you when you have a problem, you should choose Weifu's software to facilitate communication in the early stage. Later, after my own exploration and consulting with the engineers around me, Weifu was very familiar with it, and the assembly also had its own set. At this time, I began to embed keil in Weifu and wrote the program in c language, but there were still defects in using Weifu software when debugging, such as not being able to execute in a single step. So then I downloaded the keil c51 software, and from then on I officially wrote the program under the keil development interface. Of course, Weifu simulator can also be used in keil environment. I think Weifu has already taken this into account when making its own products, and some of their products must be compatible with mainstream software keil. After using keil C51, I don't want to use Weifu compiler software, and I don't want to use assembler after using c to write the program. But assembler is a must for every hardware R & D engineer. Assembler is out of reach, but sometimes it has to be used. The assembler is efficient, tedious to write and trivial, and it still plays an irreplaceable role in some specific moments. For example, when porting usoc to a single-chip microcomputer, the programs related to the processor really have to be completed with assembly.

Later, I studied sopc. From the construction of the smallest system hardware platform, to the compilation of simple led flashing programs, to the sof files running on the chip, watching the led on and off, there is an upsurge of enthusiasm in my heart. Every time I come into contact with new knowledge, there is a heartfelt excitement. Every time I come into contact with new things, I start with the simplest led flicker, from single-chip microcomputer to FPGA to sopc and then to ucos. Every day a small progress can ignite my enthusiasm for work. As long as I have this small visible "ladder of achievement" every day, I can inspire my pursuit of more knowledge. During this period, I appreciate Altera's programmable system on chip (sopc), which frees us from the hassle of building a hardware system. We only need to add our own IP core and some necessary peripherals to the system according to the requirements. Altera or other third-party companies have provided us with IP cores with perfect performance and functions. all we have to do is add these IP cores to our system to complete the functions we need. After the completion of the hardware system, the software programming of the hardware system needs to be carried out under the nios IDE environment provided by Altera company. Here, the required functions are completed completely in C language. With the previous study of single-chip microcomputer, FPGA, the first experiment or led flicker, and then slowly turn to some more complex functional design, but also nothing more than to achieve some of the functions previously achieved with verilog. The difference between the two is: one completely uses Verilog language to achieve all functions; the other needs to build a hardware system with sopc builder, and then program the software in nios ide. Both of these methods can achieve the desired function, but the latter is more convenient and faster, because in this method, we use borrowlism, the IP core has already achieved our function, and all we need to do is to take advantage of it.

Later, I learned the ucos embedded operating system, mainly used in FPGA. Nios has been ported for users and there is no need to modify any files. Make some appropriate settings in the nios user interface and you can use it. There are several good examples in the template provided by Altera. Task management, semaphore, mailbox delivery, event flag, time management and so on provide a good template. What we need to do is to read it carefully, study it, and rewrite the template to complete our function if necessary. This is a higher level of imitation, absorbing some of his things and turning them into their own things. I think this is something that hardware lovers and beginners are very happy to do.

When I was studying FPGA, I encountered problems when I was stagnant, there was no progress in the experiment, and I was depressed. At that time, I knew nothing about the underlying hardware, and I couldn't even understand the basic schematics, let alone how the program ran on the development board. Later, when I was developing nios, the frustration grew with each passing day, and I didn't feel any progress every day. It was really a long and difficult day. Once, I chatted with an engineer in the office and talked about my confusion. He suggested that I first learn the single-chip microcomputer, build my own hardware platform, and start with the smallest system. This engineer is warm-hearted, he always patiently helps to solve learning problems, which benefits me a lot. I am very glad to be able to study in this environment. Then there is my mentor, who is a senior researcher with nearly 30 years of experience in hardware development. I didn't know anything when I started working, but I always like to run to the mentor's office and chat with him. He is amiable and approachable, and I always get some professional and life advice when communicating with him, which will stay with me for the rest of my life. Later, things gradually took a turn for the better, I also slowly adapted to this mood, adjusted the state of mind. Now that I think about it, I'm glad I didn't despair and didn't lose confidence in the hardware I love. What I want to say is the same old saying: when we encounter a problem, when we feel that things can't go on, we might as well change our way of talking to the people around us. Perhaps this is the biggest difficulty in learning embedded system. There are always many ups and downs in life, and so is our learning career. It is precisely because of this that we have experienced wind and rain before we can see the rainbow! If you really have no direction to learn embedded at present, or if you have problems in learning and do not know how to solve them, you can be private here. The landlord also has a lot of practical information over the years. I believe it will certainly help you move towards a new chapter.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report