Skip to content

Commit 341ca13

Browse files
committed
tc3: add RAMFUNCTION for HAL functions used by self-update, add new HSM bridge API
1 parent 720dc65 commit 341ca13

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

hal/aurix_tc3xx.c

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -348,9 +348,13 @@ void do_boot(const uint32_t* app_offset)
348348
}
349349
#endif
350350

351-
void arch_reboot(void)
351+
RAMFUNCTION void arch_reboot(void)
352352
{
353+
#ifdef WOLFBOOT_AURIX_TC3XX_HSM
354+
tc3arm_HsmBridgeSysReset();
355+
#else
353356
tc3_Scu_TriggerSwReset(1, WOLFBOOT_AURIX_RESET_REASON);
357+
#endif
354358
}
355359

356360
/* Programs unaligned input data to flash, assuming the underlying memory is
@@ -612,15 +616,15 @@ int RAMFUNCTION hal_flash_erase(uint32_t address, int len)
612616
/* If the IAP interface of the flash memory of the target requires it, this
613617
* function is called before every write and erase operations to unlock write
614618
* access to the flash. On some targets, this function may be empty. */
615-
void hal_flash_unlock(void) {}
619+
RAMFUNCTION void hal_flash_unlock(void) {}
616620

617621
/* If the IAP interface of the flash memory requires locking/unlocking, this
618622
* function restores the flash write protection by excluding write accesses.
619623
* This function is called by the bootloader at the end of every write and erase
620624
* operations. */
621-
void hal_flash_lock(void) {}
625+
RAMFUNCTION void hal_flash_lock(void) {}
622626

623-
int ext_flash_write(uintptr_t address, const uint8_t* data, int len)
627+
RAMFUNCTION int ext_flash_write(uintptr_t address, const uint8_t* data, int len)
624628
{
625629
return hal_flash_write(address, data, len);
626630
}
@@ -685,17 +689,17 @@ int RAMFUNCTION ext_flash_read(uintptr_t address, uint8_t* data, int len)
685689
return 0;
686690
}
687691

688-
int ext_flash_erase(uintptr_t address, int len)
692+
RAMFUNCTION int ext_flash_erase(uintptr_t address, int len)
689693
{
690694
return hal_flash_erase(address, len);
691695
}
692696

693-
void ext_flash_lock(void)
697+
RAMFUNCTION void ext_flash_lock(void)
694698
{
695699
hal_flash_lock();
696700
}
697701

698-
void ext_flash_unlock(void)
702+
RAMFUNCTION void ext_flash_unlock(void)
699703
{
700704
hal_flash_unlock();
701705
}

0 commit comments

Comments
 (0)