iniciando o projeto
This commit is contained in:
86
README.md
Normal file
86
README.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# R36 Ultra Framebuffer Demo - ARM64 Build
|
||||
|
||||
## ✅ Successfully Compiled for ARM64!
|
||||
|
||||
The program has been cross-compiled for ARM64 (aarch64) architecture.
|
||||
|
||||
## Files
|
||||
|
||||
- **`framebuffer_simple.c`** - Pure C implementation (no dependencies)
|
||||
- **`framebuffer_demo.vala`** - Vala implementation (requires GLib)
|
||||
- **`framebuffer_demo`** - ARM64 binary (statically linked, ready to run)
|
||||
- **`compile_simple.sh`** - Compilation script for C version
|
||||
|
||||
## Binary Information
|
||||
|
||||
```
|
||||
framebuffer_demo: ELF 64-bit LSB executable, ARM aarch64, statically linked
|
||||
```
|
||||
|
||||
This binary is:
|
||||
- ✅ Compiled for ARM64 (R36 Ultra architecture)
|
||||
- ✅ Statically linked (no dependencies needed)
|
||||
- ✅ Ready to transfer and run on R36 Ultra
|
||||
|
||||
## Transfer to R36 Ultra
|
||||
|
||||
### Option 1: SCP (Network Transfer)
|
||||
```bash
|
||||
scp framebuffer_demo user@r36ultra-ip:/home/user/
|
||||
```
|
||||
|
||||
### Option 2: USB/SD Card
|
||||
1. Copy `framebuffer_demo` to USB drive or SD card
|
||||
2. Insert into R36 Ultra
|
||||
3. Copy to device
|
||||
|
||||
## Running on R36 Ultra
|
||||
|
||||
```bash
|
||||
chmod +x framebuffer_demo
|
||||
sudo ./framebuffer_demo
|
||||
```
|
||||
|
||||
## What It Does
|
||||
|
||||
The program:
|
||||
1. Opens `/dev/fb0` framebuffer (720x720, BGRA format)
|
||||
2. Draws colorful shapes:
|
||||
- Red rectangle
|
||||
- Green circle
|
||||
- Blue rectangle
|
||||
- Yellow circle
|
||||
3. Waits for Enter key
|
||||
4. Clears screen and exits
|
||||
|
||||
## Recompiling
|
||||
|
||||
### For ARM64 (cross-compile):
|
||||
```bash
|
||||
./compile_simple.sh arm64
|
||||
```
|
||||
|
||||
### For native (x86_64):
|
||||
```bash
|
||||
./compile_simple.sh
|
||||
```
|
||||
|
||||
## Customization
|
||||
|
||||
Edit `framebuffer_simple.c` and use these functions:
|
||||
|
||||
- `fill_screen(fb, b, g, r, a)` - Fill screen with color
|
||||
- `set_pixel(fb, x, y, b, g, r, a)` - Set individual pixel
|
||||
- `draw_rectangle(fb, x, y, w, h, b, g, r, a)` - Draw rectangle
|
||||
- `draw_circle(fb, cx, cy, radius, b, g, r, a)` - Draw circle
|
||||
- `fb_update(fb)` - Write to framebuffer
|
||||
|
||||
**Note**: Colors are in BGRA format (Blue, Green, Red, Alpha)
|
||||
|
||||
## Advantages of C Version
|
||||
|
||||
- ✅ No dependencies (pure C, statically linked)
|
||||
- ✅ Easy cross-compilation
|
||||
- ✅ Small binary size
|
||||
- ✅ Fast execution
|
||||
- ✅ Works on any ARM64 Linux system
|
||||
Reference in New Issue
Block a user