发 帖  
[问答]

Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT什么情况,怎样解决?

26644 STM32
2019-4-7 17:46:33   评论 分享淘帖 邀请回答 举报
2个回答
2019-4-17 14:48:29 7 评论

举报

7 条评论
  • 2019-4-18 20:46

    [求助] Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT 什么... [复制链接]
    csz9981
    同一个原理图,分别装载了  stm32f103test.hex  、10.hex  文件,装载stm32f103test.hex 文件能正常仿真,装载10.hex文件,报错如下:Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT,是什么原因?应当怎样解决?仿真信息提示如下:
    PROSPICE 8.07.02 (Build 25463) (C) Labcenter Electronics 1993-2018.
    Loading HEX file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Read total of 1152 bytes from file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT [U1_CM3CORE]
      
    原因找到了:
    错误程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);                                                //利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);                                                //APB2时钟使能函数,打开GPIOB的时钟

    }


    正确程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
            
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);     //APB2时钟使能函数,先打开GPIOB的时钟

    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);        //后初始化GPIOB,利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    }

    原因:应当先开时钟,再初始化 SPIO。

  • 2019-4-18 20:46

    [求助] Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT 什么... [复制链接]
    csz9981
    同一个原理图,分别装载了  stm32f103test.hex  、10.hex  文件,装载stm32f103test.hex 文件能正常仿真,装载10.hex文件,报错如下:Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT,是什么原因?应当怎样解决?仿真信息提示如下:
    PROSPICE 8.07.02 (Build 25463) (C) Labcenter Electronics 1993-2018.
    Loading HEX file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Read total of 1152 bytes from file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT [U1_CM3CORE]
      
    原因找到了:
    错误程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);                                                //利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);                                                //APB2时钟使能函数,打开GPIOB的时钟

    }


    正确程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
            
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);     //APB2时钟使能函数,先打开GPIOB的时钟

    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);        //后初始化GPIOB,利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    }

    原因:应当先开时钟,再初始化 SPIO。

  • 2019-4-18 20:47

    [求助] Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT 什么... [复制链接]
    csz9981
    同一个原理图,分别装载了  stm32f103test.hex  、10.hex  文件,装载stm32f103test.hex 文件能正常仿真,装载10.hex文件,报错如下:Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT,是什么原因?应当怎样解决?仿真信息提示如下:
    PROSPICE 8.07.02 (Build 25463) (C) Labcenter Electronics 1993-2018.
    Loading HEX file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Read total of 1152 bytes from file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT [U1_CM3CORE]
      
    原因找到了:
    错误程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);                                                //利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);                                                //APB2时钟使能函数,打开GPIOB的时钟

    }


    正确程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
            
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);     //APB2时钟使能函数,先打开GPIOB的时钟

    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);        //后初始化GPIOB,利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    }

    原因:应当先开时钟,再初始化 SPIO。

  • 2019-4-18 20:48

    原因找到了,看我的回复


    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);     //APB2时钟使能函数,先打开GPIOB的时钟

    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);        //后初始化GPIOB,利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    }

    原因:应当先开时钟,再初始化 SPIO。

  • 2019-4-18 20:49

    [求助] Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT 什么... [复制链接]
    csz9981
    同一个原理图,分别装载了  stm32f103test.hex  、10.hex  文件,装载stm32f103test.hex 文件能正常仿真,装载10.hex文件,报错如下:Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT,是什么原因?应当怎样解决?仿真信息提示如下:
    PROSPICE 8.07.02 (Build 25463) (C) Labcenter Electronics 1993-2018.
    Loading HEX file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Read total of 1152 bytes from file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT [U1_CM3CORE]
      
    原因找到了:
    错误程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);                                                //利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);                                                //APB2时钟使能函数,打开GPIOB的时钟

    }


    正确程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
            
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);     //APB2时钟使能函数,先打开GPIOB的时钟

    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);        //后初始化GPIOB,利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    }

    原因:应当先开时钟,再初始化 SPIO。

  • 2019-4-18 20:49

    [求助] Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT 什么... [复制链接]
    csz9981
    同一个原理图,分别装载了  stm32f103test.hex  、10.hex  文件,装载stm32f103test.hex 文件能正常仿真,装载10.hex文件,报错如下:Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT,是什么原因?应当怎样解决?仿真信息提示如下:
    PROSPICE 8.07.02 (Build 25463) (C) Labcenter Electronics 1993-2018.
    Loading HEX file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Read total of 1152 bytes from file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT [U1_CM3CORE]
      
    原因找到了:
    错误程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);                                                //利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);                                                //APB2时钟使能函数,打开GPIOB的时钟

    }


    正确程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
            
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);     //APB2时钟使能函数,先打开GPIOB的时钟

    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);        //后初始化GPIOB,利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    }

    原因:应当先开时钟,再初始化 SPIO。

  • 2019-4-18 20:49

    [求助] Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT 什么... [复制链接]
    csz9981
    同一个原理图,分别装载了  stm32f103test.hex  、10.hex  文件,装载stm32f103test.hex 文件能正常仿真,装载10.hex文件,报错如下:Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT,是什么原因?应当怎样解决?仿真信息提示如下:
    PROSPICE 8.07.02 (Build 25463) (C) Labcenter Electronics 1993-2018.
    Loading HEX file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Read total of 1152 bytes from file '..\12-LED\Project\Objects\10.hex'. [U1_CM3CORE]
    Access to register of unclocked peripheral at 0x40010C00 cause BUS_FAULT [U1_CM3CORE]
      
    原因找到了:
    错误程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);                                                //利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);                                                //APB2时钟使能函数,打开GPIOB的时钟

    }


    正确程序:bsp_led.c
    #include "bsp_led.h"

    void LED_GPIO_Config(void)                                                                                        //LED_用到的GPIO0配置函数,
    {
    GPIO_InitTypeDef                 GPIO_InitStruct;                                                        //按照GPIO_InitTypeDef这种结构体(表格)的格式,定义了一个新的结构体,名字叫GPIO_InitStruct
            
    GPIO_InitStruct.GPIO_Pin     =     LED_G_GPIO_PIN;                                        //把具体的参数输入到表格中,
    GPIO_InitStruct.GPIO_Mode    =     GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed   =     GPIO_Speed_50MHz;
            
    RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);     //APB2时钟使能函数,先打开GPIOB的时钟

    GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);        //后初始化GPIOB,利用初始化函数,把初始化GPIO需要用到的参数分别装载到对应的寄存器中,
    }

    原因:应当先开时钟,再初始化 SPIO。

2019-4-18 20:47:58 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

您需要登录后才可以回帖 登录/注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

站长推荐 上一条 /6 下一条

快速回复 返回顶部 返回列表