Bootstrap code

wch-ch32v003
Felix "xq" Queißner 1 year ago
parent 72a5680af8
commit 193ce99c18

1
.gitattributes vendored

@ -0,0 +1 @@
*.zig text=auto eol=lf

@ -0,0 +1,26 @@
name: Build
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, macos-latest, linux-latest]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
version: 0.11.0
- name: Build examples
run: zig build

3
.gitignore vendored

@ -0,0 +1,3 @@
zig-cache/
dev-scripts/
zig-out

@ -0,0 +1,19 @@
const std = @import("std");
const microzig = @import("microzig");
const rp2040 = @import("rp2040");
pub fn build(b: *std.Build) void {
const optimize = b.standardOptimizeOption(.{});
const firmware = microzig.addFirmware(b, .{
.name = "blinky",
.target = rp2040.chips.rp2040,
.optimize = optimize,
.source_file = .{ .path = "src/blinky.zig" },
});
microzig.installFirmware(firmware, .{
.format = .uf2, // .dfu, .bin, .hex, .elf,
});
}

@ -0,0 +1,14 @@
.{
.name = "microzig-examples",
.version = "0.1.0",
.dependencies = .{
.microzig = .{
.url = "https://github.com/ZigEmbeddedGroup/microzig/archive/f0a6aa9ce1829df91f2d7f160bbc6f5bc41a3c80.tar.gz",
.hash = "12203f8cb7803a82dff1310ab0917055c0055bc7385f1321bbaf0de998b26a00b44d",
},
.rp2040 = .{
.url = "https://github.com/ZigEmbeddedGroup/raspberrypi-rp2040/archive/2a0c0ff2814a716a163822211c2686d84801a97a.tar.gz",
.hash = "12208735720ddf172a28943f1b17375f7b16370140be9c458f1482076025e465c3b0",
},
},
}

@ -0,0 +1,5 @@
#!/bin/sh
exec ezpkg \
microzig=/home/felix/projects/zeg/microzig \
rp2040=/home/felix/projects/zeg/device-support-package/rp2040

@ -0,0 +1,8 @@
{pkgs ? import <nixpkgs> {}}:
pkgs.mkShell {
nativeBuildInputs = [
pkgs.zig_0_11_0
pkgs.picotool
];
buildInputs = [];
}

@ -0,0 +1,20 @@
const std = @import("std");
const microzig = @import("microzig");
const rp2040 = microzig.hal;
const time = rp2040.time;
const pin_config = rp2040.pins.GlobalConfiguration{
.GPIO25 = .{
.name = "led",
.direction = .out,
},
};
pub fn main() !void {
const pins = pin_config.apply();
while (true) {
pins.led.toggle();
time.sleep_ms(250);
}
}
Loading…
Cancel
Save