From 111ad4bacc2d16dafe73a6bd7333f09d7ca1d69e Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Fri, 8 Feb 2019 14:26:35 -0800 Subject: [PATCH 1/2] Add optional bits output for debugging. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- utils/bit2fasm.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/utils/bit2fasm.py b/utils/bit2fasm.py index 553a2973..ec06189a 100755 --- a/utils/bit2fasm.py +++ b/utils/bit2fasm.py @@ -3,6 +3,7 @@ Take bitstream .bit files and decode them to FASM. ''' +import contextlib import os import fasm import fasm.output @@ -87,6 +88,7 @@ def main(): default_bitread = os.path.join(os.getenv("XRAY_TOOLS_DIR"), 'bitread') parser.add_argument('--db-root', help="Database root.", **db_root_kwargs) + parser.add_argument('--bits-file', help="Output filename for bitread output, default is deleted tempfile.", default=None) parser.add_argument( '--part', help="Name of part being targetted.", **part_kwargs) parser.add_argument( @@ -104,7 +106,12 @@ def main(): '--canonical', help='Output canonical bitstream.', action='store_true') args = parser.parse_args() - with tempfile.NamedTemporaryFile() as bits_file: + with contextlib.ExitStack() as stack: + if args.bits_file: + bits_file = stack.enter_context(open(args.bits_file, 'wb')) + else: + bits_file = stack.enter_context(tempfile.NamedTemporaryFile()) + bit_to_bits( bitread=args.bitread, part_yaml=os.path.join(args.db_root, '{}.yaml'.format(args.part)), From 2208a48b890a8c7802e2321cbeaa1be67dc24c03 Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Fri, 8 Feb 2019 14:27:57 -0800 Subject: [PATCH 2/2] Make format. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- utils/bit2fasm.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/utils/bit2fasm.py b/utils/bit2fasm.py index ec06189a..56fa3fbc 100755 --- a/utils/bit2fasm.py +++ b/utils/bit2fasm.py @@ -88,7 +88,10 @@ def main(): default_bitread = os.path.join(os.getenv("XRAY_TOOLS_DIR"), 'bitread') parser.add_argument('--db-root', help="Database root.", **db_root_kwargs) - parser.add_argument('--bits-file', help="Output filename for bitread output, default is deleted tempfile.", default=None) + parser.add_argument( + '--bits-file', + help="Output filename for bitread output, default is deleted tempfile.", + default=None) parser.add_argument( '--part', help="Name of part being targetted.", **part_kwargs) parser.add_argument(