I wrote a simple Bare-Metal example for the Rock64.
It just sends a few strings over the UART interface and if a special char will be received, the program resets the Rock64.
The main entry point of the program (written in Assembler):
mrs x0, SCTLR_EL2
and x0, x0, #0xFFFFFFFFFFFFFFFC
msr SCTLR_EL2, x0
mrs x0, MPIDR_EL1
and x0, x0, #0x3
cmp x0, #0
beq L1
L0:
wfe
b L0
L1:
ldr x0, =_kern_stack_s
mov sp, x0
b kern_main
L2:
wfe
b L2
.end
It's a minimal setup. It just disables the MMU and the Alignment checks.
Then it reads the processor ID and let only CPU0 run the C main entry point (kern_main).
The C main entry point:
Code:
#include <dev/cru.h>
#include <dev/uart.h>
void kern_main(void)
{
int c;
uart_init();
uart_puts("Pine64 Rock64\r\n");
uart_puts("Press 'r' to reset the board!\r\n");
do {
c = uart_getc();
} while (c != 'r');
uart_puts("Resetting...\r\n");
cru_reset();
while (1)
;
}
Should be self explaining.
There is also as very simple UART driver and the CRU driver for resetting the board.
The code includes a very minimal C String library.Only GCC for AArch64 is needed.
To start the application, U-Boot is needed.
I have attached the full code.
The code is also on my GitHub page available.
Edit:
Oops! There is a bug in the attached archive.
Simple change the following line in the file start.S...
Just curious if anyone has used the PBP for developing ESP32 firmware. Ideally it would be nice to code, build, program, and maybe JTAG debug (Segger J-Link) on this platform. My preferred development platform is Espressif's IDF SDK (not Arduino). Curious to see if there are any other firmware engineers out there.
I have a strange Wifi issue with my PBPro. I am connected to my access point and I can use Internet, everything seems fine, however I am not able to ping or SSH to other devices connected to the same access point. I do not have this problem with other mobiles and laptops.
I see access point's IP and MAC address in the ARP table, but for the others I see ARP incomplete. If I tcpdump on wlan0 it shows outgoing ARP requests, but nothing on the target device.
Linux version is the preinstalled Manjaro, I have received my PBPro 4 days ago.
Does anyone have any idea what can be the problem? Does it work for someone else?
I just received my PBP and in the process of giving it a test drive I checked it out on krunler.io
It runs extremely slow and laggy on firefox. Good connection speeds so I ruled that out.
I switched to chromium but got the following message: Failed to Load Make sure you are using the latest version of Chrome or Firefox
I initially downloaded chromium via pamac-manager, when I got the above message I removed it then downloaded chromium via command line but got the same results.
Two different issue I guess.
First shouldn’t PBP be capable of running krunker.io?
Second why would an error say I don’t have the latest version of chromium?
Got my PBP yesterday. Generally things have gone well, but at random intervals there is a tick or pop type sound from the right speaker, even with the sound muted.
Any idea how I might troubleshoot this?
Edit: I should have specified, this happens both when using the included power adapter and when on battery power.
Also, it does go away when I mute the speaker device in alsamixer.
I'm messing around with the nuts and bolts on my device, trying to get a minimal PostmarketOS install working (eventually, I hope to have some fun trying to build my own UIs, which I'm sure will be a hilarious and educational programming challenge/disaster for myself). At the moment, though, I'm still hung up on trying to get the battery to charge. Even when plugged into a charger capable of delivering plenty of current, the battery continues to discharge, and the system never draws more than around half an amp.
Forgive me for being so clueless, but I'm new to all of this. What governs charging control, and how do I talk to it? Is this part of what 'crust' does? Charging appears to work fine under SailfishOS and Ubuntu, so I think hardware issues can be ruled out and I must just be missing some key thing on the software side.
[edit] Sorted - long story short, half of the ports on the unmanaged port are dead - nothing to do with the RPro64
I've already spoken to some of the smartest people in the community and, despite their best efforts, they've been unable to crack the problem I'm facing.
So now I'm throwing it out there to see if anyone has any ideas. The situation is stupidly puzzling:
I cannot connect any of my RPro64s (4 different boards- all of which are good) running ANY OS (tried: Debian Desktop with BSP kernel, Manjaro with mainline 5.6, Armbian with 5.4) to my home network via Ethernet.
This started after I accidentally disconnected a board that has been running OMV for many years (ancient installation). When I reapplied power to it it wouldn't connect. At first I thought It was simply a case of the installation breaking and, later, of a faulty board but not it seems to be an issue which affects all my RPro64s - none of them can connect to my router.
Here's what I've tried so far:
tried different OS with different kernels
tried different boards
reset my router to factory defaults
changing mac address
setting a static IP (it 'connects' - but there are no packets coming in/out and the router doesn't see it)
I checked cables and wiring - other devices (laptops, different SBCs, etc., can connect on the same wires)
connecting over WiFi - works fine connects straight away to the router
USB-Ethernet dongles DO NOT connect - same issue as inbuilt NIC. The USB-Ethernet dongle DOES work on other devices - e.g. laptops & stationary PC
I honestly feel at a loss, so if anyone has any suggestion as to what I could / should try ... I'd be really very grateful.
Hey, I'm kinda new to this, so can someone help me understand if it is possible to install Ubuntu 20.04 on Pinebook Pro's eMMC or SD card? If so, how would I approach it? So far, I have only installed Ubuntu on Ubuntu machines via bootable flash drives I created with Rufus and Ubuntu's ISO download.
I have the PBP booting to eMMC with Manjaro (originally shipped with Debian). I recently received the NVMe adapter and installed a WD Blue SN550 250GB, WDS250G2B0C. Booting into Manjaro, it sees the NVMe and I'm able to mount the disk and everything seems to be working fine.
I tried to dd some other distros to the SD card and boot to it, but none seem to boot now except for the original Debian image. I'm trying to determine if this is a power issue now that I have the NVMe drive (I have not taken the drive out to test, been too lazy to take the laptop apart again).
I received my PBP today and noted a large crack on the screen. The box was undamaged so the issue likely occurred during assembly.
I have reached out the the sales@pine64.org email address but others have noted that the pine64 email support and sale addresses are often black holes. What methods have people had success with on getting their on-arrival issues rectified? From my perspective, I'm happy to simply get a replacement screen and replace it myself.