This repository has been archived by the owner on Jul 10, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 14608ec
Showing
52 changed files
with
5,756 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
HEX FIVE SECURITY, INC. | ||
SOFTWARE EVALUATION AGREEMENT | ||
|
||
THE TERMS AND CONDITIONS CONTAINED HEREIN CONSTITUTE A LEGAL AGREEMENT. | ||
THIS AGREEMENT ("AGREEMENT") CONTAINS THE ENTIRE AGREEMENT BETWEEN YOU | ||
LICENSEE ("YOU") AND HEX FIVE SECURITY, INC. ("HEX FIVE") WITH RESPECT TO | ||
THE TERMS AND CONDITIONS DESCRIBED HEREIN. READ THIS AGREEMENT CAREFULLY. | ||
BY DOWNLOADING/INSTALLING THE PRODUCT, YOU ACKNOWLEDGE THAT (1) YOU ARE | ||
AUTHORIZED TO ENTER THIS AGREEMENT FOR AND ON BEHALF OF YOUR COMPANY, AND | ||
ARE DOING SO, AND (2) YOU HAVE READ AND UNDERSTAND AND AGREE THAT YOU AND | ||
THE COMPANY SHALL BE BOUND BY THESE TERMS AND CONDITIONS AND ALL | ||
MODIFICATIONS AND ADDITIONS PROVIDED FOR | ||
|
||
Software products included with this product that are not Hex Five | ||
products are licensed to you by the software provider. Please refer to | ||
the license contained in the provider's product for the terms of use | ||
before using such products. | ||
|
||
1. License Grant. Hex Five grants you a limited, non-exclusive, non- | ||
transferable license to use, for non-commercial, non-production | ||
evaluation purposes only, the Hex Five software program(s), known as | ||
MultiZone(TM) Security (the "Software") and related product documentation at | ||
no charge subject to the terms and restrictions set forth in this License | ||
Agreement. You are not permitted to use the Software in any manner not | ||
expressly authorized by this License. You acknowledge and agree that | ||
ownership of the Software and all subsequent copies thereof regardless of | ||
the form or media are held by Hex Five. | ||
|
||
2. Term of Agreement. Your license is effective until terminated by Hex | ||
Five (at Hex Five's sole discretion and without notice). The License will | ||
terminate automatically if you fail to comply with any of the limitations | ||
or other requirements described herein. At termination you shall cease | ||
all use of the Software and destroy all copies, full or partial of the | ||
Software. | ||
|
||
3. Ownership Rights. The Software and related documentation are protected | ||
by United States copyright laws and international treaties. Hex Five, | ||
third party component providers and open source component providers own | ||
and retain all right, title and interest in and to the Software and | ||
related documentation, including all copyrights, patents, trade secret | ||
rights, trademarks and other intellectual property rights therein. | ||
|
||
4. Use of Name and Trademarks. You shall not use the name, trade names or | ||
trademarks of Hex Five or any of its affiliates in any advertising, | ||
promotional literature or any other material, whether in written, | ||
electronic or other form without express written permission of Hex Five. | ||
|
||
5. Restrictions. | ||
(A) You may not rent, lease, lend, redistribute or sublicense the | ||
Software. You may not copy the Software except to make archival or backup | ||
copies, provided that the backup copy must include all copyright or other | ||
proprietary notices contained on the original. You may not copy the | ||
related product documentation. You may not modify, reverse engineer, | ||
decompile, or disassemble the Software, except to the extent the | ||
foregoing restriction is expressly prohibited by applicable law. You may | ||
not publish any results from tests using the Software without the express | ||
written permission of Hex Five. | ||
|
||
(B) Certain components of the Software are provided under various Open | ||
Source licenses that have been made available to Hex Five. You may modify | ||
or replace only these Open-Sourced Components; provided that (i) the | ||
resultant Software is used in place of the unmodified Software, on a | ||
single computer; and (ii) you otherwise comply with the terms of this | ||
License and any applicable licensing terms governing use of the Open- | ||
Sourced Components. Hex Five is not obligated to provide any maintenance, | ||
technical or other support for the resultant Software. | ||
|
||
(C) This license is strictly for non-commercial, non-production | ||
evaluation purposes. You agree and acknowledge that you may not use the | ||
Software for any commercial purpose whatsoever. | ||
|
||
6. Feedback. You agree that any feedback or ideas you provide to us | ||
regarding any Software or any suggested improvements thereto (together, | ||
the "Feedback") will be the exclusive property of Hex Five. To the extent | ||
you own any rights in the Feedback, you agree to assign and hereby do | ||
assign to us all right, title and interest in and to the Feedback. You | ||
agree to perform all acts reasonably requested by us to perfect and | ||
enforce such rights, including without limitation executing copyright | ||
assignments. We will reimburse you for direct out of pocket costs | ||
incurred in complying with our requests. | ||
|
||
7. Exclusion of Warranties. THE SOFTWARE IS PROVIDED TO LICENSEE "AS IS", | ||
AND ANY USE BY LICENSEE OF THE SOFTWARE WILL BE AT LICENSEE'S SOLE RISK. | ||
HEX FIVE MAKES NO WARRANTIES RELATING TO THE SOFTWARE AND EXPRESSLY | ||
DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT | ||
LIMITATION THOSE OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
|
||
8. Limitation of Liability. IN NO EVENT SHALL HEX FIVE BE LIABLE FOR ANY | ||
INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES WHATSOEVER, | ||
INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, LOSS OF DATA, | ||
BUSINESS INTERRUPTON OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, ARISING | ||
OUT OF OR RELATED TO YOUR USE OR INABILITY TO USE THE HEX FIVE SOFTWARE, | ||
HOWEVER CAUSED, REGARDLESS OF THE THEORY OF LIABILTY (CONTRACT, TORT OR | ||
OTHERWISE) AND EVEN IF HEX FIVE HAS BEEN ADVISED OF THE POSSIBILITY OF | ||
SUCH DAMAGES. | ||
|
||
9. Governing Law, Dispute Resolution. This Agreement is governed by the | ||
law of the State of California, U.S.A., without reference to conflict of | ||
laws principles. The application of the United Nations Convention of | ||
Contracts for the International Sale of Goods is expressly excluded. | ||
Venue for any disputes shall be in the state and federal courts located | ||
in San Jose, California. | ||
|
||
10.No Export. You agree not to export, directly or indirectly, the | ||
Software or any components thereof to any country for which the U.S. | ||
Government or any agency thereof at the time of export requires an export | ||
license or other government approval without first obtaining such license | ||
or approval. | ||
|
||
11.Assignment/Transfers. You may not assign or transfer this Agreement, | ||
in whole or in part, without Hex Five's prior written consent. Any | ||
attempted assignment or transfer in violation of this Section will be | ||
null and void. | ||
|
||
12.Third Party Acknowledgements. | ||
(A) Aspects of the Software utilize or include third party software and | ||
other copyrighted material. Acknowledgements, licensing terms and | ||
disclaimers for such material are available when accessing the Software | ||
on the Hex Five website, and your use of such material is governed by | ||
their respective terms. | ||
(B) The Software includes certain software provided under various Open | ||
Source licenses. You may obtain complete machine-readable copies of the | ||
source code and licenses for the Open Source software at the Hex Five | ||
Open Source website (https://www.hex-five.com/oslicenses). Open Source | ||
Software is distributed WITHOUT ANY WARRANTY, without even the implied | ||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE | ||
|
||
13.Severability. If any provision of this Agreement is held invalid, | ||
illegal or unenforceable, the validity, legality and enforceability of | ||
any of the remaining provisions of this Agreement shall not in any way be | ||
affected or impaired. | ||
|
||
14.Entire Agreement. This Agreement is the entire agreement between you | ||
and Hex Five concerning the Software and all related documentation and | ||
supersedes any other prior or contemporaneous agreements or | ||
communications with respect to the Software and related documentation, | ||
whether written or oral. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
# Copyright(C) 2020 Hex Five Security, Inc. - All Rights Reserved | ||
|
||
############################################################# | ||
# Platform definitions | ||
############################################################# | ||
|
||
BOARD ?= STM32F767 | ||
ifeq ($(BOARD),STM32F767) | ||
ARM_ARCH := armv7e-m | ||
ARM_CPU := cortex-m7 | ||
ARM_FLOAT := soft | ||
ARM_FPU := fpv5-sp-d16 | ||
else ifeq ($(BOARD),ATSAME70) | ||
ARM_ARCH := armv7e-m | ||
ARM_CPU := cortex-m7 | ||
ARM_FLOAT := softfp | ||
ARM_FPU := fpv4-sp-d16 | ||
else ifeq ($(BOARD),IMXRT1020) | ||
ARM_ARCH := armv7e-m | ||
ARM_CPU := cortex-m7 | ||
ARM_FLOAT := soft | ||
ARM_FPU := fpv5-d16 | ||
else ifeq ($(BOARD),EKRA6M3) | ||
ARM_ARCH := armv7e-m | ||
ARM_CPU := cortex-m7 | ||
ARM_FLOAT := soft | ||
ARM_FPU := fpv5-sp-d16 | ||
else | ||
$(error Unsupported board $(BOARD)) | ||
endif | ||
|
||
############################################################# | ||
# Arguments/variables available to all submakes | ||
############################################################# | ||
|
||
export BOARD | ||
export ARM_ARCH | ||
export ARM_CPU | ||
export ARM_FLOAT | ||
export ARM_FPU | ||
|
||
############################################################# | ||
# Toolchain definitions | ||
############################################################# | ||
|
||
ifndef GNU_ARM | ||
$(error GNU_ARM (GNU Arm Embedded Toolchain) not set) | ||
endif | ||
|
||
export CROSS_COMPILE := $(abspath $(GNU_ARM))/arm-none-eabi- | ||
export CC := $(CROSS_COMPILE)gcc | ||
export OBJDUMP := $(CROSS_COMPILE)objdump | ||
export OBJCOPY := $(CROSS_COMPILE)objcopy | ||
export GDB := $(CROSS_COMPILE)gdb | ||
export AR := $(CROSS_COMPILE)ar | ||
export LD := $(CROSS_COMPILE)gcc | ||
|
||
############################################################# | ||
# Rules for building multizone | ||
############################################################# | ||
|
||
.PHONY: all | ||
all: clean | ||
$(MAKE) -C zone1 | ||
$(MAKE) -C zone2 | ||
$(MAKE) -C zone3 | ||
java -jar multizone.jar \ | ||
-a $(BOARD) \ | ||
-c bsp/$(BOARD)/multizone.cfg \ | ||
zone1/zone1.elf \ | ||
zone2/zone2.elf \ | ||
zone3/zone3.elf | ||
|
||
.PHONY: clean | ||
clean: | ||
$(MAKE) -C zone1 clean | ||
$(MAKE) -C zone2 clean | ||
$(MAKE) -C zone3 clean | ||
rm -f multizone.hex | ||
|
||
############################################################# | ||
# Load and debug variables and rules | ||
############################################################# | ||
|
||
ifndef OPENOCD | ||
$(error OPENOCD not set) | ||
endif | ||
|
||
OPENOCD := $(abspath $(OPENOCD))/bin/openocd | ||
|
||
ifeq ($(BOARD),STM32F767) | ||
OPENOCDCFG1 ?= bsp/$(BOARD)/stlink.cfg | ||
OPENOCDCFG2 ?= bsp/$(BOARD)/openocd.cfg | ||
OPENOCDARGS += -f $(OPENOCDCFG1) -f $(OPENOCDCFG2) | ||
else ifeq ($(BOARD),ATSAME70) | ||
OPENOCDARGS += -f bsp/$(BOARD)/atsame70.cfg | ||
else ifeq ($(BOARD),IMXRT1020) | ||
OPENOCDCFG1 ?= bsp/$(BOARD)/cmsis-dap.cfg | ||
OPENOCDCFG2 ?= bsp/$(BOARD)/imxrt1020.cfg | ||
OPENOCDARGS += -f $(OPENOCDCFG1) -f $(OPENOCDCFG2) | ||
else ifeq ($(BOARD),EKRA6M3) | ||
OPENOCDCFG1 ?= bsp/$(BOARD)/jlink.cfg | ||
OPENOCDCFG2 ?= bsp/$(BOARD)/ra6m3.cfg | ||
OPENOCDARGS += -f $(OPENOCDCFG1) -f $(OPENOCDCFG2) | ||
endif | ||
|
||
GDB_PORT ?= 3333 | ||
GDB_LOAD_ARGS ?= --batch | ||
GDB_LOAD_CMDS += -ex "set mem inaccessible-by-default off" | ||
GDB_LOAD_CMDS += -ex "set remotetimeout 240" | ||
GDB_LOAD_CMDS += -ex "set arch $(BOARD):$(ARCH)" | ||
GDB_LOAD_CMDS += -ex "target extended-remote localhost:$(GDB_PORT)" | ||
GDB_LOAD_CMDS += -ex "monitor reset halt" | ||
GDB_LOAD_CMDS += -ex "monitor flash protect 0 64 last off" | ||
GDB_LOAD_CMDS += -ex "load" | ||
GDB_LOAD_CMDS += -ex "monitor resume" | ||
GDB_LOAD_CMDS += -ex "monitor shutdown" | ||
GDB_LOAD_CMDS += -ex "quit" | ||
|
||
.PHONY: load | ||
|
||
load: | ||
$(OPENOCD) $(OPENOCDARGS) & \ | ||
$(GDB) multizone.hex $(GDB_LOAD_ARGS) $(GDB_LOAD_CMDS) | ||
|
Oops, something went wrong.