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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版