08-23-2020, 11:30 PM
(This post was last modified: 08-26-2020, 05:33 PM by mayorchief.)
Greetings!
I'm in the process of considering an order for a PinebookPro, PinePhone, and a Rock64. I'm very much interested in low-level coding on this unique hardware (and having an ARM laptop and linux phone!), so I'm interested in collecting information and making good purchases to support that endeavour. As such, I've got several questions, and would like to use this thread to list out the "ultimate hacking kit" of sorts for others who are similarly interested in this area. I'm going to edit this opening post with resources we bring together so it can be an effective one-stop-shop for people who are similarly interested in getting into hacking ARM hardware with the Pine64 products.
Rock64. The device I'm considering is 4GB (store page). Questions I have are about any necessary support hardware:
(before you continue, realize I'm fairly new to this area of development, so you might notice I've misinterpreted something - please speak up and let me know!)
I'm in the process of considering an order for a PinebookPro, PinePhone, and a Rock64. I'm very much interested in low-level coding on this unique hardware (and having an ARM laptop and linux phone!), so I'm interested in collecting information and making good purchases to support that endeavour. As such, I've got several questions, and would like to use this thread to list out the "ultimate hacking kit" of sorts for others who are similarly interested in this area. I'm going to edit this opening post with resources we bring together so it can be an effective one-stop-shop for people who are similarly interested in getting into hacking ARM hardware with the Pine64 products.
Rock64. The device I'm considering is 4GB (store page). Questions I have are about any necessary support hardware:
- Is a heat sink required? They're sold, so it seems like it might be desirable. I do intend on getting a metal case, if that would affect head dissipation enough.
- Given the Rock64 uses the same chip as the PineBook, it seems to follow that it can boot off of eMMC, SPI flash, USB, and SD?
- I suspect the answer is no, but does the Rock64 come with either of: a power cable and/or a eMMC module? (power cable separate as per store page)
- manawyrm recommends the TTL-232R-3V3-AJ for phone/laptop serial. It operates at the appropriate voltage. However, I noticed it only has three post segments, meaning one is missing compared to the broken official cable. I understand he says it works, but I'm concerned there would be a downside to losing that one segment (I'm not an electronics buff, so I would appreciate any explanation anybody could offer).
- Does the PinePhone come with an eMMC?
- What's the best economy NVMe SSD card that is compatible with the PineBook?
- Is the keyboard/touchpad firmware open source? Anybody do any neat hacks on it?
- Does the eMMC adapter work with the eMMC modules Pine64 sells? It is reported that it doesn't work with many eMMC modules (lost the thread, there's a wiki page too somewhere it linked to)
- Is the so-called "woodpecker" serial console adapter considered safe? The audio jack cable for sale is known to cause significant problems. Also, does it come with the wires necessary to hook it up to the Rock64? Finally, and this might be implicit from the first question, but can it be used to interface with the Phone and PineBook (with an appropriately built adapter)? Also, it is apparently the case this console can prevent correct booting if the TX pin is connected; is this the case with all serial consoles?
(before you continue, realize I'm fairly new to this area of development, so you might notice I've misinterpreted something - please speak up and let me know!)
- The documentation reports an MMU that differs somewhat from the official ARM MMU. Is this the only MMU in the system? Or, is it only for the Cortex-M4? If it is the main MMU, then the documentation on the data structures it uses seems to imply it doesn't support virtualisation (the page table entries do not contain an ASID/VMID that I've seen). I partly suspect that the RK3399 doesn't FULLY document the page table structure (basically, it only shows the directory entries rather than the page table entries, which would be "standard").
- Related to the MMU, but is TrustZone supported?
- Related to the MMU, is there a No-Execute (NX) support? The pages only seem to have Read and Write flags.
- Some resources for comparison if anybody wants to try and interpret it:
- RK3399 documentation:
- Chip overview: http://rockchip.wikidot.com/rk3399
- Technical Manual P1: http://opensource.rock-chips.com/images/...170408.pdf
- Technical Manual P2: https://www.rockchip.fr/Rockchip%20RK339...0Part2.pdf
- Chip overview: http://rockchip.wikidot.com/rk3399
- ARM documentation: https://developer.arm.com/architectures/...ofile/docs
- RK3399 documentation: