打印

GD32F130C8U6 HSI启动问题

[复制链接]
2140|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的方式是否正确?

使用特权

评论回复
5
songyuewei|  楼主 | 2014-7-8 12:19 | 只看该作者
boot  下载的时候  给个高电平, 平的时的话是接个电阻然后接地, 是否正确?

使用特权

评论回复
6
xufei043| | 2014-7-8 13:35 | 只看该作者
https://bbs.21ic.com/icview-757646-1-1.html
上面的帖子有讲到如何从ST过度到GD,看一下。

使用特权

评论回复
7
songyuewei|  楼主 | 2014-7-8 17:41 | 只看该作者
那个flash编程算法是jlink调试的时候有用吧? ISP下载也有关?

使用特权

评论回复
8
xyz549040622| | 2014-7-8 17:43 | 只看该作者
你找找教程,如果从STM32移植到GD32

使用特权

评论回复
9
haolaishi| | 2014-7-8 17:48 | 只看该作者
只修改时钟,那是肯定不可以的
从STM32到GD,MDK5.0工程的简历

和STM32的几乎完全一样,只是多做两步而已:
1.拷贝GD32的算法文件到MDK的目录下;
2.修改启动等待的超时时间;

使用特权

评论回复
10
songyuewei|  楼主 | 2014-7-10 17:10 | 只看该作者
找到了文档, GD10X  和STM3210x是一样的  但是 1X0 是不一样的,  代码没问题 , 只是寄存器的地址有些变化。 已跑起来了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

53

帖子

1

粉丝