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

stm32f0 IAP USB問題

[复制链接]
asd51310123 提问时间:2019-1-23 21:06 /
这是我的的main code,我想问的是当我开启__HAL_SYSCFG_REMAPMEMORY_SRAM();的时候,我的MX_USB_DEVICE_Init();,却出现无法辨认,我不ˊ知道是不是register address問題,要怎么解决这个问题?

如果不开__HAL_SYSCFG_REMAPMEMORY_SRAM();,我USB就能正常的work。

使用debug的時候,会出现cannot access memory这个问题,之后就卡在MX_USB_DEVICE_Init();无法再持续下去了。

#define MAIN_CODE_ADDRESS  0x08004000
__IO uint32_t VectorTable[48] __attribute__((section(".RAMVectorTable")));

int main(void)
{
  /* USER CODE BEGIN 1 */
        uint32_t i = 0;
        
        
  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_DeInit();
  HAL_Init();

  /* USER CODE BEGIN Init */
        
  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

        for(i = 0; i < 48; i++)
  {
    VectorTable = *(__IO uint32_t*)(MAIN_CODE_ADDRESS + (i<<2));
  }
               
//        __HAL_RCC_SYSCFG_CLK_ENABLE();
//        __HAL_RCC_APB2_FORCE_RESET ();
        __HAL_SYSCFG_REMAPMEMORY_SRAM();
  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_I2C1_Init();
  MX_CAN_Init();
  MX_USB_DEVICE_Init();  //cannot access memory
  MX_USART3_UART_Init();
  MX_DAC_Init();
  MX_ADC_Init();
  MX_TIM1_Init();
  /* USER CODE BEGIN 2 */
        MX_FILTER_Init();
...
.....
........
}

收藏 评论3 发布时间:2019-1-23 21:06

举报

3个回答
hihi22 回答时间:2019-1-24 11:12:44
跟踪__HAL_SYSCFG_REMAPMEMORY_SRAM()函数的作用。

评分

参与人数 1蝴蝶豆 +1 收起 理由
STMCU + 1

查看全部评分

zoomdy 回答时间:2019-1-24 14:21:59
你要把你用的MCU的具体型号给出来,stm32f0有好几个系列,不知道你说的是哪个
asd51310123 回答时间:2019-1-24 15:03:21
zoomdy 发表于 2019-1-24 14:21
你要把你用的MCU的具体型号给出来,stm32f0有好几个系列,不知道你说的是哪个 ...

型號 STM32F072B -DISCO

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