GD32F130C8U6 HSI启动问题

[复制链接]
2757|9
 楼主| songyuewei 发表于 2014-7-8 11:17 | 显示全部楼层 |阅读模式
我使用GD32F130C8U6的打板子, 可以正常下载, 但是无法启动, 因为只有一个串口和LED的所有不好调试, 求大神帮忙分析下。  程序无法启动, LED灯不亮, 工程代码是使用我以前stm32f103的代码, 只改了下时钟设置, 修改如下:

 楼主| songyuewei 发表于 2014-7-8 11:25 | 显示全部楼层
RCC->CR |= (uint32_t)0x00000001;
while((RCC->CR & 0x2) == 0);
/* HCLK = SYSCLK */
RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;   
/* PCLK2 = HCLK */
RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;  
/* PCLK1 = HCLK */
RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2;
RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                        RCC_CFGR_PLLMULL));
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSI_Div2 | RCC_CFGR_PLLMULL12);
/* Enable PLL */
RCC->CR |= RCC_CR_PLLON;

/* Wait till PLL is ready */
while((RCC->CR & RCC_CR_PLLRDY) == 0)
{
}
   
/* Select PLL as system clock source */
RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;   

/* Wait till PLL is used as system clock source */
while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08)
{
}
 楼主| songyuewei 发表于 2014-7-8 11:26 | 显示全部楼层
在stm32f103 可以正常启动  频率也是48M, 为啥gd32f130跑步起来, 有啥不同?
xufei043 发表于 2014-7-8 12:00 | 显示全部楼层
除了RCC设置外,BOOT的方式是否正确?
 楼主| songyuewei 发表于 2014-7-8 12:19 | 显示全部楼层
boot  下载的时候  给个高电平, 平的时的话是接个电阻然后接地, 是否正确?
xufei043 发表于 2014-7-8 13:35 | 显示全部楼层
https://bbs.21ic.com/icview-757646-1-1.html
上面的帖子有讲到如何从ST过度到GD,看一下。
 楼主| songyuewei 发表于 2014-7-8 17:41 | 显示全部楼层
那个flash编程算法是jlink调试的时候有用吧? ISP下载也有关?
xyz549040622 发表于 2014-7-8 17:43 | 显示全部楼层
你找找教程,如果从STM32移植到GD32
haolaishi 发表于 2014-7-8 17:48 | 显示全部楼层
只修改时钟,那是肯定不可以的
从STM32到GD,MDK5.0工程的简历

和STM32的几乎完全一样,只是多做两步而已:
1.拷贝GD32的算法文件到MDK的目录下;
2.修改启动等待的超时时间;
 楼主| songyuewei 发表于 2014-7-10 17:10 | 显示全部楼层
找到了文档, GD10X  和STM3210x是一样的  但是 1X0 是不一样的,  代码没问题 , 只是寄存器的地址有些变化。 已跑起来了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

53

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部