Banana Pi BPI-M64教程

Introduction

Banana Pi BPI-M64 is a 64-bit quad-core mini single board computer. It features 2GB of RAM and 8GB eMMC. It also has onboard WiFi and BT. On the ports side, the BPI-M64 has 2 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, and lastly a DC power port. The processor is pin-to-pin comptialbe with R18, so it comes with two versions:M64 and M64-R18.

Key Features

  • Allwinner A64 1.2 Ghz Quad-Core ARM Cortex A53 64-Bit Processor.
  • 2 GB DDR3 SDRAM
  • 8G EMMC
  • 10/100/1000Mbps Ethernet
  • WiFi (AP6212) & Bluetooth
  • MIPI LCD interface
  • Camera interface

Getting Start

Hardware

Hardware interface


Hardware spec

HardWare Specification of Banana pi BPI-M64
CPUAllwinner 64 Bit Quad Core ARM Cortex A53 1.2 GHz CPU
GPUDual core Mali 400 MP2 GPU
Memory2GB LPDDR3 (shared with GPU)
StorageMicroSD slot with support for up to 256GB expansion and 8G eMMC flash with support for up to 64GB
Network10/100/1000 Mbit/s Ethernet + Wi-Fi 802.11 b/g/n + Bluetooth 4.0
Video Input(s)A CSI input connector allows for the connection of a designed camera module
Video Output(s)1080p capable HDMI port and multi-channel audio output (NO H./X.265 capabilities)
Audio Input(s)On board microphone
Audio Output(s)3.5mm jack and HDMI
USB portsUSB 2.0 PORT (x2), USB OTG (x1)
RemoteIR Receiver
GPIO40 Pin Header : GPIO (x28) and Power (+5V, +3.3V and GND). GPIO pins can be used for UART, I2C, SPI or PWM
SwitchesReset, Power and U-boot
LEDPower Status and 8P8C
Power Source5 volt @2A via DC Power and/or Micro USB (OTG)
Size & Weight92x60mm, 48g
OSAndroid and Linux

GPIO PIN define

Banana Pi BPI-M64 has a 40-pin GPIO header . Following is the Banana Pi GPIO Pinout:

40 PIN GPIO of Banana pi BPI-M64
GPIO Pin NameDefault FunctionFunction2:GPIOFunction3
CON2-P01VCC-3V3  
CON2-P02VCC-5V   
CON2-P03TWI1-SDAPH3 
CON2-P04VCC-5V 
CON2-P05TWI1-SCKPH2
CON2-P06GND  
CON2-P07PH6PH6 
CON2-P08UART2-TXPB0 
CON2-P09GND   
CON2-P10UART2-RXPB1 
CON2-P11PH7PH7 
CON2-P12UART2-CTSPB3 
CON2-P13DMIC-CLKPH10 
CON2-P14GND   
CON2-P15DMIC-DINPH11 
CON2-P16UART2-RTSPB2 
CON2-P17VCC-3V3   
CON2-P18PD4PD4 
CON2-P19SPI1-MOSIPD2UART4-TX
CON2-P20GND   
CON2-P21SPI1-MISOPD3UART4-RX
CON2-P22PC0PC0 
CON2-P23SPI1-CLKPD1UART3-RX
CON2-P24SPI1-CSPD0UART3-TX
CON2-P25GND   
CON2-P26PC2PC2  
CON2-P27PC4PC4  
CON2-P28PC3PC3  
CON2-P29PC7PC7  
CON2-P30GND  
CON2-P31PCM0-BCLKPB5
CON2-P32PCM0-DINPB7 
CON2-P33PCM0-SYNCPB4
CON2-P34GND  
CON2-P35PCM0-DOUTPB6  
CON2-P36PL9PL9 
CON2-P37PL12PL12 
CON2-P38PL7PL7 
CON2-P39GND   
CON2-P40PL8PL8 

CSI Camera Connector specification:

The CSI Camera Connector is a 40-pin FPC connector which can connect external camera module with proper signal pin mappings. The pin definitions of the CSI interface are shown as below. This is marked on the Banana Pi board as “Camera”.

CSI camer PIN define of Banana pi BPI-M64
CSI Pin NameDefault FunctionFunction2:GPIO
CN5-P01NC 
CN5-P02GND 
CN5-P03CSI0-SDAPE13
CN5-P04CSI0-AVDD 
CN5-P05CSI0-SCKPE12
CN5-P06CSI0-ResetPE16
CN5-P07CSI0-VSYNC
CN5-P08CSI0-PWDNPE17
CN5-P09CSI0-HSYNCPE2
CN5-P10CSI0-DVDD 
CN5-P11CSI0-DOVDD 
CN5-P12CSI0-D7PE11
CN5-P13CSI0-MCLKPE1
CN5-P14CSI0-D6PE10
CN5-P15GND 
CN5-P16CSI0-D5PE9
CN5-P17CSI0-PCLKPE0
CN5-P18CSI0-D4PE8
CN5-P19CSI0-D0PE4
CN5-P20CSI0-D3PE7
CN5-P21CSI0-D1PE5
CN5-P22CSI0-D2PE6
CN5-P23GND 
CN5-P24CSI0-AFVCC

MIPI DSI (Display Serial Interface)

The display Connector is a 40-pin FPC connector which can connect external LCD panel (MIPI DSI) and touch screen (I2C) module as well. The pin definitions of this connector are shown as below. This is marked on the Banana Pi board as “DSI”.

MIPI DSI display PIN define of Banana pi BPI-M64
DSI Pin NameDefault FunctionFunction2:GPIO
CN6-P01VCC 
CN6-P02IPSOUT 
CN6-P03VCC 
CN6-P04IPSOUT 
CN6-P05GND 
CN6-P06IPSOUT 
CN6-P07GND  
CN6-P08IPSOUT 
CN6-P09NC 
CN6-P10GND  
CN6-P11NC
CN6-P12DSI-D0N  
CN6-P13NC 
CN6-P14DSI-D0P  
CN6-P15NC 
CN6-P16GND  
CN6-P17TWI0-SDAPH1
CN6-P18DSI-D1N
CN6-P19TWI0-SCKPH0
CN6-P20DSI-D1P  
CN6-P21CTP-INTPH4
CN6-P22GND 
CN6-P23CTP-RSTPH8
CN6-P24DSI-CKN
CN6-P25GND  
CN6-P26DSI-CKP 
CN6-P27LCD-BL-ENPD5
CN6-P28GND  
CN6-P29LCD-RSTPD6
CN6-P30DSI-D2N 
CN6-P31LCD-PWR-ENPD7
CN6-P32DSI-D2P 
CN6-P33GND  
CN6-P34GND 
CN6-P35LCD-PWMPL10
CN6-P36DSI-D3N  
CN6-P37GND  
CN6-P38DSI-D3P 
CN6-P39NC  
CN6-P40GND  

UART specification:

The header CON2 is the UART interface. For developers of Banana Pi, this is an easy way to get the UART console output to check the system status and log message.

Uart PIN define of Banana pi BPI-M64
CON2 Pin NameDefault FunctionGPIO
CON2 P03UART0-TXDPB8
CON2 P02UART0-RXDPB9
CON2 P01GND 

Software

Development

Basic Development

Win 10 IoT

banana pi BPI-M64 IOT certifying pass by Microsoft:windows 10 iot core

BPI-M64 for Win10 IoT : https://catalog.azureiotsolutions.com/details?title=Allwinner_Banana_Pi_BPI_M64&source=all-devices-page


link: https://azure.microsoft.com/en-us/documentation/articles/iot-hub-tested-configurations/

get start: https://github.com/Azure/azure-iot-sdks/blob/master/doc/get_started/windows10-iot-core-banana-pi-bpi-m64-csharp.md

test on BPI-M64

discuss on forum: http://forum.banana-pi.org/t/banana-pi-bpi-m64-iot-certifying-pass-by-microsoft-windows-10-iot-core/2090

Windows 10 IoT Core for BPI-M64 Release Note

The Unified Extensible Firmware Interface (UEFI]) is a specification that defines a software interface between an operating system and platform firmware. UEFI replaces the Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatible personal computers AllWinner UEFI Firmware Release Notes

This document describes how to build AllWinner UEFI Firmware and bring a AllWinner dev board up with it. The AllWinner UEFI Firmware, as the major boot system for AllWinner-Windows platform, is based on the EDK2 framework which is open-source and with some AllWinner platform software packages injected.

Some updates:

1. Update the OS version to build v.10.0.15063.0 \(Creators Update\)
2. New page style of Device Portal, visit (https://deviceipaddr:8080/) to check it
3. Built-in Cortana assistant, need to be enabled in settings page in default app and Device Portal
4. Support on-screen keyboard, need to be enabled in Device Portal
5. Enable 100M Ethernet and fix some bugs
6. Support built-in UART bus in A64 SoC\(not built in the ffu, later provide driver binary and deployment helper\)
7. Support built-in IR module in A64 SoC\(not built in the ffu, later provide source code and dev doc for developers in community\)

Known Issues:

Kernel debug is enabled by default. This will slow the bring-up process. If a kernel debug is not necessary for you, visit Device Portal and navigate to Processes->Run Command page, run this command to disable : Bcdedit /store C:\EFIESP\EFI\Microsoft\boot\BCD /set {default} debug off
An PnP bug in audio device may cause a blue screen when acting software shutdown
Ethernet device may not start with problem code 12 at the first time to bring up

And another bomb! I uploaded core driver binaries and packaging toolchains on GitHub!

Here is the repo address: https://github.com/Leeway213/BSP-aw1689

And also some driver source code here with A64 datasheet in readme: https://github.com/Leeway213/driver-samples

Welcome makers developers and anyone-elsers to post your feedback.

Microsoft Azure IoT

  • we have test BPI-M64 with Microsoft Azure IoT with aarch64 Ubuntu 18.04 Linux
Microsoft Azure IoT Edge using DPS with TPM 2.0 SLB9670 : https://www.youtube.com/watch?v=k9_GSQgKlqk&feature=youtu.be
Microsoft Azure IoT Edge using DPS with TPM 2.0 ST33 i2c : https://www.youtube.com/watch?v=2MrO1-esjwI&feature=youtu.be

Resources

Source code

  • BPI-M64 Android 7 source code
download link : https://github.com/BPI-SINOVOIP/BPI-A64-Android7
  • BPI-M64 Android 6.0.1 source code
download link : https://drive.google.com/open?id=0B_YnvHgh2rwjdTRVRVFaSHd2cnc
Forum pthread: https://forum.banana-pi.org/t/banana-pi-bpi-m64-allwnner-a64-linux-4-4-source-code-public-on-github/6706
  • BPI-M64 Linux kernel 3.4 BSP code:
github link : https://github.com/BPI-SINOVOIP/BPI-M64-bsp
  • BPI-M64 Robot Operating System (ROS):
github: https://github.com/techping/BPI-robot-1
discuss on forum: https://forum.banana-pi.org/t/discuss-robot-operating-system-ros-on-banana-pi/10967

documents

google driver 
DXF file google download link : https://drive.google.com/file/d/0B4PAo2nW2KfnajlEY0xsdjNxY3c/view?usp=sharing
BPI-M64 BT Lab test : https://bananapi.gitbooks.io/bpi-m64/content/en/bpi-m64bt40labtest.html
BPI-M64 WIFI Lab test : https://bananapi.gitbooks.io/bpi-m64/content/en/bpi-m264wifilabtest.html
BPI-M64 Validation test : https://bananapi.gitbook.io/bpi-m64/en/bpi-m64validationtestreport.html

Amazon AWS Greengrass

Banana Pi BPI-M64 passed Amazon AWS Greengrass: https://devices.amazonaws.com/detail/a3G0h000000OvPoEAK/Banana-Pi-BPI-M64

Image Release

Android


  • 2018-10-24 update Android 6.0 & 7.0 & 8.1, based on kernel 3.10.
M64 Android 6.0 HDMI & LCD7
HDMI Version Image Links:
Google Drive : https://drive.google.com/open?id=1Em7ZXVvbJI7wMXy_TM4VNwHo6Oa-vVBc
LCD7 Version Image Links:
Google Drive : https://drive.google.com/open?id=1Tts1krZyzwz9mL90j1ilTzVrJm6hh_J4
M64 Android 7.0 HDMI & LCD7
HDMI Version Image Links:
Google Drive : https://drive.google.com/open?id=1mvKyK6KuPixs-jLD0FocIaV465bJ1Eig
LCD7 Version Image Links:
Google Drive : https://drive.google.com/open?id=16Ffc5xiZgD7JYgrMtCGaOYLCuZdQGcnY
  • BPI-M64 Android 8.1 HDMI & LCD7
HDMI Version Image Links:
Google Drive : https://drive.google.com/file/d/1UBaH9CNbmC9-n3jGImrFIAPZ8aZhqMJz/view
LCD7 Version Image Links:
Google Drive : https://drive.google.com/open?id=1wktuCcvolfozMFkLmugfZtGziHDj-1EM
  • 2018-9-17 update android 6.0
HDMI Version Image Links:
Google Drive : https://drive.google.com/open?id=19ExJ9Ztfy3UgK9NZ4SiaVZAMozgyCJl7
LCD7 Version Image Links:
Google Drive : https://drive.google.com/file/d/1gWD_IT0P4NvdeqtK5I4MnJjwzsP7SXJc/view
Forum pthread : https://forum.banana-pi.org/t/banana-pi-bpi-m64-new-images-ubuntu16-04-android-6-0-release-2018-09-18/6796
  • 2018-08-17 update,android 8.1
This release is for banana pi M64 board which is based on Allwinner A64, We have two images release,Android 8.1 is based on kernel 4.9
HDMI-LCD-Version:
Google Drive : https://drive.google.com/file/d/11XjvTAbPw57R6H5kL27GVXry4xu18dVs/view
Forum pthread: https://forum.banana-pi.org/t/bananapi-bpi-m64-a64-new-image-android-8-1-ubuntu-release-2018-08-17/6531
  • 2018-05-20 update ,android 7.0
hdmi-Version and Lcd 5.0 version
  • 2017-05-11 update ,android 6.0
HDMI-Version
Google Drive: https://drive.google.com/open?id=0B_YnvHgh2rwjcF9USm1MWWtxSXc
MD5: f85281213b9c5b88008a487dd1b6963c
LCD-Version
Google Drive: https://drive.google.com/open?id=0B_YnvHgh2rwjdHpFbHJMQWtsbFk
MD5:be27e4eced96d3de81d46e512fd978eb
forum pthread: https://forum.banana-pi.org/t/bpi-m64-new-image-android-6-0-version-v3/3240/4

Linux

  • 2020-08-26 update, Ubuntu Mate 18.04, Ubuntu Server 16.04, Raspbian Stretch, base on kernel 4.4
  • Download Image

  • 2020-04-21 update, Rasbian Stretch, Ubuntu 16.06 Mate Desktop, Ubuntu 16.06 Server and Ubuntu 18.04 Mate Desktop, base on kernel 4.4
google drive: https://drive.google.com/drive/folders/0B_YnvHgh2rwja3I4SllZN2VkYm8

Ubuntu

  • 2018-11-02 update, based on kernel 3.10 & kernel 4.4.
BPI-M64 Ubuntu 16.04 Desktp
Google Drive : https://drive.google.com/file/d/1YzdkY8i-IsXzXLkbPCPNbAuhYbHmUwgv/view
BPI-M64 Ubuntu 16.04 AARCH64 Kernel 3.10
Google Drive : https://drive.google.com/file/d/1MglySZLvquRPu1Wj8oLwdKBkFnRzLUL-/view
BPI-M64 Ubuntu 16.04 AARCH64 Kernel 4.4
Google Drive : https://drive.google.com/file/d/1g_m1NLn1-wUQ8jjPKEAwQcSj4d4P9vRP/view
forum pthread: https://forum.banana-pi.org/t/banana-pi-bpi-m64-new-images-ubuntu16-04-desktop-aarch64-release-2018-11-1/7159
Debian 9.5 AARCH64 Kernel 3.10
Image Links: Google Drive : Coming soon
  • 2018-4-17 update Ubuntu 16.04.4 with linux kernel 4.4.89
image name:2018-04-17-ubuntu-16.04-mate-desktop-demo3-k4.4.89-vdpau-3-mic-docker-bpi-r18-avs-aarch64-sd-emmc.img.zip
Google Drive: https://drive.google.com/file/d/1dlfo9LGNcrc-_cpKd1uJnrNx0PdonBnK/view
Forum pthread: https://forum.banana-pi.org/t/bpi-r18-avs-new-image-ubuntu-16-04-4-with-linux-kernel-4-4-89-2018-4-17/5435
  • 2018-09-18 This release is for banana pi M64 board which is based on Allwinner A64, We release three Images, Ubuntu 16.04 Desktop & Android is based on kernel 3.10.
forum pthread : https://forum.banana-pi.org/t/banana-pi-bpi-m64-new-images-ubuntu16-04-android-6-0-release-2018-09-18/6796
  • 2018-08-17 update Ubuntu 16.04 Server kernel 3.10.105
Google Drive : https://drive.google.com/file/d/1K-B4u8jGcv17s3I9v-Pr0xv5u5txvfok/view
Forum pthread: https://forum.banana-pi.org/t/bananapi-bpi-m64-a64-new-image-android-8-1-ubuntu-release-2018-08-17/6531
  • 2017-08-14 update based on ubuntu 16.04.3 LTS Mate Desktop (64-bit),support BPI-M64 kernel 3.10.105
Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjN1h1U0xDYUxET00/view?usp=sharing
Forum pthread: https://forum.banana-pi.org/t/bpi-m64-new-image-2017-08-14-ubuntu-16-04-mate-desktop-beta-aarch64-bpi-m64-sd-emmc/3695

Debian

  • 2022-09-07 Armbian_22.11.0-trunk_Bananapim64_bullseye_edge_5.19.7_xfce_desktop.img
Google Drive: https://drive.google.com/file/d/1UUbn24l3q_OsVP4XWT6eVQN531tHPzX0/view
  • 2018-11-2 update , This release is for banana pi M64 board which is based on Allwinner A64, We release two Images, Debian 9.5 AARCH64 is based on kernel 3.10 & kernel 4.4.
M64 Debian 9.5 AARCH64 Kernel 3.10
Google driver : https://drive.google.com/file/d/10qGv2gVrSgwXMBLDsCF0nQFc9EJnnkeS/view
M64 Debian 9.5 AARCH64 Kernel 4.4
Google Drive : https://drive.google.com/file/d/17fh3YY6cwOzHMsqwnRQRTu9cXjKU4_tV/view
forum pthread: https://forum.banana-pi.org/t/banana-pi-bpi-m64-new-images-debian-9-5-aarch64-release-2018-11-02/7166
  • 2017-08-13 debian 8.9 jessie Mate Desktop (64-bit),support BPI-M64 kernel 3.10.105
Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjazlNRTRHei1NbmM/view?usp=sharing
MD5: 9ddf067457ebaf193de63c5c7141446a
Forum pthread: https://forum.banana-pi.org/t/bpi-m64-new-image-2017-08-13-debian-8-jessie-mate-desktop-preview-aarch64-bpi-m64-sd-emmc/3694

Armbian

  • Armbian_23.02.0-trunk_Bananapim64_jammy_current_5.15.93.img.xz
  • Armbian_23.02.0-trunk_Bananapim64_jammy_edge_6.1.11_xfce_desktop.img.xz
Google Drive: https://drive.google.com/drive/folders/1VpvVkYMqgmSnmfKXQSrEY2B6wRa-cggL
Discuss on forum: https://forum.banana-pi.org/t/banana-pi-bpi-m64-new-armbian-image/15161


  • 2022-09-07 Armbian_22.11.0-trunk_Bananapim64_jammy_edge_5.19.7_xfce_desktop.img
Google Drive: https://drive.google.com/file/d/1_BaSpSdIaxJYy-QjaXLsOrJ25Ja7vA78/view


Raspbian

  • 2018-11-06 update : This release is for banana pi M64 board which is based on Allwinner A64, We release two Images, Raspbian 9.4 is based on kernel 3.10 & kernel 4.4.
BPI-M64 Raspbian 9.4 Kernel 3.10
Google Drive : https://drive.google.com/file/d/1qoKCVDgiuEj0IVEzuPgzuFLjFR9hTLH8/view
BPI-M64 Raspbian 9.4 Kernel 4.4
Google Drive : https://drive.google.com/file/d/1WnsHKnbI_FWQVkHQmbCcJ3yJ38oWaHGy/view
forum pthread: https://forum.banana-pi.org/t/banana-pi-bpi-m64-new-images-raspbian-9-4-kernel-3-10-4-4-release-2018-11-06/7195

Fedora Linux

Forum pthread: https://forum.banana-pi.org/t/bananapi-bpi-m64-new-image-fedora-31-with-grub-u-boot-2019-07-kernel-5-3-0/9938

Manjaro

  • 2019-01-15 update,BananaPi BPI-M64 Support Run Manjaro AArch64 System
Google Drive: https://drive.google.com/file/d/1Lu8xw4sAVyiHJT4eYcolNTAIKG154gm6/view?usp=drive_open
Bpi Ftp Server: https://dev.banana-pi.org.cn/Image/BPI-M64/Manjaro/
md5sum : 8c9964fbd80836228c72fa205eb62f78
username: manjaro/root
password: bananapi
Forum pthread: https://forum.banana-pi.org/t/bananapi-bpi-m64-new-image-manjaro-aarch64-system-2019-01-16/7696

FreeBSD

FreeBSD on Allwinner (sunxi) systems for banana pi

Banana pi as the official partner of Allwinner , must banana pi product use Allwinner chip design . such as A20/A31S/H3/H2+/A64/A83T , and FreeBSD have support many Allwinner . so easy to use on banana pi board.

  • Allwinner A20 (sun7i), a dual-core Cortex-A7 BPI-M1/BPI-M1+/BPI-R1
  • Allwinner A31 and A31s (sun6i), a quad-core Cortex-A7 BPI-M2
  • Allwinner A64 (sun50i), a quad-core Cortex-A53 BPI-M64
  • Allwinner A83T (sun8i), an octa-core Cortex-A7 BPI-M3
  • Allwinner H3 (sun8i), a quad-core Cortex-A7 BPI-M2+/BPI-M2+ EDU/
  • https://wiki.freebsd.org/FreeBSD/arm/Allwinner

Clonezilla

Others

Win 10 IoT

  • 2017-1-13 updae Win10 IoT Core beta0.2
  • Win10 IoT Core 10586 beta0.1
download link : https://drive.google.com/open?id=0B_YnvHgh2rwjODJOSS1TdkRvcEk

FAQ

  • 1,How-to use ubuntu system to support lcd7**?
1."vi /media/pi/BPI-BOOT/bananapi/bpi-m64/linux/lcd7/uEnv.txt"
2.If you use HC070TG lcd7 screen, change "touch=gt9xxnew_ts" But if you use S070WV20 lcd7 screen, you don't need to change.
3. "bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m64/u-boot-with-dtb-bpi-m64-lcd7-8k.img.gz"
4.reboot