你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

CubeMx生成的最简单程序Stm32F407用Jlink无法仿真

[复制链接]
wgmlove 提问时间:2019-3-15 16:23 /
最近了解了一下CubeMX工具,用它生成了最简单的GPIO跑马灯程序,下载到407芯片里无法运行,用JLinkV8无法仿真调试,每当程序运行到HAL_Init()函数,进入函数后调用__HAL_FLASH_INSTRUCTION_CACHE_ENABLE()初始化flash预读取功能的时候就会报错,直接产生错误,系统会调用HardFault_Handler()函数处理错误。

这是个啥问题?请各位大神指教指导,谢谢。
收藏 评论3 发布时间:2019-3-15 16:23

举报

3个回答
wgmlove 回答时间:2019-3-15 16:24:52
本帖最后由 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 16:33:45
本帖最后由 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++,会出现意外。


as547384891 回答时间:2019-3-30 16:44:20
在CUBE下想要运行DEBUG仿真需要在SYS里面配置好DEBUG模式,不然就会卡在HAL_Init那

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版