tomzbj 发表于 2023-11-29 23:29:53

又测试了一下GD32F405RGT6

和之前测试的GD32F450ZET6一样, 标称168M但是可以超频到400M.

dhrystone 2.1, 168M时219DMIPS, 超400M时522DMIPS.

tomzbj 发表于 2023-11-29 23:32:55

更新: 焊了两块板, 其中一块能跑到410M,420M不启动. 另一块只能380M, 390M不启动. 估计是个体差异~

sy8501 发表于 2023-11-29 23:59:43

为什么GD的芯片,比ST的还贵

aammoo 发表于 2023-11-30 00:23:41

以前在大学时,用有源晶振,把stc的52超到了48M,还很稳定

liao-ljj 发表于 2023-11-30 07:41:14

我的出现一个问题,就是PLL总是不能通过....哎,暂时没办法了....

akey3000 发表于 2023-11-30 08:44:46

f405是tmsc生产,可能超频能力强些,但不保证稳定性的

tomzbj 发表于 2023-11-30 09:20:10

sy8501 发表于 2023-11-29 23:59
为什么GD的芯片,比ST的还贵
(引用自3楼)

怎么可能? 具体啥型号? 我在youxin买的GD32F405RGT6, 才13元多

pcl 发表于 2023-12-5 22:52:49

sy8501 发表于 2023-11-29 23:59
为什么GD的芯片,比ST的还贵
(引用自3楼)

GD在商城有价格保护之类的措施, 有可能是这个原因导致价格高

三年模拟 发表于 2023-12-6 10:06:45

本帖最后由 三年模拟 于 2023-12-6 10:08 编辑

有一款产品用了,gd,有极低概率外置晶振无法启动,程序死在main函数前,但是st的从来没遇到过,确认过了不是焊接问题,晶振反复焊接解决不了

akey3000 发表于 2023-12-6 10:10:42

三年模拟 发表于 2023-12-6 10:06
有一款产品用了,gd,有极低概率外置晶振无法启动,程序死在main函数前,但是st的从来没遇到过,确认过了不 ...
(引用自9楼)

gd的哪个型号?印象中st的f103系列是有rtc不起振的问题。

tomzbj 发表于 2023-12-6 10:39:23

三年模拟 发表于 2023-12-6 10:06
有一款产品用了,gd,有极低概率外置晶振无法启动,程序死在main函数前,但是st的从来没遇到过,确认过了不 ...
(引用自9楼)

GD哪款? 如果照抄ST的SystemInit函数有几个地方要改一下, GD官方有说明.
不过最好是用gd自家的库, SystemInit函数自己重写.


比如我的, 注意我用了bootloader, 如果不用bootloader的话, nvic_vector_table_set这行可以不要, 或者把后面的偏移量改成0x0.

GD32F405:
void SystemInit(void)
{
    nvic_vector_table_set(NVIC_VECTTAB_FLASH, 0x8000);
    __enable_irq();
    rcu_deinit();
    rcu_osci_on (RCU_HXTAL);
    rcu_osci_stab_wait(RCU_HXTAL);
    rcu_periph_clock_enable (RCU_PMU);
    pmu_ldo_output_select (PMU_LDOVS_HIGH);
    rcu_ahb_clock_config (RCU_AHB_CKSYS_DIV1);
    rcu_apb1_clock_config (RCU_APB1_CKAHB_DIV4);   // APB1 84M
    rcu_apb2_clock_config (RCU_APB2_CKAHB_DIV2);   // APB2 168M

    rcu_pll_config(RCU_PLLSRC_HXTAL, 8, 168, 2, 10);
    rcu_osci_on (RCU_PLL_CK);
    rcu_osci_stab_wait(RCU_PLL_CK);
    pmu_highdriver_mode_enable();
    while(pmu_flag_get(PMU_FLAG_HDRF) == RESET);
    pmu_highdriver_switch_select (PMU_HIGHDR_SWITCH_EN);
    while(pmu_flag_get(PMU_FLAG_HDSRF) == RESET);
    rcu_system_clock_source_config (RCU_CKSYSSRC_PLLP);
    while(rcu_system_clock_source_get() != RCU_SCSS_PLLP);
}


GD32E230:
void SystemInit(void)
{

    nvic_vector_table_set(NVIC_VECTTAB_FLASH, 0x2000);
    __enable_irq();
    rcu_deinit();
    rcu_periph_clock_enable (RCU_PMU);
    pmu_ldo_output_select (PMU_LDOVS_LOW);
    fmc_wscnt_set (WS_WSCNT_0);
    rcu_ahb_clock_config (RCU_AHB_CKSYS_DIV1);
    rcu_apb1_clock_config (RCU_APB1_CKAHB_DIV1);
    rcu_apb2_clock_config (RCU_APB2_CKAHB_DIV1);

    rcu_hxtal_prediv_config (RCU_PLL_PREDV2);
    rcu_pll_config(RCU_PLLSRC_IRC8M_DIV2, RCU_PLL_MUL12);
    rcu_osci_on (RCU_PLL_CK);
    rcu_osci_stab_wait(RCU_PLL_CK);
    rcu_system_clock_source_config (RCU_CKSYSSRC_PLL);
    while(rcu_system_clock_source_get() != RCU_SCSS_PLL);
}


GD32F303:
void SystemInit(void)
{
    nvic_vector_table_set(NVIC_VECTTAB_FLASH, 0x2800);
    __enable_irq();
    rcu_deinit();
    rcu_osci_on (RCU_HXTAL);
    rcu_osci_stab_wait(RCU_HXTAL);
    rcu_periph_clock_enable (RCU_PMU);
    pmu_ldo_output_select (PMU_LDOVS_HIGH);
    rcu_ahb_clock_config (RCU_AHB_CKSYS_DIV1);
    rcu_apb1_clock_config (RCU_APB1_CKAHB_DIV2);
    rcu_apb2_clock_config (RCU_APB2_CKAHB_DIV1);
    rcu_pllpresel_config (RCU_PLLPRESRC_HXTAL);
    rcu_predv0_config (RCU_PREDV0_DIV2);
    rcu_pll_config(RCU_PLLSRC_HXTAL_IRC48M, RCU_PLL_MUL15);    // 16*12=192M
    rcu_osci_on (RCU_PLL_CK);
    rcu_osci_stab_wait(RCU_PLL_CK);
    pmu_highdriver_mode_enable();
    while(pmu_flag_get(PMU_FLAG_HDRF) == RESET);
    pmu_highdriver_switch_select (PMU_HIGHDR_SWITCH_EN);
    while(pmu_flag_get(PMU_FLAG_HDSRF) == RESET);
    rcu_system_clock_source_config (RCU_CKSYSSRC_PLL);
    while(rcu_system_clock_source_get() != RCU_SCSS_PLL);
}

laoyi 发表于 2023-12-6 10:46:33

三年模拟 发表于 2023-12-6 10:06
有一款产品用了,gd,有极低概率外置晶振无法启动,程序死在main函数前,但是st的从来没遇到过,确认过了不 ...
(引用自9楼)

晶振启动timeout改了吗? gd需要把等待时间加长

陆小凤之北京 发表于 2023-12-6 10:57:05

tomzbj 发表于 2023-12-6 10:39
GD哪款? 如果照抄ST的SystemInit函数有几个地方要改一下, GD官方有说明.
不过最好是用gd自家的库, System ...
(引用自11楼)

请教,使能IRQ中断为啥要放在前面?

陆小凤之北京 发表于 2023-12-6 11:00:46

akey3000 发表于 2023-12-6 10:10
gd的哪个型号?印象中st的f103系列是有rtc不起振的问题。
(引用自10楼)

低频无源晶振吧?晶振也是有离散性差异的。

carefree1986 发表于 2023-12-6 12:41:48

GD的405系列AD也是跟STM32F4一样有bug吗?

三年模拟 发表于 2023-12-6 12:41:53

陆小凤之北京 发表于 2023-12-6 11:00
低频无源晶振吧?晶振也是有离散性差异的。
(引用自14楼)

yxc的8M晶振,感觉实gd的良率没有st高

tomzbj 发表于 2023-12-6 15:41:03

陆小凤之北京 发表于 2023-12-6 10:57
请教,使能IRQ中断为啥要放在前面?
(引用自13楼)

无所谓吧, 放后面也行.
页: [1]
查看完整版本: 又测试了一下GD32F405RGT6