ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
1281445 Топик полностью
bnb62 (04.02.2023 20:54, просмотров: 304) ответил LightElf на "Не понимаю я по вашему ни фига". (C) Каковы причины HardFault? И какой конкретно процессор?
Cortex-M7. Для младших "бут" не делал. Особенность М4 - 7 в пользовательском переносе вектора 

// butloader


typedef void (*pFunction)(void);

uint32_t jumpAddress;

pFunction Jump_To_Application;



__disable_irq(); // Note: remember to enable IRQ in application

#define USER_VECT_TAB_ADDRESS

#define VECT_TAB_OFFSET MAIN_PROGRAM_START_ADDRESS

#if defined(USER_VECT_TAB_ADDRESS)

SCB->VTOR = 0x08000000 | VECT_TAB_OFFSET;

#endif /* USER_VECT_TAB_ADDRESS */

jumpAddress = *(__IO uint32_t*) (MAIN_PROGRAM_START_ADDRESS + 4);

Jump_To_Application = (pFunction) jumpAddress;

__set_MSP(*(__IO uint32_t*) MAIN_PROGRAM_START_ADDRESS);

// HAL_DeInit();

Jump_To_Application();


Дошло... как до жирафа... :) Здесь нет системного сброса и переИнита, как в случае загрузки.

youtube

Всем спасибо. :)