Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: C/C++ CI

on:
create:
tags:
- '*'
jobs:
publish:
name: Publish for ${{ matrix.os }}-${{matrix.arch}}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
artifact_name: bin/bossac
asset_name: qbossa
arch: amd64
suffix: -linux-amd64
- os: windows-latest
artifact_name: bin/bossac.exe
asset_name: qbossa
arch: i686
msystem: MINGW32
suffix: -win32.exe
- os: windows-latest
artifact_name: bin/bossac.exe
asset_name: qbossa
arch: x86_64
msystem: MINGW64
suffix: -win64.exe
- os: macos-latest
artifact_name: bin/bossac
asset_name: qbossa
arch: amd64
suffix: -mac

steps:
- uses: actions/checkout@v2
- name: Inject slug/short variables
uses: rlespinasse/[email protected]
- name: get msys2
uses: msys2/setup-msys2@v2
if: ${{matrix.os == 'windows-latest'}}
with:
msystem: ${{ matrix.msystem }}
install: git base-devel binutils mingw-w64-${{ matrix.arch }}-toolchain
release: false
- name: make (win)
if: ${{matrix.os == 'windows-latest'}}
shell: msys2 {0}
run: make bossac
- name: make (not win)
if: ${{matrix.os != 'windows-latest'}}
run: make bossac
- name: Upload file
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{matrix.artifact_name}}
asset_name: ${{matrix.asset_name}}-${{env.GITHUB_REF_SLUG}}${{matrix.suffix}}
tag: ${{github.ref}}
overwrite: true
body: "Release ${{env.GITHUB_REF_SLUG}} of qNimble verion of BOSSA"
12 changes: 9 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,23 @@ INSTALLDIR=install
# Determine OS
#
OS:=$(shell uname -s | cut -c -7)

ifeq ($(OS),MSYS_NT)
OS:=WIN
else ifeq ($(OS),MINGW32)
OS:=WIN
else ifeq ($(OS),MINGW64)
OS:=WIN
endif
#
# Windows rules
#
ifeq ($(OS),MINGW32)
ifeq ($(OS),WIN)
# Use wxWindows development branch to work around font scaling issues on Windows
WXVERSION=3.1
EXE=.exe
COMMON_SRCS+=WinSerialPort.cpp WinPortFactory.cpp
COMMON_LDFLAGS=-Wl,--enable-auto-import -static -static-libstdc++ -static-libgcc
COMMON_LIBS=-ltermcap -Wl,--as-needed -lsetupapi
COMMON_LIBS=-Wl,--as-needed -lsetupapi
BOSSA_RC=BossaRes.rc
WIXDIR="C:\Program Files (x86)\WiX Toolset v3.11\bin"
CODE_SIGN=$(INSTALLDIR)\\code_sign.p12
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Supported Device Families
* SAMS70\*
* SAMV70\*
* SAMV71\*
* qNimble Quarto\*

\* Device families which are not tested for each release and could stop working.

Expand Down
2 changes: 1 addition & 1 deletion src/BossaForm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ AboutDialog::AboutDialog( wxWindow* parent, wxWindowID id, const wxString& title
_bossaBitmap = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
_topBoxSizer->Add( _bossaBitmap, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );

_titleStaticText = new wxStaticText( this, wxID_ANY, wxT("Basic Open Source SAM-BA Application"), wxDefaultPosition, wxDefaultSize, 0 );
_titleStaticText = new wxStaticText( this, wxID_ANY, wxT("qNimble's Basic Open Source SAM-BA Application"), wxDefaultPosition, wxDefaultSize, 0 );
_titleStaticText->Wrap( -1 );
_topBoxSizer->Add( _titleStaticText, 0, wxALL, 5 );

Expand Down
2 changes: 1 addition & 1 deletion src/BossaForm.fbp
Original file line number Diff line number Diff line change
Expand Up @@ -2678,7 +2678,7 @@
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Basic Open Source SAM-BA Application</property>
<property name="label">qNimble's Basic Open Source SAM-BA Application</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
Expand Down
8 changes: 8 additions & 0 deletions src/Device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,14 @@ Device::create()
_family = FAMILY_SAMV71;
flashPtr = new EefcFlash(_samba, "ATSAMV71x21", 0x400000, 4096, 512, 1, 128, 0x20401000, 0x20404000, 0x400e0c00, false);
break;
//
// qNimble BOSSA-compatible bootloader
//
case 0x714e3000:
_family = FAMILY_SAM7X;
flashPtr = new EfcFlash(_samba, "qNimble BOSSAv1", 0x300000, 32768, 256, 1, 32, 0x202000, 0x220000, true);

break;
//
// No CHIPID devices
//
Expand Down
2 changes: 1 addition & 1 deletion src/EfcFlash.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ EfcFlash::EfcFlash(Samba& samba,
_canBootFlash(canBootFlash)
{
assert(planes == 1 || planes == 2);
assert(pages <= planes * 1024);
assert(pages <= planes * 65536);
assert(lockRegions <= 32);

eraseAuto(true);
Expand Down
6 changes: 3 additions & 3 deletions src/bossac.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -336,17 +336,17 @@ main(int argc, char* argv[])
{
if (config.help)
printf("Usage: %s [OPTION...] [FILE]\n", argv[0]);
printf("Basic Open Source SAM-BA Application (BOSSA) Version " VERSION "\n"
printf("qNimble's Basic Open Source SAM-BA Application (qBOSSA) Version " VERSION "\n"
"Flash programmer for Atmel SAM devices.\n"
"Copyright (c) 2011-2018 ShumaTech (http://www.shumatech.com)\n"
);
if (config.help)
{
printf("\n"
"Examples:\n"
" bossac -e -w -v -b image.bin # Erase flash, write flash with image.bin,\n"
" qbossac -e -w -v -b image.bin # Erase flash, write flash with image.bin,\n"
" # verify the write, and set boot from flash\n"
" bossac -r0x10000 image.bin # Read 64KB from flash and store in image.bin\n"
" qbossac -r0x10000 image.bin # Read 64KB from flash and store in image.bin\n"
);
printf("\nOptions:\n");
cmd.usage(stdout);
Expand Down