Skip to content

PYdotC/u8g2-arm-linux

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

U8g2 for arm-linux

Build Status

Check wiki here for set-up

Introduction

U8g2 is a monochrome graphics library for embedded devices, and I ported it onto arm linux.

It should work fine on virtually all devices running linux with i2c, spi support, since no libraries pertaining to specific platforms has been used, yet you need to choose right compilers for your devices.

Todo list

[●] Hardware I2C
[●] Hardware SPI
[●] Software I2C
[●] Software SPI
[●] 8080 mode
[●] Add C++ wrapper
[●] Improve software GPIO speed by tracking fd
[●] Better build system
[●] Upstream the port

Gallery

Nanopi
http://wiki.friendlyarm.com/wiki/index.php/NanoPi

Nanopi


Nanopi

Nanopi NEO
http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO

Nanopi-Neo

Raspberry Pi ZERO
https://www.raspberrypi.org/products/raspberry-pi-zero/

Raspi-Zero

Raspberry Pi 2 B+
https://www.raspberrypi.org/products/raspberry-pi-2-model-b/

Raspi2-B+

Orange Pi ZERO
http://www.orangepi.org/orangepizero/

orangepi-zero

Lichee Pi NANO
http://nano.lichee.pro/

licheepi-nano

C-SKY
https://c-sky.github.io/docs/gx6605s.html

csky-ck610

How to compile

First, clone this repo:

$ git clone https://github.com/wuhanstudio/u8g2-arm-linux.git

$ cd u8g2-arm-linux

Change cross-compiler in Makefile under each example directory according to your board.

# Chosse proper compiler for your PI
# NanoPi:             arm-linux-gnueabi-gcc
# Raspberry Pi Zero:  arm-linux-gnueabi-gcc

# Raspberry Pi 2:     arm-linux-gnueabihf-gcc
# OrangePi Zero:      arm-linux-gnueabihf-gcc
# NanoPi NEO:         arm-linux-gnueabihf-gcc
# NanoPi NEO Plus 2:  arm-linux-gnueabihf-gcc
# C-SKY:              csky-linux-gcc	
CC = arm-linux-gnueabihf-gcc

For cross-compile:

arm-linux-gnueabi-gcc   for armv6  
arm-linux-gnueabihf-gcc for armv7

For native-compile (compile on your board), simply use:

CC = gcc

Finally, time to compile:

$ make

How to run

Before running, you can check your I2C graphic devices using i2c-tools:

$ sudo apt-get install i2c-tools

List your devices:

$ ls /dev/i2c*
/dev/i2c-0 /dev/i2c-1

Probe your devices on bus 0:

$ i2cdetect -y -r 0


For cross-compile, you can change ip address in Makefile:

# IP Address of your PI	
[email protected]

Then upload generated binary file onto your board:

$ make upload

Related Projects

Contact

About

U8g2 for arm linux - a monochrome graphics library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 96.0%
  • C++ 4.0%