微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 最近在看GD32的手册,发现FLASH一个蛋疼的地方

最近在看GD32的手册,发现FLASH一个蛋疼的地方

时间:12-13 整理:3721RD 点击:
比较喜欢新出的GD32F130F系列,TSSOP20封装,Cortex M3内核,8kB SRAM 64kB FLASH
相比STM32F030F系列,内核M0升级到M3,RAM和FLASH都要大很多,很多外设看着差不多。
发现一个比较蛋疼的地方,FLASH部分特性:
Up to 64 KB of on-chip flash memory for storing instruction/data
No waiting time within 32K bytes when CPU executes instruction
A long delay when fetch 32K ~ 64K bytes date from flash
后面32kB 闪存读取的时候有“A long delay”也没有找到资料定义这个“A long delay”
不知道后面的这些FLASH能拿来干啥用

汗,这样岂不是和f030的程序不能通用了?

这个问题应该不大吧。把代码段丢前32k应该不会产生太大影响。

应该不至于吧,估计内部实现上32K以后用的PSRAM做的,所以说了句会有很大的延迟,但
又不明说是多少...
但寻址的上应该是向下兼容的。

前几天还瞄到过哪家厂的STM32引脚兼容ARM单片机,说是USB和CAN可以一起用,代价是USB控制器跟STM32完全不兼容。

一个m0一个m3,库都不一样啊。。。
gpio初始化的写法就不同

这个我没注意...
我还以为是原有系列的升级版...

我就希望ADI能早出、多出几款24位adc+cortex m3的
现在的ADUC系列便宜的还都是8051核心

核心都不一样,肯定不通用。我之前用STM32F030两个最大的痛点
1)16kB FLASH太小,随便写点东西就满了
2)M0内核中断向量不能重定位,我自己写的bootloader用不了
这个GD32F130F8P6全部解决了,只是后32kB FLASH让人太不爽了。bootloader+APP的架构,32kB FLASH还是有点紧张。
我也观摩了一下GD的库,和ST的完全不一样,基本所有API都变了,函数命名全小写+下划线。其实写得还不错。比如串口初始化,用GD最新的库,大概是下面这样。和ST的库基本没啥关系了。
void USART_Config(void)
{
        usart_deinit(USART0);
        usart_baudrate_set(USART0, 115200L);
        usart_parity_config(USART0, USART_PM_NONE);
        usart_word_length_set(USART0, USART_WL_8BIT);
        usart_stop_bit_set(USART0, USART_STB_1BIT);
        usart_transfer_config(USART0, USART_RTEN_ENABLE);
        usart_interrupt_enable(USART0, USART_INT_RBNEIE);
        usart_clock_enable(USART0);
        usart_enable(USART0);
}

8051也挺好用的,ADI的MCU太贵了

1好办,换stm32f070f6就行了,我试了,程序完全不用改,改改Makefile就行了
不过还是只有32k
库这个。。。又得增加学习成本了。。。
之前github上有个libopencm3,似乎烂尾了

其实也不算贵,ADUC里面的24位ADC单独拿出来也都不便宜
但是51还是太弱了。。

引脚都兼容了,内部应该也能做到完全兼容。
自己一边发布自己编写的库,一边让FAE告诉客户用st的库即可。

ST现在出了一个好几百兆的应用程序生成器,点几下就能给你生成一大堆只有驱动的代码…

库没啥学习成本。。看几个头文件就可以开始干活了。
为了32kB FLASH的话,用STM32F031F6P6就行了,和F030比就是多了FLASH
据说F030也有32kB FLASH
F070这个带USB有点意思
M0核心这个就没办法了,和M3还是有一定差距的。

那什么cube么。。
库全换成hal库了, 标准库不更新了。。
而且据说以后新出的器件只支持hal库了, 实在可恶

不知道这款,他家以前的M3是两块儿die sip的
serial flash单独一块儿die,mcu die上面没有flash,只有ram cache
所以他说后32K有个long delay,我猜是mcu die上只有32K的cache,读后面32K flash的时候就需要通过串口读flash,就会有long delay
这个问题在一些客户那里听说过

这个最有可能!

据说是这样的。SPI FLASH用QSPI接口的话,速度也挺快的,封装到内部的串行总线,不应该比这个慢

你们的问题都可以用030C8T6型号解决,64K ROM、8K RAM,人民币4块多,相当给力的型号了。

知道为啥这样吗?秘密是叠die

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top