Skip to content

Commit 2b770a0

Browse files
author
Gang He
committed
[int][bug][zbt] Fix lcpu load functions for sf32lb52 rev b.
Project: Bluetooth redmine: #5146, REDMINE-id ext-redmine: bug|feat#id [Description in detail] Affected branch: [master] Change-Id: Iadc32ea4489168698a35e60c375f62ad7020c2b6
1 parent 875da6b commit 2b770a0

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

patch/sf32lb52/lcpu_install.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010
/* Install Bluetooth core (LCPU) image*/
1111
void lcpu_img_install()
1212
{
13-
memcpy((void *)(HCPU_LCPU_CODE_START_ADDR), g_lcpu_bin, sizeof(g_lcpu_bin));
13+
uint8_t rev_id = __HAL_SYSCFG_GET_REVID();
14+
15+
if (rev_id < HAL_CHIP_REV_ID_A4)
16+
memcpy((void *)(HCPU_LCPU_CODE_START_ADDR), g_lcpu_bin, sizeof(g_lcpu_bin));
1417
}
1518

1619
/* Install Bluetooth core (LCPU) image patch*/
@@ -29,7 +32,7 @@ void lcpu_patch_install_rev_b()
2932

3033
memcpy((void *)LCPU_PATCH_BUF_START_ADDR, (void *)&entry, 12);
3134
memset((void *)(LCPU_PATCH_CODE_START_ADDR_S), 0, LCPU_PATCH_CODE_SIZE);
32-
memcpy((void *)(LCPU_PATCH_CODE_START_ADDR_S), g_lcpu_patch_bin, sizeof(g_lcpu_patch_bin));
35+
memcpy((void *)(LCPU_PATCH_CODE_START_ADDR_S), g_lcpu_patch_bin_b, sizeof(g_lcpu_patch_bin_b));
3336
HAL_PATCH_install();
3437
}
3538

@@ -40,7 +43,7 @@ uint32_t *HAL_PATCH_GetEntryAddr(void)
4043
uint8_t rev_id = __HAL_SYSCFG_GET_REVID();
4144

4245
if (rev_id >= HAL_CHIP_REV_ID_A4)
43-
entry_addr = (uint32_t *)g_lcpu_patch_list;
46+
entry_addr = (uint32_t *)g_lcpu_patch_list_b;
4447
else
4548
entry_addr = (uint32_t *)LCPU_PATCH_RECORD_ADDR;
4649
return entry_addr;

0 commit comments

Comments
 (0)