CubeMx生成的最简单程序Stm32F407用Jlink无法仿真
最近了解了一下CubeMX工具,用它生成了最简单的GPIO跑马灯程序,下载到407芯片里无法运行,用JLinkV8无法仿真调试,每当程序运行到HAL_Init()函数,进入函数后调用__HAL_FLASH_INSTRUCTION_CACHE_ENABLE()初始化flash预读取功能的时候就会报错,直接产生错误,系统会调用HardFault_Handler()函数处理错误。这是个啥问题?请各位大神指教指导,谢谢。
本帖最后由 wgmlove 于 2019-3-15 16:26 编辑
//以下是程序源码的main部分,其他没写什么源码,只是定义了几个变量
int main(void)
{
int i=0;
int32_t q=0;
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_RNG_Init();
MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_7);
HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_8);
for(q=0;q<400000;q++)
{
q++;
}
}
/* USER CODE END 3 */
} 本帖最后由 wenyangzeng 于 2019-3-15 17:43 编辑
wgmlove 发表于 2019-3-15 16:24
//以下是程序源码的main部分,其他没写什么源码,只是定义了几个变量
int main(void)
{
先把那个RNG()和USART2()函数去掉看看,跑马灯不需要它们
而延时函数用HAL_Delay(200);就可以了。(延时200mS)
那个控制变量q在for()循环里又来个q++,会出现意外。
在CUBE下想要运行DEBUG仿真需要在SYS里面配置好DEBUG模式,不然就会卡在HAL_Init那
页:
[1]