Took a day to study the Linux-2.6.30.4 version number kernel under the TQ2440 dm9000e network card driver porting. Summarize your own harvest.
In fact. The Linux-2.6.30.4 version number kernel is about the NIC driver, but this NIC driver is not for dm9000e. But for the DM9000.
Therefore, we need to change some of the parameters on this basis. and make the necessary relevant code. This NIC driver is a document that participates in the "Step by step_v4.6"-linux transplant from the embedded technology. But that's it. It took almost a day. In fact, the difficulty here is that the document simply gives the general location of the change code. And not very specific to say clearly. That's why you don't know where to add or change the code. This document above the configuration method, I configured a total of 5 times.
Compare this document with some of the information that was searched from the Internet. Changed it over and over again.
Therefore, I think learning embedded. Not only to have a insist on the strength, but also to have patience . Since I was changing the NIC driver. Change it again, compile the kernel, download to the board. Execute to see if it is correct. And then change it again. Then compile the kernel and then download it to the board, performing the viewing results ... Until you know it's successful. I don't know how many times I have to repeat this. Will inevitably think irritable, even discouraged.
However, I personally think that this seems to be the true meaning of learning: we have problems. Then we tried to solve the problem. In solving this problem, we will go to the information, will think, will go if, and then to do the experiment to verify (practice), if not, will go back to the information, thinking, if, verify ... Until it succeeds. In fact, that is, repeating. In the process of repetition. Slowly understand this part of the knowledge, slowly improve their ability . Sometimes when we break through a problem, there will be a sense of the enlightened. Therefore, learning is not afraid of encountering a lot of problems, but not meet the problem.
Summary to this end.
Here is the detailed location of the code that will be configured:
Arch/arm/mach-s3c2440/mach-smdk2440.c
1, add the code in the blue area
2, add the code in the blue area
3, add the code in the blue area
Here are the changes to the drives/net/dm9000.c file
4, add the code of the blue area
5, add the code of the blue area
6, add the code of the blue area
7, add the code of the blue area
8, add the code of the blue area
9, add the code of the blue area
"Linux Drive" TQ2440 dm9000e NIC driver porting (Linux-2.6.30.4)