|
7 | 7 | phyData = open("data/phy.bin", "rb").read()
|
8 | 8 | certsData = open("data/roots.pem", "rb").read()
|
9 | 9 | appData = open("build/nina-fw.bin", "rb").read()
|
| 10 | +spiffsData = open("data/spiffs.bin", "rb").read() |
10 | 11 |
|
11 | 12 | # Offset Size Name
|
12 | 13 | # 0x001000 0x007000 bootloader
|
|
17 | 18 | # 0x1B0000 0x040000 spiffs
|
18 | 19 | # 0x1F0000 0x010000 nvs
|
19 | 20 |
|
20 |
| -# calculate the output binary size, app offset |
| 21 | +# calculate the output binary size, app offset |
21 | 22 | outputSize = 0x30000 + len(appData)
|
22 | 23 | if (outputSize % 1024):
|
23 | 24 | outputSize += 1024 - (outputSize % 1024)
|
24 | 25 |
|
25 | 26 | # allocate and init to 0xff
|
26 |
| -outputData = bytearray(b'\xff') * outputSize |
| 27 | +outputData = bytearray(b'\xff') * 0x200000 |
27 | 28 |
|
28 |
| -# copy data: bootloader, partitions, app |
| 29 | +# copy data: bootloader, partitions, phy, certs, app |
29 | 30 | for i in range(0, len(booloaderData)):
|
30 | 31 | outputData[0x1000 + i] = booloaderData[i]
|
31 | 32 |
|
|
44 | 45 | for i in range(0, len(appData)):
|
45 | 46 | outputData[0x30000 + i] = appData[i]
|
46 | 47 |
|
| 48 | +# add empty spiffs |
| 49 | +for i in range(0, len(spiffsData)): |
| 50 | + outputData[0x1B0000 + i] = spiffsData[i] |
47 | 51 |
|
48 |
| -outputFilename = "NINA_W102.bin" |
| 52 | + |
| 53 | +baseFilename = "NINA_W102" |
49 | 54 | if (len(sys.argv) > 1):
|
50 |
| - outputFilename = sys.argv[1] |
| 55 | + baseFilename = sys.argv[1] |
| 56 | + |
| 57 | +outputFilename = baseFilename + ".bin" |
| 58 | +# write out |
| 59 | +with open(outputFilename,"w+b") as f: |
| 60 | + f.seek(0) |
| 61 | + f.write(outputData[:outputSize]) |
| 62 | + |
| 63 | +outputFilename = baseFilename + "_BOOT_APP.bin" |
| 64 | +# write out |
| 65 | +with open(outputFilename,"w+b") as f: |
| 66 | + f.seek(0) |
| 67 | + f.write(outputData[:outputSize]) |
| 68 | + |
| 69 | +outputFilename = baseFilename + "_APP.bin" |
| 70 | +# write out |
| 71 | +with open(outputFilename,"w+b") as f: |
| 72 | + f.seek(0) |
| 73 | + f.write(outputData[0x30000:outputSize]) |
51 | 74 |
|
| 75 | +outputFilename = baseFilename + "_ALL.bin" |
52 | 76 | # write out
|
53 | 77 | with open(outputFilename,"w+b") as f:
|
54 | 78 | f.seek(0)
|
|
0 commit comments