Difference between revisions of "PineNote Development"

From PINE64
Jump to navigation Jump to search
(update commands)
Line 50: Line 50:


<pre>
<pre>
./rkdeveloptool ld
./rkdeveloptool list
</pre>
</pre>


Line 57: Line 57:
You can now download u-boot onto it:
You can now download u-boot onto it:
<pre>
<pre>
./rkdeveloptool db ../u-boot-rockchip/rk356x_spl_loader_v1.08.111.bin
./rkdeveloptool boot ../u-boot-rockchip/rk356x_spl_loader_v1.08.111.bin
</pre>
</pre>


Line 65: Line 65:


<pre>
<pre>
./rkdeveloptool rfi
./rkdeveloptool read-flash-info
</pre>
</pre>


Line 75: Line 75:
# Flip the device around so that the display faces down
# Flip the device around so that the display faces down
# Lay the pen on the right side, with its tip pointing towards the speaker grill, and its magnet pointing towards the upper right corner of the label on the back.
# Lay the pen on the right side, with its tip pointing towards the speaker grill, and its magnet pointing towards the upper right corner of the label on the back.
# Turn the device on and check <code>rkdeveloptool ld</code> output to verify that you are in maskrom mode
# Turn the device on and check <code>rkdeveloptool list</code> output to verify that you are in maskrom mode


This can be a bit fiddly to get right, and may need a few tries.
This can be a bit fiddly to get right, and may need a few tries.

Revision as of 17:51, 1 September 2021

This article seeks to provide general development information for the PineNote

Flashing Software

Currently, the only way to flash software is using rkdeveloptool.

Using rkdeveloptool

rkdeveloptool is a command line utility built on libusb.

Downloading and Building rkdeveloptool

PINE64 develops its own updated fork of rkdeveloptool on GitLab.

You will need to have libusb 1.0 and its development headers installed.

git clone https://gitlab.com/pine64-org/quartz-bsp/rkdeveloptool.git
cd rkdeveloptool
mkdir build
cd build
cmake ..

This sets up all the build files. You can then compile with make inside the build directory.

After you're done, you'll likely also need to install the udev rules, or else your user won't have permission to access the USB devices:

sudo cp 99-rk-rockusb.rules /etc/udev/rules.d/
sudo udevadm --control reload

Building Downstream U-Boot

While in maskrom mode, we need to have a u-boot to download onto the device for any of the other commands to work.

git clone -b quartz64 https://gitlab.com/pgwipeout/u-boot-rockchip.git
git clone -b rkbin https://github.com/JeffyCN/rockchip_mirrors.git rkbin
cd u-boot-rockchip
export CROSS_COMPILE=aarch64-none-linux-gnu-
make rk3566-quartz64_defconfig
./make.sh

Running rkdeveloptool

First, you'll want to make sure the device you've connected is in maskrom mode:

./rkdeveloptool list

It should output something like DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=202 Maskrom. If it doesn't, see PineNote Development#Entering Maskrom Mode.

You can now download u-boot onto it:

./rkdeveloptool boot ../u-boot-rockchip/rk356x_spl_loader_v1.08.111.bin

This should output Downloading bootloader succeeded..

We can now verify that this worked using e.g. the "read flash info" command:

./rkdeveloptool read-flash-info

TODO: finish this section

Entering Maskrom Mode

  1. Flip the device around so that the display faces down
  2. Lay the pen on the right side, with its tip pointing towards the speaker grill, and its magnet pointing towards the upper right corner of the label on the back.
  3. Turn the device on and check rkdeveloptool list output to verify that you are in maskrom mode

This can be a bit fiddly to get right, and may need a few tries.