I have always wanted to burn the kernel directly to the JZ2440 Development Board through Linux, but the online tutorials are all written with the TFTP tool on the Windows platform, which is very uncomfortable because I don't like to play on the virtual machine linux! Groped for an afternoon, finally took care of, down to record the burning process. This paper is mainly about the process of tftp burning and writing kernel, the last mention of NFS, the principle is similar.
Development environment
- Linux 16.04 LTS (need to configure TFTP)
Jz2440v3
Linux Configuration TFTPNFS configuration See my previous blog https://www.cnblogs.com/multimicro/p/9269863.html
Follow the steps to execute the following command
sudo apt-get install tftpd-hpa tftp-hpasudo vim /etc/default/tftpd-hpa
Vim Terminal information modified to:
The configuration information in the picture is:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/china/ftproot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-l -c -s"
The TFTP_DIRECTORY
path can be seen in this way, and later transferred with the TFTP protocol, the file needs to be copied into this folder!
Each time the configuration information is modified, the TFTP service needs to be restarted
sudo service tftpd-hpa restart
Verify that the TFTP service is turned on correctly
tfpt 192.168.1.218tfpt> get hellotfpt> quit
TFTP configuration succeeded! Here's how to burn the kernel with a TFTP service under Linux.
The first step in burning the kernel with a TFTP service under a Linux system: Connect the JZ2440 Development Board via the Minicom serial assistant under Linux
After starting the JZ2440 Development Board, click on the keyboard to not start the Linux system inside,
The q
Openjtag interface can be present at this time
OpenJTAG>
Step Two: Configure the network environment
This time need to follow the JZ2440 supporting PDF data in the Vedon to explain the configuration network, otherwise you can not let Linux and JZ2440 Development Board communication.
Configuration requirements
- Make the board segment and the Linux system in the same network segment (e.g. IP address 192.168.1.x)
- Consistent Gateway Configuration
Now you can ifconfig
view the IP address by command under Linux, you can route -n
view the gateway by command
Then use the commands in the OPENJATG interface to configure the U-boot network environment
set ipaddr 192.168.1.18set serverip 192.168.1.218set gatewayip 192.168.1.1
- The first line of command is to configure the IP address of the Development Board to ensure that the same network segment is not in conflict
- The second line of command is configured as the server side of the Linux address, this IP address is obtained through the above
ifconfig
, not writable!
- The third line of command is to configure the gateway, through the above to
route -n
get, not to write!
Vedon's documentation details are as follows, which can be found in this PDF document.
In the OPENJATG
ping 192.168.1.218
, see if we can get out of here alive
?
Instructions are configured correctly! O (∩_∩) o haha ~
Can be used to print
view the configuration, other commands can be described inhelp
Network environment configuration is successful! Hula啦 ~
Step three: start to enlarge the Recruit-burn the kernel!
1) Copy the less uimage kernel files to the TFTP service Mount folder under the Linux system,
Careful little partner found that this uimage authority was transferred to the highest, yes, it must be done, otherwise in the next transmission will appear permission denied
Oh, the command in the picture lm
is my custom command, and ls -al
the role is the same.
2) Enter the minicom serial assistant inside
That one
OpenJATG>
Still waiting for you to enter the command.
Now refer to the Vedon "Embedded Linux application Development complete manual" P291 content:
Don't rush in
OpenJATG>
Command line, enter the command on the book, two-thirds of these commands are wrong!
Because I was burning the kernel in accordance with the appeal order, the board couldn't start the Linux system at all! Finally returned to the Windows platform through the DNW tool to burn write found the problem.
On the left is the correct erase and write information by DNW, right ...
So, in
OpenJATG>
, enter the following command:
tftp 0x30000000 uImagenand erase 0x60000 0x00200000nand write.jffs2 0x30000000 0x60000 $(filesize)
Burn finish, then restart the development board just fine!
Burn the kernel with TFTP or NFS under Linux system