diff --git a/hdl/syn/sf2-test/envm.cfg b/hdl/syn/sf2-test/envm.cfg index 1d04cd5b7b11e83479c9bdf72cb05425ce9e5ee5..eb0b0653ce4152709a3c605d312cae4987e24cd3 100644 --- a/hdl/syn/sf2-test/envm.cfg +++ b/hdl/syn/sf2-test/envm.cfg @@ -1,6 +1,6 @@ nvm_set_data_storage_client \ -client_name {code} \ - -number_of_words 168 \ + -number_of_words 256 \ -word_size 8 \ -use_for_simulation {0} \ -content_type {MEMORY_FILE} \ diff --git a/sw/sf2-test/Makefile b/sw/sf2-test/Makefile index 52a50e0b0a693367622085b649d0c79aefc54490..e7ce6c0974d56924398ca5922ea3d65eb7686c4a 100644 --- a/sw/sf2-test/Makefile +++ b/sw/sf2-test/Makefile @@ -21,7 +21,7 @@ main.o: main.c ${OBJCOPY} -O binary $< $@ %.mem: %.bin - ./tomem.py $< > $@ + ./tomem.py $< 1024 > $@ $(OUTPUT).elf: $(LDS) $(OBJS) ${XCC} $(CFLAGS) -o $@ -nostartfiles $(OBJS) -T $(LDS) -Wl,-Map=$(OUTPUT).map diff --git a/sw/sf2-test/tomem.py b/sw/sf2-test/tomem.py index 17337f2710ef99fdd705b78a2347491925329a98..e5c1f322c157d7034d480acbcabb21b707ad6169 100755 --- a/sw/sf2-test/tomem.py +++ b/sw/sf2-test/tomem.py @@ -4,15 +4,23 @@ import sys def main(): if len(sys.argv) < 2: - sys.exit("Usage: {} FILE".format(sys.argv[0])) + sys.exit("Usage: {} FILE [LEN]".format(sys.argv[0])) filename = sys.argv[1] b = open(filename, 'rb').read() if len(b) % 4 != 0: sys.exit("length of {} is not a multiple of 4".format(filename)) + if len(sys.argv) > 1: + flen = int(sys.argv[2]) + if len(b) > flen: + sys.exit("{} is longer than {}".format(filename, flen)) + else: + flen = len(b) for i in range(len(b)): v, = struct.unpack('<B', b[i]) print('{:08b}'.format(v)) + for i in range(len(b), flen): + print('{:08b}'.format(0)) if __name__ == '__main__': main()