If this article is an original article, please indicate the source of the original article when reprinting.
The blog address of this article: https://hpzwl.blog.csdn.net/article/details/132686096
Rockchip Development Column
Previous: " RK3568 Development Notes (5): Use SDK to compile and make uboot, kernel and ubuntu images on a virtual machine "
Next: Stay tuned...
foreword
After compiling uboot, kernel, and buildroot, the firmware can be imported separately, or it can be packaged into rootfs for one-time input. The method of directly updating and upgrading rootfs is also commonly used at present.
Writer software: RKDevTool
The programmer software is the RKDevTool software tool provided by Rockchip, as shown in the figure below:
it is programmed using the usb-usb cable.
Flash Ubuntu firmware
Step 1: Check the development board connection
The development board needs to be powered on, and needs to be connected to the debugging serial port, especially the line of the programmer.
key point:
- Both ends are USB male ports;
- Which one of the development board is the programming port;
- When the development board is started, press how to operate (usually press the button) to enter the programming mode for programming, and then the programming tool will complete it by itself; (Note: Unlike
HiSilicon, HiSilicon needs a serial port as a process judgment command interaction One channel, Rockchip programming process does not require serial port assistance, and when flashing the firmware, the debugging serial port is unplugged. Curiosity, I am curious about why the serial port needs to be debugged, but the serial port number is not allowed to be selected on RVDevTool...- ...!!!)
The connection here is similar to that of HiSilicon " Hi3516 Development Notes (6): Use USB/serial port to burn uboot, kernel, rootfs and userdata according to the partition table through HiTools "
The connection diagram is as follows:
For easy viewing:
Step 2: Prepare the programmer software
Download the burner and unzip it, as shown in the figure below:
Step 3: Copy the image
Copy the ubuntu system compiled in the previous article to the image folder of the burner. Note that the mirroring here is made on the ubuntu host, so drag it out from the virtual machine and put it in the image folder of the software, which is far from the previous article The article is more than half a year old, let's first check whether the file system packaged by the host last time is ubuntu, check as follows, and confirm that it is.
(PS: 6.1G is shown here, it is estimated that the ubuntu system has not done any cutting)
Copy the updated package update.image to the image folder:
Step 4: Open the RVDevTool programming software
Open the software:
Click "Upgrade Firmware" to select the "Firmware" that was copied to the image before:
Selected, the status is "No device found":
Confirm that our device has been connected according to step 1, and there will be no problem.
Step 5: Press a specific button and turn on the development board
For this development board, press and hold the "Volume +" button of the development board, do not release it, and then press the power button of the development board to start the development board. At this time, the programming tool will prompt that a new device has been found, and you can release it:
Then it will be as follows:
Then click "Upgrade" (it doesn't matter if you don't connect to the debugging serial port):
After the download is successful, the software will automatically restart (the hand is cheap, the download process is not 100%, click the close to cancel the command, actually confirmed, but it is invalid):
Then the development board reboots:
Here is the configuration of the host debugging serial port:
Originally thought that the self-compilation and adaptation of the image failed, but it was not. Check " Into the Pit 1 ", and then the main interface is as follows:
(Write more p, the password is the same as the account: topeet)
Running ubuntu feels that some functions are a bit stuck. After a bit of operation, it is better. Maybe the board has been in dust for too long, so it didn’t run, as follows:
After testing, the ubuntu image has a flaw, that is, it cannot be woken up by touch after the black screen, but can only be woken up by peripherals such as the mouse and keyboard, so this board must first turn off the automatic black screen saver for him.
Burn the ubuntu system that supports hdmi output
(PS: hdmi is supported here, which means that the other channels are not output.)
This development board has been connected to hdmi but has not been switched over. You can modify the kernel to compile for hdmi output. Here we are only using it for exhibition demonstration. It’s not exhausting, because I saw that there is an ubuntu image that supports hdmi in the official board, as shown below:
Down below:
Refresh "burning ubuntu" again:
Then the result is as follows:
Test the touch screen (invalid, does not support the usb touch screen, it should be that the universal driver of the touch screen is not installed, the request for an official reply may be that the support of the touch chip is different):
A keyboard and mouse were plugged in here and found to be invalid. (PS: Later, it was found that the upgrade USB port was invalid, and this is also a pitfall)
into the pit
Pit 1: After brushing the self-compiled ubuntu firmware and restarting, listen to the logo interface
question
After flashing the firmware, the startup card is stuck at the logo "rockchip kernerl"
reason
The debugging serial port print shows that some cards are above the limit time, but they are not stuck at present, just need to count the seconds
solve
Here is the official method to adjust, as shown below:
The above modification is a bit useful. It is modified to 30s, but it is actually 33s. After 33s, it becomes 2min3s, so I don’t understand:
Official Technical Support Reply
mkdir /etc/network/interfaces.d
vi /etc/network/interfaces.d/eth0
document content:
auto eth0
allow-hotplug eth0 //将网络接口设置为热插拔模式
iface eth0 inet dhcp//设置dhcp自动获取ip
vi /etc/network/interfaces.d/eth1
vi /etc/systemd/resolved.conf
Uncomment the content corresponding to DNS and add the content of 114.114.114.114 and cancel the comment of LLMNR=no. The modification is completed as shown in the figure below:
In the end, I didn't try it because I asked for advice later. At this time, it has been changed to the buildroot firmware and various tasks have been completed.
Previous: " RK3568 Development Notes (5): Use SDK to compile and make uboot, kernel and ubuntu images on a virtual machine "
Next: Stay tuned...
If this article is an original article, please indicate the source of the original article when reprinting.
The blog address of this article: https://hpzwl.blog.csdn.net/article/details/132686096