Skip to content
Snippets Groups Projects
Select Git revision
  • patch-1
  • master default protected
  • mh/blecentral
  • patch-2
  • filenames-blacklist
  • rahix/ble-fix
  • genofire/ble-rewrite
  • koalo/bhi160-works-but-dirty
  • ch3/splashscreen
  • m
  • rahix/simple_menu
  • ios-workarounds
  • koalo/wip/i2c-for-python
  • renze/safe_mode
  • renze/hatchery_apps
  • schneider/fundamental-test
  • koalo/factory-reset
  • msgctl/gfx_rle
  • msgctl/faultscreen
  • msgctl/textbuffer_api
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
26 results

flash-all.gdb

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    default.nix 1.42 KiB
    let
      mozillaOverlay = import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz);
      pkgs = import <nixpkgs> { overlays = [ mozillaOverlay ]; };
    in
    with pkgs;
    let
      openocd = callPackage ./openocd.nix {};
      rust = rustChannelOfTargets "nightly" null [ "thumbv7em-none-eabi" ];
      rustPlatform = makeRustPlatform {
        rustc = rust;
        cargo = rust;
      };
      epic-stubs = stdenv.mkDerivation {
        name = "epic-stubs";
        src = ./c;
        buildInputs = [ gcc python3 ];
        buildPhase = ''
          ${python3}/bin/python epicardium/api/genapi.py -H epicardium/epicardium.h -c client.c -s server.c
        '';
        installPhase = ''
          mkdir $out
          cp client.c server.c $out/
        '';
      };
      firmware = rustPlatform.buildRustPackage rec {
        name = "rust-card10";
        version = "0.0.0";
        src = ./.;
        cargoSha256 = "10qv30p3kr570glnyn37b6r8pgx48zj0mr9qf84m4wk4sjp3wxsd";
        buildInputs = [ pkgsCross.arm-embedded.stdenv.cc glibc_multi ];
        prePatch = ''
          cp ${epic-stubs}/client.c l0dable/src/
        '';
        preBuild = ''
          export LIBCLANG_PATH=${llvmPackages.libclang}/lib
          export CPATH=${glibc_multi.dev}/include
          export CARGO_HOME=$(mktemp -d cargo-home.XXX)
          cd example
        '';
        doCheck = false;
        installPhase = ''
          mkdir -p $out/lib
          cp target/thumbv7em-none-eabi/release/example $out/lib/example.elf
        '';
      };
    in {
      inherit rust rustPlatform firmware epic-stubs;
    }