diff --git a/CMakeLists.txt b/CMakeLists.txt
index b660e0f23..86282775e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -143,7 +143,7 @@ endif ()
set(STLINK_LIBRARY_PATH ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Main library install directory")
# Set the environment variable LD_LIBRARY_PATH to point to /usr/local/lib (per default).
-execute_process (COMMAND bash -c "export LD_LIBRARY_PATH="${CMAKE_INSTALL_LIBDIR}"")
+execute_process (COMMAND bash -c "export LD_LIBRARY_PATH="${CMAKE_INSTALL_LIBDIR}" ")
###
diff --git a/doc/tutorial.md b/doc/tutorial.md
index 694142184..81315dbef 100644
--- a/doc/tutorial.md
+++ b/doc/tutorial.md
@@ -29,70 +29,7 @@ Within the GUI main window tooltips explain the available user elements.
## Solutions to common problems
-### a) STLINK/v1 driver: Issue with Kernel Extension (kext) (macOS 10.11 and later only)
-#### Problem:
-
-st-util fails to detect a STLINK/v1 device:
-
-```
-st-util -1
-st-util $VERSION-STRING$
-WARN src/sg.c: Failed to find an stlink v1 by VID:PID
-ERROR src/sg.c: Could not open stlink device
-```
-
-#### Solution (clean setup):
-
-1) Configure System Integrity Protection (SIP)
-
-The root of this problem is a system security setting introduced by Apple with OS X El Capitan (10.11) in 2015.
-The so called System Integrity Protection (SIP) is active per default
-and prevents the operating system amongst other things to load unsigned Kernel Extension Modules (kext).
-Thus the STLINK/v1 driver supplied with the tools, which installs as a kext, remains not functional,
-while SIP is fully activated (as is per default).
-
-Action needs to be taken here by booting into the recovery mode where a terminal console window needs to be opened.
-
-For macOS 10.11 - 10.13 it is not recommended to disable SIP completely as with the command `csrutil disable`,
-because this leaves the system more vulnerable to common threats.
-Instead there is a more adequate and reasonable option implemented by Apple.
-Running `csrutil enable --without kext`, allows to load unsigned kernel extensions
-while leaving SIP active with all other security features.
-Unfortunately this option has been removed in macOS 10.14, which leaves the only option to disable SIP completely.
-
-So who ever intends to run the STLINK/v1 programmer on macOS please take this into account.
-
-Further details can be found here: https://forums.developer.apple.com/thread/17452
-
-2) Install the ST-Link-v1 driver from the subdirectory `/stlinkv1_macosx_driver`
- by referring to the instructions in the README file available there.
-
-3) Move the $OS_VERSION$.kext file to `/System/Library/Extensions`.
-
-4) Load the Kernel Extension (kext): `$ sudo kextload -v /System/Library/Extensions/stlink_shield10_x.kext`
-
-```
-Requesting load of /System/Library/Extensions/stlink_shield10_x.kext.
-/System/Library/Extensions/stlink_shield10_x.kext loaded successfully (or already loaded).
-```
-
-5) Enter the command `$ sudo touch /System/Library/Extensions`
-
-
-7) Verify correct detection of the STLINK/v1 device with the following input: `st-util -1`
-
-You should then see a similar output like in this example:
-
-```
-INFO common.c: Loading device parameters....
-INFO common.c: Device connected is: F1 High-density device, id 0x10036414
-INFO common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0x80000 bytes (512 KiB) in pages of 2048 bytes
-INFO sg.c: Successfully opened a stlink v1 debugger
-INFO gdb-server.c: Chip ID is 00000414, Core ID is 1ba01477.
-INFO gdb-server.c: Listening at *:4242...
-```
-
-### b) Verify if udev rules are set correctly (by Dave Hylands)
+### a) Verify if udev rules are set correctly (by Dave Hylands)
To investigate, start by plugging your STLINK device into the usb port. Then run `lsusb`. You should see an entry something like the following:
diff --git a/stlinkv1_macosx_driver/Makefile b/stlinkv1_macos_driver/Makefile
similarity index 74%
rename from stlinkv1_macosx_driver/Makefile
rename to stlinkv1_macos_driver/Makefile
index 9947ff672..e6ba6309b 100644
--- a/stlinkv1_macosx_driver/Makefile
+++ b/stlinkv1_macos_driver/Makefile
@@ -1,15 +1,17 @@
-# make ... for both stlink v1 and stlink v2 support
-##
+###
+# Makefile for STlink-v1 support
+###
+
VPATH=src
-SOURCES_LIB=stlink-common.c stlink-usb.c stlink-sg.c uglylogging.c
+SOURCES_LIB=common.c usb.c sg.c logging.c
OBJS_LIB=$(SOURCES_LIB:.c=.o)
-TEST_PROGRAMS=test_usb test_sg
+TEST_PROGRAMS=test-flash test-sg test-usb
LDFLAGS=-L. -lstlink -lusb-1.0
CFLAGS+=-g
CFLAGS+=-DDEBUG=1
-CFLAGS+=-std=gnu99
+CFLAGS+=-std=gnu11
CFLAGS+=-Wall -Wextra
@@ -20,8 +22,8 @@ all: $(LIBRARY) flash gdbserver $(TEST_PROGRAMS)
$(LIBRARY): $(OBJS_LIB)
@echo "objs are $(OBJS_LIB)"
$(AR) -cr $@ $^
- @echo "done making library"
-
+ @echo "Compilation of library completed."
+
test_sg: test_sg.o $(LIBRARY)
@echo "building test_sg"
@@ -40,18 +42,17 @@ test_usb: test_usb.o $(LIBRARY)
clean:
rm -rf $(OBJS_LIB)
rm -rf $(LIBRARY)
- rm -rf test_usb*
- rm -rf test_sg*
+ rm -rf test-flash* test-sg* test-usb*
$(MAKE) -C flash clean
$(MAKE) -C gdbserver clean
-
+
flash:
$(MAKE) -C flash
gdbserver:
$(MAKE) -C gdbserver CONFIG_USE_LIBSG="$(CONFIG_USE_LIBSG)"
-osx_stlink_shield:
- ./osx/install.sh
+macos_stlink_shield:
+ ./install.sh
.PHONY: clean all flash gdbserver
diff --git a/stlinkv1_macos_driver/README.md b/stlinkv1_macos_driver/README.md
new file mode 100644
index 000000000..e0f9256e8
--- /dev/null
+++ b/stlinkv1_macos_driver/README.md
@@ -0,0 +1,39 @@
+# Installation instructions for STLINK/v1 driver
+
+When connecting to the STLINK/v1 on macOS via USB, the system claims the programmer as a SCSI device. Thus libusb is not able to initialise and establish a connection to it. To solve this issue Marco Cassinerio (marco.cassinerio@gmail.com) has created a so called "codeless driver" which claims the device. It is of higher priority then the default apple mass storage driver, what allows the device to be accessed through libusb.
+
+To make use of this alternative approach one needs to go through the following steps:
+
+1) Configure System Integrity Protection (SIP)
+
+The above system security setting introduced by Apple with OS X El Capitan (10.11) in 2015 is active per default
+and prevents the operating system amongst other things to load unsigned Kernel Extension Modules (kext).
+Thus the STLINK/v1 driver supplied with the tools, which installs as a kext, remains not functional,
+until SIP is fully deactivated. Without SIP-deactivation, st-util would fail to detect a STLINK/v1 device later on.
+
+In order to deactivate SIP, boot into the recovery mode and run ```csrutil disable``` in a terminal console window.
+
+2) Reboot the system.
+
+3) Install the macOS Kernel Extension (kext) (ST-Link-v1 driver):
+ - Open a terminal console and navigate to this subdirectory `/stlinkv1_macos_driver`
+ - Use the command ```sudo sh ./install.sh``` to install the appropiate kext for your system version.
+ This should result in the following output:
+
+```
+Requesting load of /Library/Extensions/stlink_shield.kext.
+/Library/Extensions/stlink_shield.kext loaded successfully (or already loaded).
+```
+4) Reboot the system.
+
+5) Verify correct detection of the STLINK/v1 device with the following input: `st-util -1`
+You should then see a similar output like in this example:
+
+```
+INFO common.c: Loading device parameters....
+INFO common.c: Device connected is: F1 High-density device, id 0x10036414
+INFO common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0x80000 bytes (512 KiB) in pages of 2048 bytes
+INFO sg.c: Successfully opened a stlink v1 debugger
+INFO gdb-server.c: Chip ID is 00000414, Core ID is 1ba01477.
+INFO gdb-server.c: Listening at *:4242...
+```
diff --git a/stlinkv1_macos_driver/install.sh b/stlinkv1_macos_driver/install.sh
new file mode 100644
index 000000000..19e9f141d
--- /dev/null
+++ b/stlinkv1_macos_driver/install.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+ISMACOS=$(sw_vers -productVersion)
+case $ISMACOS in
+10.13*)
+ KEXT="stlink_shield_10_13.kext"
+ ;;
+10.14*)
+ KEXT="stlink_shield_10_14.kext"
+ ;;
+10.15*)
+ KEXT="stlink_shield_10_15.kext"
+ ;;
+*)
+ echo "OS X version not supported."
+ exit 1
+ ;;
+esac
+chown -R root:wheel $KEXT/
+cp -R $KEXT /Library/Extensions/stlink_shield.kext
+kextload -v /Library/Extensions/stlink_shield.kext
+touch /Library/Extensions
diff --git a/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/Info.plist b/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/Info.plist
new file mode 100644
index 000000000..fc759b362
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/Info.plist
@@ -0,0 +1,82 @@
+
+
+
+
+ BuildMachineOSBuild
+ 18G4032
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ com.libusb.stlink-shield
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ KEXT
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1.0.0
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 11C504
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 19B90
+ DTSDKName
+ macosx10.15
+ DTXcode
+ 1130
+ DTXcodeBuild
+ 11C504
+ IOKitPersonalities
+
+ DeviceDriver
+
+ CFBundleIdentifier
+ com.apple.kpi.iokit
+ IOClass
+ IOService
+ IOProviderClass
+ IOUSBDevice
+ bcdDevice
+ 256
+ idProduct
+ 14148
+ idVendor
+ 1155
+
+ InterfaceDriver
+
+ CFBundleIdentifier
+ com.apple.kpi.iokit
+ IOClass
+ IOService
+ IOProviderClass
+ IOUSBInterface
+ bConfigurationValue
+ 1
+ bInterfaceNumber
+ 0
+ idProduct
+ 14148
+ idVendor
+ 1155
+
+
+ LSMinimumSystemVersion
+ 10.13
+ OSBundleLibraries
+
+ com.apple.iokit.IOUSBFamily
+ 1.8
+ com.apple.kpi.libkern
+ 11.2.0
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/MacOS/stlink_shield_10_13 b/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/MacOS/stlink_shield_10_13
new file mode 100644
index 000000000..161c0a829
Binary files /dev/null and b/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/MacOS/stlink_shield_10_13 differ
diff --git a/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/PkgInfo b/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/PkgInfo
new file mode 100644
index 000000000..bdab95bcc
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/PkgInfo
@@ -0,0 +1 @@
+KEXT????
\ No newline at end of file
diff --git a/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/_CodeSignature/CodeResources b/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/_CodeSignature/CodeResources
new file mode 100644
index 000000000..d5d0fd744
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_10_13.kext/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,115 @@
+
+
+
+
+ files
+
+ files2
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/Info.plist b/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/Info.plist
new file mode 100644
index 000000000..d43deca2b
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/Info.plist
@@ -0,0 +1,82 @@
+
+
+
+
+ BuildMachineOSBuild
+ 18G4032
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ com.libusb.stlink-shield
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ KEXT
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1.0.0
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 11C504
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 19B90
+ DTSDKName
+ macosx10.15
+ DTXcode
+ 1130
+ DTXcodeBuild
+ 11C504
+ IOKitPersonalities
+
+ DeviceDriver
+
+ CFBundleIdentifier
+ com.apple.kpi.iokit
+ IOClass
+ IOService
+ IOProviderClass
+ IOUSBDevice
+ bcdDevice
+ 256
+ idProduct
+ 14148
+ idVendor
+ 1155
+
+ InterfaceDriver
+
+ CFBundleIdentifier
+ com.apple.kpi.iokit
+ IOClass
+ IOService
+ IOProviderClass
+ IOUSBInterface
+ bConfigurationValue
+ 1
+ bInterfaceNumber
+ 0
+ idProduct
+ 14148
+ idVendor
+ 1155
+
+
+ LSMinimumSystemVersion
+ 10.14
+ OSBundleLibraries
+
+ com.apple.iokit.IOUSBFamily
+ 1.8
+ com.apple.kpi.libkern
+ 11.2.0
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/MacOS/stlink_shield_10_14 b/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/MacOS/stlink_shield_10_14
new file mode 100644
index 000000000..a49757ef1
Binary files /dev/null and b/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/MacOS/stlink_shield_10_14 differ
diff --git a/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/PkgInfo b/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/PkgInfo
new file mode 100644
index 000000000..bdab95bcc
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/PkgInfo
@@ -0,0 +1 @@
+KEXT????
\ No newline at end of file
diff --git a/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/_CodeSignature/CodeResources b/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/_CodeSignature/CodeResources
new file mode 100644
index 000000000..d5d0fd744
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_10_14.kext/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,115 @@
+
+
+
+
+ files
+
+ files2
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/Info.plist b/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/Info.plist
new file mode 100644
index 000000000..a2a5f8ac2
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/Info.plist
@@ -0,0 +1,82 @@
+
+
+
+
+ BuildMachineOSBuild
+ 18G4032
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ com.libusb.stlink-shield
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ KEXT
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1.0.0
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 11C504
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 19B90
+ DTSDKName
+ macosx10.15
+ DTXcode
+ 1130
+ DTXcodeBuild
+ 11C504
+ IOKitPersonalities
+
+ DeviceDriver
+
+ CFBundleIdentifier
+ com.apple.kpi.iokit
+ IOClass
+ IOService
+ IOProviderClass
+ IOUSBDevice
+ bcdDevice
+ 256
+ idProduct
+ 14148
+ idVendor
+ 1155
+
+ InterfaceDriver
+
+ CFBundleIdentifier
+ com.apple.kpi.iokit
+ IOClass
+ IOService
+ IOProviderClass
+ IOUSBInterface
+ bConfigurationValue
+ 1
+ bInterfaceNumber
+ 0
+ idProduct
+ 14148
+ idVendor
+ 1155
+
+
+ LSMinimumSystemVersion
+ 10.15
+ OSBundleLibraries
+
+ com.apple.iokit.IOUSBFamily
+ 1.8
+ com.apple.kpi.libkern
+ 11.2.0
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/MacOS/stlink_shield_10_15 b/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/MacOS/stlink_shield_10_15
new file mode 100644
index 000000000..4e64961ae
Binary files /dev/null and b/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/MacOS/stlink_shield_10_15 differ
diff --git a/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/PkgInfo b/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/PkgInfo
new file mode 100644
index 000000000..bdab95bcc
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/PkgInfo
@@ -0,0 +1 @@
+KEXT????
\ No newline at end of file
diff --git a/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/_CodeSignature/CodeResources b/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/_CodeSignature/CodeResources
new file mode 100644
index 000000000..d5d0fd744
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_10_15.kext/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,115 @@
+
+
+
+
+ files
+
+ files2
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/Info.plist b/stlinkv1_macos_driver/stlink_shield_xcode/Info.plist
new file mode 100644
index 000000000..b0a0228d8
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/Info.plist
@@ -0,0 +1,60 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ KEXT
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1.0.0
+ IOKitPersonalities
+
+ DeviceDriver
+
+ CFBundleIdentifier
+ com.apple.kpi.iokit
+ IOClass
+ IOService
+ IOProviderClass
+ IOUSBDevice
+ bcdDevice
+ 256
+ idProduct
+ 14148
+ idVendor
+ 1155
+
+ InterfaceDriver
+
+ CFBundleIdentifier
+ com.apple.kpi.iokit
+ IOClass
+ IOService
+ IOProviderClass
+ IOUSBInterface
+ bConfigurationValue
+ 1
+ bInterfaceNumber
+ 0
+ idProduct
+ 14148
+ idVendor
+ 1155
+
+
+ OSBundleLibraries
+
+ com.apple.iokit.IOUSBFamily
+ 1.8
+ com.apple.kpi.libkern
+ 11.2.0
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.pbxproj b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.pbxproj
new file mode 100644
index 000000000..23dc192d8
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.pbxproj
@@ -0,0 +1,613 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 52;
+ objects = {
+
+/* Begin PBXFileReference section */
+ 8CD33C31149BB80D0033D618 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 8F9084F124786F0B009109AD /* stlink_shield_10_13.kext */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = stlink_shield_10_13.kext; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8F9084FD24786F0F009109AD /* stlink_shield_10_14.kext */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = stlink_shield_10_14.kext; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8F90850924786F39009109AD /* stlink_shield_10_15.kext */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = stlink_shield_10_15.kext; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXGroup section */
+ 089C166AFE841209C02AAC07 /* NanosMouse */ = {
+ isa = PBXGroup;
+ children = (
+ 089C167CFE841241C02AAC07 /* Resources */,
+ 19C28FB6FE9D52B211CA2CBB /* Products */,
+ );
+ name = NanosMouse;
+ sourceTree = "";
+ usesTabs = 0;
+ };
+ 089C167CFE841241C02AAC07 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8CD33C31149BB80D0033D618 /* Info.plist */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
+ 19C28FB6FE9D52B211CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8F9084F124786F0B009109AD /* stlink_shield_10_13.kext */,
+ 8F9084FD24786F0F009109AD /* stlink_shield_10_14.kext */,
+ 8F90850924786F39009109AD /* stlink_shield_10_15.kext */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 8F9084E924786F0B009109AD /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8F9084F524786F0F009109AD /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8F90850124786F39009109AD /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 8F9084E724786F0B009109AD /* stlink_shield_10_13 */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 8F9084EE24786F0B009109AD /* Build configuration list for PBXNativeTarget "stlink_shield_10_13" */;
+ buildPhases = (
+ 8F9084E824786F0B009109AD /* ShellScript */,
+ 8F9084E924786F0B009109AD /* Headers */,
+ 8F9084EA24786F0B009109AD /* Resources */,
+ 8F9084EC24786F0B009109AD /* Sources */,
+ 8F9084ED24786F0B009109AD /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = stlink_shield_10_13;
+ productInstallPath = "$(SYSTEM_LIBRARY_DIR)/Extensions";
+ productName = NanosMouse;
+ productReference = 8F9084F124786F0B009109AD /* stlink_shield_10_13.kext */;
+ productType = "com.apple.product-type.kernel-extension.iokit";
+ };
+ 8F9084F324786F0F009109AD /* stlink_shield_10_14 */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 8F9084FA24786F0F009109AD /* Build configuration list for PBXNativeTarget "stlink_shield_10_14" */;
+ buildPhases = (
+ 8F9084F424786F0F009109AD /* ShellScript */,
+ 8F9084F524786F0F009109AD /* Headers */,
+ 8F9084F624786F0F009109AD /* Resources */,
+ 8F9084F824786F0F009109AD /* Sources */,
+ 8F9084F924786F0F009109AD /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = stlink_shield_10_14;
+ productInstallPath = "$(SYSTEM_LIBRARY_DIR)/Extensions";
+ productName = NanosMouse;
+ productReference = 8F9084FD24786F0F009109AD /* stlink_shield_10_14.kext */;
+ productType = "com.apple.product-type.kernel-extension.iokit";
+ };
+ 8F9084FF24786F39009109AD /* stlink_shield_10_15 */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 8F90850624786F39009109AD /* Build configuration list for PBXNativeTarget "stlink_shield_10_15" */;
+ buildPhases = (
+ 8F90850024786F39009109AD /* ShellScript */,
+ 8F90850124786F39009109AD /* Headers */,
+ 8F90850224786F39009109AD /* Resources */,
+ 8F90850424786F39009109AD /* Sources */,
+ 8F90850524786F39009109AD /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = stlink_shield_10_15;
+ productInstallPath = "$(SYSTEM_LIBRARY_DIR)/Extensions";
+ productName = NanosMouse;
+ productReference = 8F90850924786F39009109AD /* stlink_shield_10_15.kext */;
+ productType = "com.apple.product-type.kernel-extension.iokit";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 089C1669FE841209C02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 1130;
+ ORGANIZATIONNAME = "stlink-org";
+ };
+ buildConfigurationList = 3EEA308708D71E4B002CBB49 /* Build configuration list for PBXProject "stlink_shield" */;
+ compatibilityVersion = "Xcode 11.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 089C166AFE841209C02AAC07 /* NanosMouse */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8F9084E724786F0B009109AD /* stlink_shield_10_13 */,
+ 8F9084F324786F0F009109AD /* stlink_shield_10_14 */,
+ 8F9084FF24786F39009109AD /* stlink_shield_10_15 */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8F9084EA24786F0B009109AD /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8F9084F624786F0F009109AD /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8F90850224786F39009109AD /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 8F9084E824786F0B009109AD /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "script=\"${SYSTEM_DEVELOPER_DIR}/ProjectBuilder Extras/Kernel Extension Support/KEXTPreprocess\";\nif [ -x \"$script\" ]; then\n . \"$script\"\nfi\n";
+ };
+ 8F9084ED24786F0B009109AD /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "script=\"${SYSTEM_DEVELOPER_DIR}/ProjectBuilder Extras/Kernel Extension Support/KEXTPostprocess\";\nif [ -x \"$script\" ]; then\n . \"$script\"\nfi\n";
+ };
+ 8F9084F424786F0F009109AD /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "script=\"${SYSTEM_DEVELOPER_DIR}/ProjectBuilder Extras/Kernel Extension Support/KEXTPreprocess\";\nif [ -x \"$script\" ]; then\n . \"$script\"\nfi";
+ };
+ 8F9084F924786F0F009109AD /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "script=\"${SYSTEM_DEVELOPER_DIR}/ProjectBuilder Extras/Kernel Extension Support/KEXTPostprocess\";\nif [ -x \"$script\" ]; then\n . \"$script\"\nfi";
+ };
+ 8F90850024786F39009109AD /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "script=\"${SYSTEM_DEVELOPER_DIR}/ProjectBuilder Extras/Kernel Extension Support/KEXTPreprocess\";\nif [ -x \"$script\" ]; then\n . \"$script\"\nfi";
+ };
+ 8F90850524786F39009109AD /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "script=\"${SYSTEM_DEVELOPER_DIR}/ProjectBuilder Extras/Kernel Extension Support/KEXTPostprocess\";\nif [ -x \"$script\" ]; then\n . \"$script\"\nfi";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8F9084EC24786F0B009109AD /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8F9084F824786F0F009109AD /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8F90850424786F39009109AD /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 3EEA308808D71E4B002CBB49 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ APPLY_RULES_IN_COPY_FILES = YES;
+ APPLY_RULES_IN_COPY_HEADERS = YES;
+ CLANG_ADDRESS_SANITIZER_CONTAINER_OVERFLOW = YES;
+ CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
+ CLANG_ANALYZER_GCD_PERFORMANCE = YES;
+ CLANG_ANALYZER_LOCALIZABILITY_EMPTY_CONTEXT = YES;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_STATIC_ANALYZER_MODE = deep;
+ CLANG_UNDEFINED_BEHAVIOR_SANITIZER_INTEGER = YES;
+ CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES;
+ CLANG_WARN_ASSIGN_ENUM = YES;
+ CLANG_WARN_ATOMIC_IMPLICIT_SEQ_CST = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_CXX0X_EXTENSIONS = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_FLOAT_CONVERSION = YES;
+ CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_EXPLICIT_OWNERSHIP_TYPE = YES;
+ CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_INTERFACE_IVARS = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS = YES;
+ CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COMBINE_HIDPI_IMAGES = YES;
+ COPY_HEADERS_RUN_UNIFDEF = YES;
+ CREATE_INFOPLIST_SECTION_IN_BINARY = YES;
+ DEAD_CODE_STRIPPING = YES;
+ DEFINES_MODULE = YES;
+ DEPLOYMENT_LOCATION = YES;
+ DEPLOYMENT_POSTPROCESSING = YES;
+ DONT_GENERATE_INFOPLIST_FILE = NO;
+ DRIVERKIT_DEPLOYMENT_TARGET = 19.0;
+ ENABLE_HARDENED_RUNTIME = YES;
+ ENABLE_PREVIEWS = YES;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_CHAR_IS_UNSIGNED_CHAR = YES;
+ GCC_ENABLE_FLOATING_POINT_LIBRARY_CALLS = YES;
+ GCC_ENABLE_KERNEL_DEVELOPMENT = YES;
+ GCC_ENABLE_TRIGRAPHS = YES;
+ GCC_FAST_MATH = YES;
+ GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES;
+ GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_SHORT_ENUMS = YES;
+ GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
+ GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
+ GCC_TREAT_WARNINGS_AS_ERRORS = YES;
+ GCC_UNROLL_LOOPS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
+ GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
+ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+ GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_SHADOW = YES;
+ GCC_WARN_SIGN_COMPARE = YES;
+ GCC_WARN_STRICT_SELECTOR_MATCH = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNKNOWN_PRAGMAS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_LABEL = YES;
+ GCC_WARN_UNUSED_PARAMETER = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ GENERATE_MASTER_OBJECT_FILE = YES;
+ GENERATE_PKGINFO_FILE = YES;
+ GENERATE_PROFILING_CODE = YES;
+ GENERATE_TEXT_BASED_STUBS = YES;
+ INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
+ INFOPLIST_OUTPUT_FORMAT = XML;
+ INFOPLIST_PREPROCESS = YES;
+ INLINE_PRIVATE_FRAMEWORKS = YES;
+ KEEP_PRIVATE_EXTERNS = YES;
+ LD_GENERATE_MAP_FILE = YES;
+ LINKER_DISPLAYS_MANGLED_NAMES = YES;
+ MODULE_NAME = com.libusb.stlink_shield;
+ MODULE_VERSION = 1.0;
+ PLIST_FILE_OUTPUT_FORMAT = XML;
+ PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.libusb.stlink-shield";
+ RUN_CLANG_STATIC_ANALYZER = YES;
+ SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES;
+ SEPARATE_SYMBOL_EDIT = YES;
+ SUPPORTS_TEXT_BASED_API = YES;
+ TAPI_VERIFY_MODE = Pedantic;
+ VALIDATE_PRODUCT = YES;
+ VALIDATE_WORKSPACE = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ WRAPPER_EXTENSION = kext;
+ };
+ name = Debug;
+ };
+ 3EEA308908D71E4B002CBB49 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ APPLICATION_EXTENSION_API_ONLY = YES;
+ APPLY_RULES_IN_COPY_FILES = YES;
+ APPLY_RULES_IN_COPY_HEADERS = YES;
+ CLANG_ADDRESS_SANITIZER_CONTAINER_OVERFLOW = YES;
+ CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
+ CLANG_ANALYZER_GCD_PERFORMANCE = YES;
+ CLANG_ANALYZER_LOCALIZABILITY_EMPTY_CONTEXT = YES;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_STATIC_ANALYZER_MODE = deep;
+ CLANG_UNDEFINED_BEHAVIOR_SANITIZER_INTEGER = YES;
+ CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES;
+ CLANG_WARN_ASSIGN_ENUM = YES;
+ CLANG_WARN_ATOMIC_IMPLICIT_SEQ_CST = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_CXX0X_EXTENSIONS = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_FLOAT_CONVERSION = YES;
+ CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_EXPLICIT_OWNERSHIP_TYPE = YES;
+ CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_INTERFACE_IVARS = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS = YES;
+ CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COMBINE_HIDPI_IMAGES = YES;
+ COPY_HEADERS_RUN_UNIFDEF = YES;
+ CREATE_INFOPLIST_SECTION_IN_BINARY = YES;
+ DEAD_CODE_STRIPPING = YES;
+ DEFINES_MODULE = YES;
+ DEPLOYMENT_LOCATION = YES;
+ DEPLOYMENT_POSTPROCESSING = YES;
+ DONT_GENERATE_INFOPLIST_FILE = NO;
+ DRIVERKIT_DEPLOYMENT_TARGET = 19.0;
+ ENABLE_HARDENED_RUNTIME = YES;
+ ENABLE_PREVIEWS = YES;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_CHAR_IS_UNSIGNED_CHAR = YES;
+ GCC_ENABLE_FLOATING_POINT_LIBRARY_CALLS = YES;
+ GCC_ENABLE_KERNEL_DEVELOPMENT = YES;
+ GCC_ENABLE_TRIGRAPHS = YES;
+ GCC_FAST_MATH = YES;
+ GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES;
+ GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_SHORT_ENUMS = YES;
+ GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
+ GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
+ GCC_TREAT_WARNINGS_AS_ERRORS = YES;
+ GCC_UNROLL_LOOPS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
+ GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
+ GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+ GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_SHADOW = YES;
+ GCC_WARN_SIGN_COMPARE = YES;
+ GCC_WARN_STRICT_SELECTOR_MATCH = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNKNOWN_PRAGMAS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_LABEL = YES;
+ GCC_WARN_UNUSED_PARAMETER = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ GENERATE_MASTER_OBJECT_FILE = YES;
+ GENERATE_PKGINFO_FILE = YES;
+ GENERATE_PROFILING_CODE = YES;
+ GENERATE_TEXT_BASED_STUBS = YES;
+ INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
+ INFOPLIST_OUTPUT_FORMAT = XML;
+ INFOPLIST_PREPROCESS = YES;
+ INLINE_PRIVATE_FRAMEWORKS = YES;
+ KEEP_PRIVATE_EXTERNS = YES;
+ LD_GENERATE_MAP_FILE = YES;
+ LINKER_DISPLAYS_MANGLED_NAMES = YES;
+ MODULE_NAME = com.libusb.stlink_shield;
+ MODULE_VERSION = 1.0;
+ PLIST_FILE_OUTPUT_FORMAT = XML;
+ PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.libusb.stlink-shield";
+ RUN_CLANG_STATIC_ANALYZER = YES;
+ SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES;
+ SEPARATE_SYMBOL_EDIT = YES;
+ SUPPORTS_TEXT_BASED_API = YES;
+ TAPI_VERIFY_MODE = Pedantic;
+ VALIDATE_PRODUCT = YES;
+ VALIDATE_WORKSPACE = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ WRAPPER_EXTENSION = kext;
+ };
+ name = Release;
+ };
+ 8F9084EF24786F0B009109AD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "-";
+ MACOSX_DEPLOYMENT_TARGET = 10.13;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 8F9084F024786F0B009109AD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "-";
+ MACOSX_DEPLOYMENT_TARGET = 10.13;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ 8F9084FB24786F0F009109AD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "-";
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 8F9084FC24786F0F009109AD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "-";
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ 8F90850724786F39009109AD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "-";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 8F90850824786F39009109AD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "-";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 3EEA308708D71E4B002CBB49 /* Build configuration list for PBXProject "stlink_shield" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 3EEA308808D71E4B002CBB49 /* Debug */,
+ 3EEA308908D71E4B002CBB49 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 8F9084EE24786F0B009109AD /* Build configuration list for PBXNativeTarget "stlink_shield_10_13" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8F9084EF24786F0B009109AD /* Debug */,
+ 8F9084F024786F0B009109AD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 8F9084FA24786F0F009109AD /* Build configuration list for PBXNativeTarget "stlink_shield_10_14" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8F9084FB24786F0F009109AD /* Debug */,
+ 8F9084FC24786F0F009109AD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 8F90850624786F39009109AD /* Build configuration list for PBXNativeTarget "stlink_shield_10_15" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8F90850724786F39009109AD /* Debug */,
+ 8F90850824786F39009109AD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 089C1669FE841209C02AAC07 /* Project object */;
+}
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 000000000..919434a62
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 000000000..18d981003
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 000000000..f9b0d7c5e
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,8 @@
+
+
+
+
+ PreviewsEnabled
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcuserdata/vm-user.xcuserdatad/UserInterfaceState.xcuserstate b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcuserdata/vm-user.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 000000000..b06818d2f
Binary files /dev/null and b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcuserdata/vm-user.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcuserdata/vm-user.xcuserdatad/WorkspaceSettings.xcsettings b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcuserdata/vm-user.xcuserdatad/WorkspaceSettings.xcsettings
new file mode 100644
index 000000000..e097e4fe6
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/project.xcworkspace/xcuserdata/vm-user.xcuserdatad/WorkspaceSettings.xcsettings
@@ -0,0 +1,22 @@
+
+
+
+
+ BuildLocationStyle
+ UseAppPreferences
+ CustomBuildIntermediatesPath
+ Build/Intermediates.noindex
+ CustomBuildLocationType
+ RelativeToDerivedData
+ CustomBuildProductsPath
+ Build/Products
+ DerivedDataLocationStyle
+ Default
+ IssueFilterStyle
+ ShowActiveSchemeOnly
+ LiveSourceIssuesEnabled
+
+ SharedBuildFolderName
+ Build
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcshareddata/xcschemes/stlink_shield_10.13.xcscheme b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcshareddata/xcschemes/stlink_shield_10.13.xcscheme
new file mode 100644
index 000000000..d98dd9b97
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcshareddata/xcschemes/stlink_shield_10.13.xcscheme
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcshareddata/xcschemes/stlink_shield_10.14.xcscheme b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcshareddata/xcschemes/stlink_shield_10.14.xcscheme
new file mode 100644
index 000000000..79299d7a5
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcshareddata/xcschemes/stlink_shield_10.14.xcscheme
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcshareddata/xcschemes/stlink_shield_10.15.xcscheme b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcshareddata/xcschemes/stlink_shield_10.15.xcscheme
new file mode 100644
index 000000000..e72a90366
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcshareddata/xcschemes/stlink_shield_10.15.xcscheme
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcuserdata/vm-user.xcuserdatad/xcschemes/xcschememanagement.plist b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcuserdata/vm-user.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 000000000..d23112ec9
--- /dev/null
+++ b/stlinkv1_macos_driver/stlink_shield_xcode/stlink_shield.xcodeproj/xcuserdata/vm-user.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,67 @@
+
+
+
+
+ SchemeUserState
+
+ stlink_shield 10.7.xcscheme_^#shared#^_
+
+ orderHint
+ 2
+
+ stlink_shield copy copy.xcscheme_^#shared#^_
+
+ orderHint
+ 3
+
+ stlink_shield copy.xcscheme_^#shared#^_
+
+ orderHint
+ 2
+
+ stlink_shield.xcscheme_^#shared#^_
+
+ orderHint
+ 1
+
+ stlink_shield_10.13.xcscheme_^#shared#^_
+
+ orderHint
+ 0
+
+ stlink_shield_10.14 copy.xcscheme_^#shared#^_
+
+ orderHint
+ 4
+
+ stlink_shield_10.14.xcscheme_^#shared#^_
+
+ orderHint
+ 1
+
+ stlink_shield_10.15.xcscheme_^#shared#^_
+
+ orderHint
+ 2
+
+
+ SuppressBuildableAutocreation
+
+ 8F9084E724786F0B009109AD
+
+ primary
+
+
+ 8F9084F324786F0F009109AD
+
+ primary
+
+
+ 8F9084FF24786F39009109AD
+
+ primary
+
+
+
+
+
diff --git a/stlinkv1_macosx_driver/README.md b/stlinkv1_macosx_driver/README.md
deleted file mode 100644
index b2a68442c..000000000
--- a/stlinkv1_macosx_driver/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-from: marco.cassinerio@gmail.com
-
-to: texane@gmail.com
-
-Hi,
-
-i managed to get the stlink v1 working under os x and i would like to share the solution so maybe you can add it in your package.
-The problem is that os x claims the device as scsi and libusb won't be able to connect to it.
-I've created what is called a codeless driver which claims the device and has a higher priority then the default apple mass storage driver, so the device can be accessed through libusb.
-
-I tested this codeless driver under OS X 10.6.8 and 10.7.2.
-I assume it works with any 10.6.x and 10.7.x version as well.
-
-Attached to this mail you'll find the osx folder with the source code of the driver, both drivers (for 10.6.x and 10.7.x), an install.sh script and the modified Makefile, i only added a line at the end which invoke the `install.sh`.
-
-First, unpack the `osx.tar.gz` contents:
-```bash
-tar xzvf osx.tar.gz
-```
-
-Then, install the driver using:
-```bash
-sudo make osx_stlink_shield
-```
-
-no reboot required.
-
-P.S. If error `OS X version not supported` occurs. For the latest versions of Mac OS X you may need to change the `osx/install.sh` as follows:
-```bash
-< ISOSXLION=$(sw_vers -productVersion)
----
-> ISOSXLION=$(sw_vers -productVersion | sed -e 's:.[[:digit:]]*$::')
-```
-
-### OS X 10.10 Yosemite
-
-For OS X 10.10 Yosemite you must force the system to load unsigned kernelextensions
-
-```bash
-sudo nvram boot-args="kext-dev-mode=1"
-```
-
-reboot the system!
-
-### OS X 10.11 El Capitan
-
-For OS X 10.11 El Capitan: the Yosemite kext seems to work (tested on 10.11.04).
diff --git a/stlinkv1_macosx_driver/osx.tar.gz b/stlinkv1_macosx_driver/osx.tar.gz
deleted file mode 100644
index 57bc31466..000000000
Binary files a/stlinkv1_macosx_driver/osx.tar.gz and /dev/null differ