ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
1264052 Топик полностью
Гyдвин, волшебник (01.12.2022 15:19, просмотров: 484) ответил LightElf на UPD. Исправил размер массива - слишком большой создавался. Если интересно - я разобрался со штатным механизмом, вполне нормально работает.
У меня осень была загруженная основной работой. Сейчас полегчало, и пришел очередной позыв ;) 

Вчера подключил платку, слепил custom USB HID (64 байта туда-сюда) и озаботился загрузчиком. С первой частью просто - вот такой код в RAM.

void ResetToMainProg(void)
{
  R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG1;		
  R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG2;
  R8_RESET_STATUS=RB_ROM_CODE_OFS; 
  R8_RST_WDOG_CTRL |= RB_SOFTWARE_RESET;
  R8_SAFE_ACCESS_SIG = 0;
}

Потрахавшись со второй, нашел китайский пример с перенаправлением.

Есть свои плюшки - адреса flash не смещаются, загрузчик может быть произвольного размера.

Ну и, имхо, меньше вероятность проблем взаимодействия со встроенным загрузчиком.

Как уже говорил, у меня под есть 3 ревизии чипов. В одной из ревизий загрузчик оказался кривоват.

И хрен еще знает, что может глюкануть в дальнейшем - китайцы они такие выдумщики ;)