ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1264056 Топик полностью
LightElf (01.12.2022 16:04, просмотров: 605) ответил Гyдвин на У меня осень была загруженная основной работой. Сейчас полегчало, и пришел очередной позыв ;)
Я заливаю свой бут через SWD и первое, что мой бут делает - отключает нах китайского загрузчика и доступ по SWD. 
#define ROM_CFG_FUSE 0x00040010UL

#ifndef CH579_OPTION_WORD 
# define CH579_OPTION_WORD 0x50FFFFD0
#endif

void flash_protect(void)
{
if (CH579_OPTION_WORD != *(uint32_t*)(ROM_CFG_FUSE))
{
// разрешаем запись в InfoFlash
R8_FLASH_PROTECT = RB_ROM_WE_MUST_10 | RB_ROM_CODE_WE | RB_ROM_DATA_WE;
// стираем страничку с опциями
R32_FLASH_ADDR = ROM_CFG_FUSE & 0xFFFFFE00;
R8_FLASH_COMMAND = 0xA5;
__DSB();
// записываем новые опции
R32_FLASH_ADDR = (ROM_CFG_FUSE);
R32_FLASH_DATA = CH579_OPTION_WORD;
R8_FLASH_COMMAND = 0x99;
__DSB();
// запрещаем запись в флеш
R8_FLASH_PROTECT = RB_ROM_WE_MUST_10;
}
}
Не надо делать мне как лучше, оставьте мне как хорошо