根据您的描述,程序在使用串口BootLoader升级时可以正常运行,但在使用JLink仿真时,在vPortStartFirstTask的svc 0处卡死。这可能是由于以下几个原因导致的:
1. JLink仿真配置问题:请检查JLink仿真器的配置是否正确,包括时钟设置、电源配置等。确保仿真器与目标硬件兼容。
2. 中断配置问题:您提到的“没进入SVC中断”可能是由于中断配置不正确导致的。请检查您的中断配置,确保SVC中断已经正确配置。
3. FreeRTOS配置问题:请检查FreeRTOS的配置,确保它与您的硬件平台兼容。您可能需要根据您的硬件平台调整FreeRTOS的配置。
4. 代码问题:请检查您的代码,确保没有逻辑错误或死循环。此外,检查是否有可能在仿真过程中触发硬件保护机制,导致程序卡死。
为了解决这个问题,您可以尝试以下步骤:
1. 检查JLink仿真器的配置,确保与您的硬件平台兼容。
2. 检查中断配置,确保SVC中断已经正确配置。
3. 检查FreeRTOS的配置,确保它与您的硬件平台兼容。
4. 仔细检查您的代码,确保没有逻辑错误或死循环。
5. 如果问题仍然存在,您可以尝试在其他仿真器上运行程序,以确定问题是否与JLink仿真器有关。
6. 如果可能,请寻求来自硬件供应商或社区的支持,他们可能能提供更多关于您遇到的问题的信息和解决方案。
根据您的描述,程序在使用串口BootLoader升级时可以正常运行,但在使用JLink仿真时,在vPortStartFirstTask的svc 0处卡死。这可能是由于以下几个原因导致的:
1. JLink仿真配置问题:请检查JLink仿真器的配置是否正确,包括时钟设置、电源配置等。确保仿真器与目标硬件兼容。
2. 中断配置问题:您提到的“没进入SVC中断”可能是由于中断配置不正确导致的。请检查您的中断配置,确保SVC中断已经正确配置。
3. FreeRTOS配置问题:请检查FreeRTOS的配置,确保它与您的硬件平台兼容。您可能需要根据您的硬件平台调整FreeRTOS的配置。
4. 代码问题:请检查您的代码,确保没有逻辑错误或死循环。此外,检查是否有可能在仿真过程中触发硬件保护机制,导致程序卡死。
为了解决这个问题,您可以尝试以下步骤:
1. 检查JLink仿真器的配置,确保与您的硬件平台兼容。
2. 检查中断配置,确保SVC中断已经正确配置。
3. 检查FreeRTOS的配置,确保它与您的硬件平台兼容。
4. 仔细检查您的代码,确保没有逻辑错误或死循环。
5. 如果问题仍然存在,您可以尝试在其他仿真器上运行程序,以确定问题是否与JLink仿真器有关。
6. 如果可能,请寻求来自硬件供应商或社区的支持,他们可能能提供更多关于您遇到的问题的信息和解决方案。
举报