WIZnet Developer Forum

Boot+app 코드 문의

안녕하세요 W7500 로 개발중인 유저입니다.
원격 업데이트를 위해 WIZ750SR 소스를 참고하여 boot + app로 개발중에 있습니다.
동작 내용을 보면,
boot의 VectorTable을 백업해놓은 상태에서, boot 코드가 실행되면 백업해 놓은 VectorTable을 0번지로 복사하고
boot 코드를 실행하다가 app로 점프하기 위해서는 App의 VectorTable을 0번지로 복사후 app로 점프하는것으로 이해하고 있습니다.
그런데 소스에서는 백업해놓은 boot의 VectorTable을 복사하는 코드가 주석처리 되어 있습니다.

tatic void W7500x_Init(void)
{
:
:
//////////////////////////////////////////////////////////////////////////////////////////
// W7500x ISR: Interrupt Vector Table Remap (Custom)
//////////////////////////////////////////////////////////////////////////////////////////
/*
if ((uint32_t)BOOT_VEC_BACK_ADDR == 0xFFFFFFFF) // after boot code first write
{
Backup_Boot_Interrupt_VectorTable();
}
else
{
Copy_Interrupt_VectorTable(BOOT_VEC_BACK_ADDR);
}
*/
:
:
}

주석을 풀고 테스트 해봐도 app로 점프하는것 같지가 않네요.
주석처리해야 정상인가요??
확인 부탁드립니다.

추가적으로 말씀드리면
SWD로 디버깅해보면, Flash에는 app.hex파일의 내용이 정상적으로 Write 되어 있습니다.

app 영역으로 점프가 안되는게 아니었네요…
점프를 하는데 Debug baudrate가 Boot에서는 115200bps이었는데, app가 실행되면서 57600bps로 변경되네요
app에서 Debug 포트 초기화를 안하면, 115200bps가 유지됩니다.
Debug 와 App의 vector 번지와 영향이 있는거 같기도 하고,
경험 있으신분 도움 부탁 드립니다.

어떤 도움이 필요하신건지요?

해결했습니다. 감사합니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.