mirror of
https://github.com/pine64/blisp.git
synced 2026-09-21 13:51:30 +00:00
Compare commits
16
Commits
25bf9fe209
..
ralim
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6306a00de7 | ||
|
|
c87a4a092c | ||
|
|
dbd7ee2257 | ||
|
|
05b62d2fa5 | ||
|
|
d25bd65f15 | ||
|
|
ec44c2358b | ||
|
|
c63883bfa7 | ||
|
|
99a30ae9cc | ||
|
|
11c31d6eed | ||
|
|
6724a9c682 | ||
|
|
342a43b071 | ||
|
|
d052d2ebe4 | ||
|
|
9893a49376 | ||
|
|
cf00bedeaf | ||
|
|
013c1d0141 | ||
|
|
98343db387 |
@@ -2,22 +2,6 @@ name: Build
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
check-nix-flake:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: cachix/install-nix-action@v30
|
||||
- name: Check Nix Flake
|
||||
run: nix flake check --print-build-logs
|
||||
|
||||
check-nix-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: cachix/install-nix-action@v30
|
||||
- name: Build package
|
||||
run: nix build --print-build-logs
|
||||
|
||||
build-windows:
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
@@ -58,7 +42,7 @@ jobs:
|
||||
- name: Upload results
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: blips-apple-universal.zip
|
||||
name: blips-apple-x86_64.zip
|
||||
path: |
|
||||
build/tools/blisp/blisp
|
||||
if-no-files-found: error
|
||||
|
||||
+5
-12
@@ -1,8 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE)
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
project(blisp C)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD 23)
|
||||
|
||||
option(BLISP_BUILD_CLI "Build CLI Tool" OFF)
|
||||
option(BLISP_USE_SYSTEM_LIBRARIES "Use system-installed libraries" "${CMAKE_USE_SYSTEM_LIBRARIES}")
|
||||
@@ -29,14 +28,14 @@ set(BLISP_PUBLIC_HEADERS
|
||||
|
||||
set_target_properties(libblisp PROPERTIES
|
||||
PUBLIC_HEADER "${BLISP_PUBLIC_HEADERS}"
|
||||
VERSION 0.0.4
|
||||
VERSION 0.0.3
|
||||
SOVERSION 1
|
||||
LIBRARY_OUTPUT_DIRECTORY "shared"
|
||||
OUTPUT_NAME "blisp")
|
||||
|
||||
set_target_properties(libblisp_static PROPERTIES
|
||||
PUBLIC_HEADER "${BLISP_PUBLIC_HEADERS}"
|
||||
VERSION 0.0.4
|
||||
VERSION 0.0.3
|
||||
SOVERSION 1
|
||||
ARCHIVE_OUTPUT_DIRECTORY "static"
|
||||
OUTPUT_NAME "blisp")
|
||||
@@ -91,13 +90,7 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
install(TARGETS libblisp libblisp_static
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
)
|
||||
install(TARGETS libblisp libblisp_static DESTINATION lib)
|
||||
|
||||
if(BLISP_BUILD_CLI)
|
||||
add_subdirectory(tools/blisp)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[](https://github.com/pine64/blisp/wiki/Update-Pinecil-V2)
|
||||
[](https://github.com/pine64/blisp/releases/tag/v0.0.4)
|
||||
[](https://github.com/pine64/blisp/releases/tag/v0.0.3)
|
||||
[](https://discord.com/invite/pine64)
|
||||
[](https://github.com/pine64/blisp/releases/tag/v0.0.4)
|
||||
[](https://github.com/pine64/blisp/releases/tag/v0.0.3)
|
||||
|
||||
<img src="./img/Gradient-white-blue-03.png" align="left" width="60" > <br clear="left" />
|
||||
# BLISP
|
||||
@@ -94,20 +94,3 @@ Because this is done at the lowest level of serial communication, the
|
||||
displays aren't packet-aware or know about the chip's command set or such.
|
||||
This is really only useful for debugging systems-level issues withing
|
||||
the device or blisp itself.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### macOS
|
||||
|
||||
Depending on your current system security settings, modern versions of macOS requires all software to be notarised before you are able to execute it. This is specially true for software that is downloaded directly from the internet.
|
||||
|
||||
If that is the case, you will get an error that looks like the following:
|
||||
> **“blisp” cannot be opened because the developer cannot be verified.**
|
||||
>
|
||||
> macOS cannot verify that this app is free from malware.
|
||||
|
||||
In that case, you will need to remove the *quarantine* flag that macOS adds to the executable. After that you should be able to run **blisp** as normal.
|
||||
|
||||
```bash
|
||||
xattr -d com.apple.quarantine blisp
|
||||
```
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
self,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
argtable,
|
||||
cmake,
|
||||
libserialport,
|
||||
pkg-config,
|
||||
testers,
|
||||
IOKit ? null,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "blisp";
|
||||
version = "0.0.4-unstable";
|
||||
src = self;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
argtable
|
||||
libserialport
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin IOKit;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBLISP_BUILD_CLI=ON"
|
||||
"-DBLISP_USE_SYSTEM_LIBRARIES=ON"
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-error=implicit-function-declaration";
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
version = "v${finalAttrs.version}";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "In-System-Programming (ISP) tool & library for Bouffalo Labs RISC-V Microcontrollers and SoCs";
|
||||
license = licenses.mit;
|
||||
mainProgram = "blisp";
|
||||
homepage = "https://github.com/pine64/blisp";
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.bdd ];
|
||||
};
|
||||
})
|
||||
@@ -1,9 +0,0 @@
|
||||
(import (
|
||||
let
|
||||
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
in
|
||||
fetchTarball {
|
||||
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
||||
sha256 = lock.nodes.flake-compat.locked.narHash;
|
||||
}
|
||||
) { src = ./.; }).defaultNix
|
||||
Generated
-27
@@ -1,27 +0,0 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1731319897,
|
||||
"narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "dc460ec76cbff0e66e269457d7b728432263166c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
description = "A very basic flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ self, nixpkgs, ... }@inputs:
|
||||
let
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
forEachSystem = nixpkgs.lib.genAttrs systems;
|
||||
in
|
||||
{
|
||||
packages = forEachSystem (
|
||||
system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
with pkgs;
|
||||
{
|
||||
blisp = callPackage ./blisp.nix { inherit self; };
|
||||
default = self.packages.${system}.blisp;
|
||||
}
|
||||
);
|
||||
|
||||
devShells = forEachSystem (
|
||||
system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
with pkgs;
|
||||
{
|
||||
default = mkShell {
|
||||
name = "blisp-dev";
|
||||
nativeBuildInputs = [ self.packages.${system}.default ];
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
(import (
|
||||
let
|
||||
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
in
|
||||
fetchTarball {
|
||||
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
||||
sha256 = lock.nodes.flake-compat.locked.narHash;
|
||||
}
|
||||
) { src = ./.; }).shellNix
|
||||
@@ -222,13 +222,13 @@ blisp_return_t blisp_flash_firmware() {
|
||||
|
||||
if (ret != BLISP_OK) {
|
||||
fprintf(stderr,
|
||||
"Failed to erase flash. Tried to erase from 0x%08lu to 0x%08lu\n",
|
||||
"Failed to erase flash. Tried to erase from 0x%08X to 0x%08X\n",
|
||||
parsed_file.payload_address,
|
||||
parsed_file.payload_address + parsed_file.payload_length + 1);
|
||||
goto exit2;
|
||||
}
|
||||
|
||||
printf("Flashing the firmware %lu bytes @ 0x%08lu...\n",
|
||||
printf("Flashing the firmware %d bytes @ 0x%08X...\n",
|
||||
parsed_file.payload_length, parsed_file.payload_address);
|
||||
struct blisp_easy_transport data_transport =
|
||||
blisp_easy_transport_new_from_memory(parsed_file.payload,
|
||||
|
||||
@@ -8,7 +8,7 @@ file(GLOB_RECURSE sources
|
||||
)
|
||||
list(APPEND ADD_SRCS ${sources})
|
||||
|
||||
add_library(file_parsers STATIC
|
||||
add_library(file_parsers
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/bin/bin_file.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/dfu/dfu_file.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/dfu/dfu_crc.c"
|
||||
|
||||
Reference in New Issue
Block a user