Skip to content

Commit 89b78ae

Browse files
committed
Update xip pinning load map
1 parent 43cc927 commit 89b78ae

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

bintool/bintool.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -695,8 +695,8 @@ bool check_generic_load_map(std::shared_ptr<load_map_item> load_map, model_t mod
695695
// generic xip pinning from the SDK
696696
pin_xip_sram = load_map->entries.size() == 1
697697
&& load_map->entries[0].storage_address == 0x0
698-
&& load_map->entries[0].runtime_address == model->xip_sram_end() - 0x4
699-
&& load_map->entries[0].size == 0x4;
698+
&& load_map->entries[0].runtime_address == model->xip_sram_start()
699+
&& load_map->entries[0].size == 0x0;
700700
return pin_xip_sram;
701701
}
702702

@@ -724,15 +724,15 @@ std::vector<uint8_t> get_lm_hash_data(elf_file *elf, block *new_block, model_t m
724724
}
725725
if (pin_xip_sram) {
726726
// todo tidy up this way of hashing the uint32_t
727-
std::vector<uint32_t> xip_pin_size_vec = {0x4};
727+
std::vector<uint32_t> xip_pin_size_vec = {0x0};
728728
entries.push_back({
729729
0x0,
730-
model->xip_sram_end() - 0x4,
730+
model->xip_sram_start(),
731731
xip_pin_size_vec[0]
732732
});
733733
auto xip_pin_size_data = words_to_lsb_bytes(xip_pin_size_vec.begin(), xip_pin_size_vec.end());
734734
std::copy(xip_pin_size_data.begin(), xip_pin_size_data.end(), std::back_inserter(to_hash));
735-
DEBUG_LOG("PIN XIP SRAM %08x + %08x\n", (int)model->xip_sram_end() - 0x4, (int)xip_pin_size_vec[0]);
735+
DEBUG_LOG("PIN XIP SRAM %08x + %08x\n", (int)model->xip_sram_start(), (int)xip_pin_size_vec[0]);
736736
}
737737
for(const auto &seg : sorted_segs(elf)) {
738738
if (!seg->is_load()) continue;
@@ -815,15 +815,15 @@ std::vector<uint8_t> get_lm_hash_data(std::vector<uint8_t> bin, uint32_t storage
815815
}
816816
if (pin_xip_sram) {
817817
// todo tidy up this way of hashing the uint32_t
818-
std::vector<uint32_t> xip_pin_size_vec = {0x4};
818+
std::vector<uint32_t> xip_pin_size_vec = {0x0};
819819
entries.push_back({
820820
0x0,
821-
model->xip_sram_end() - 0x4,
821+
model->xip_sram_start(),
822822
xip_pin_size_vec[0]
823823
});
824824
auto xip_pin_size_data = words_to_lsb_bytes(xip_pin_size_vec.begin(), xip_pin_size_vec.end());
825825
std::copy(xip_pin_size_data.begin(), xip_pin_size_data.end(), std::back_inserter(to_hash));
826-
DEBUG_LOG("PIN XIP SRAM %08x + %08x\n", (int)model->xip_sram_end() - 0x4, (int)xip_pin_size_vec[0]);
826+
DEBUG_LOG("PIN XIP SRAM %08x + %08x\n", (int)model->xip_sram_start(), (int)xip_pin_size_vec[0]);
827827
}
828828
to_hash.insert(to_hash.begin(), bin.begin(), bin.end());
829829
DEBUG_LOG("HASH %08x + %08x\n", (int)storage_addr, (int)bin.size());

0 commit comments

Comments
 (0)