打印

老婆说我不行!连GD32E103C8的FMC的16位编程都搞不定?

[复制链接]
2643|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 加油吧!宝宝! 于 2020-10-8 10:48 编辑

我查看了一下用户使用手册上,上面说明FMC支持32位和16位编程,可是实际使用的时候发现FMC16位编程不行,32位和64位编程却可以(我使用的固件库版本是V1.0.3))!
后来我把固件库版本从V1.0.3升级到V1.0.4,然后发现V1.0.3的固件库有半字halfword(16bit),单字word(32bit),双字doubleword(64bit)编程函数:
fmc_state_enum fmc_doubleword_program(uint32_t address, uint64_t data);
fmc_state_enum fmc_word_program(uint32_t address, uint32_t data);
fmc_state_enum fmc_halfword_program(uint32_t address, uint16_t data);

然而V1.0.4的固件库只有单字word(32bit),双字doubleword(64bit)编程函数:
fmc_state_enum fmc_doubleword_program(uint32_t address, uint64_t data);
fmc_state_enum fmc_word_program(uint32_t address, uint32_t data);

以上是不是说明FMC不支持16位编程,否则为什么官方升级的固件库去掉了半字编程函数fmc_state_enum fmc_halfword_program(uint32_t address, uint16_t data)
广大网友们,你们使用FMC16位编程可行吗?谢谢!

使用特权

评论回复
沙发
lvben5d| | 2020-10-7 13:36 | 只看该作者
一般  我是自己写了应用,做页擦除后,1个字节1个字节 写入。 稳定第1,没必要纠结要2个字节一起写会帅一点。 我理解,内部的FLASH 跟外部24CXX是一个性质的东东,集成进去就是内置FLASH

使用特权

评论回复
板凳
天意无罪| | 2020-10-9 22:17 | 只看该作者
快吃汇仁**宝

使用特权

评论回复
地板
加油吧!宝宝!|  楼主 | 2020-10-10 08:30 | 只看该作者

你吃了有效果吗?

使用特权

评论回复
5
gx_huang| | 2020-10-10 08:55 | 只看该作者

关键是他要先有老婆

使用特权

评论回复
6
加油吧!宝宝!|  楼主 | 2020-10-10 09:52 | 只看该作者
本帖最后由 加油吧!宝宝! 于 2020-10-10 19:39 编辑
gx_huang 发表于 2020-10-10 08:55
关键是他要先有老婆


使用特权

评论回复
7
自己造声卡| | 2020-10-10 09:53 | 只看该作者
你老婆说的对,你真的不行吧

使用特权

评论回复
8
加油吧!宝宝!|  楼主 | 2020-10-10 13:34 | 只看该作者
本帖最后由 加油吧!宝宝! 于 2020-10-10 19:39 编辑
自己造声卡 发表于 2020-10-10 09:53
你老婆说的对,你真的不行吧


使用特权

评论回复
9
加油吧!宝宝!|  楼主 | 2020-10-13 09:25 | 只看该作者
找到原因了,准备删帖!

使用特权

评论回复
10
zchong| | 2020-10-18 13:06 | 只看该作者
牛X了!找到原因不分享一下?

使用特权

评论回复
11
加油吧!宝宝!|  楼主 | 2020-10-18 19:08 | 只看该作者
zchong 发表于 2020-10-18 13:06
牛X了!找到原因不分享一下?

不是啦!是GD32F103C8的FMC不支持16bit编程,虽然用户手册写着支持16bit编程,实际上只支持32bit和64bit编程。我咨询过GD的技术支持的。

使用特权

评论回复
12
贺少兵| | 2020-12-10 18:13 | 只看该作者
楼主试过没有重复往flash一个地方写数据:比如本来是0xFFFFFFFF, 第一次写操作后变成0x55AA55BB,  再操作一次写成0x00000000 。 想用flash存点儿东西,又想减少点儿擦出次数。 然而发现第二次操作不成功。 逻辑在stm32上边是好使的, 换到GD32E103上不好使了

使用特权

评论回复
13
chenqianqian| | 2020-12-10 21:08 | 只看该作者
一看标题还以为卖印度神油的………

使用特权

评论回复
14
发呆二极管| | 2020-12-11 01:55 | 只看该作者
本帖最后由 发呆二极管 于 2020-12-11 17:37 编辑
贺少兵 发表于 2020-12-10 18:13
楼主试过没有重复往flash一个地方写数据:比如本来是0xFFFFFFFF, 第一次写操作后变成0x55AA55BB,  再操作一 ...

感谢指正,之前理解错了。故编辑掉。如言语有冒犯,向你道歉。

使用特权

评论回复
15
发呆二极管| | 2020-12-11 01:56 | 只看该作者
原来E103不支持16bit写入,学习了

使用特权

评论回复
16
贺少兵| | 2020-12-11 08:38 | 只看该作者
发呆二极管 发表于 2020-12-11 01:55
这锅GD不背,自己对flash机制理解不对,想2次写必须先擦除,所有的flash都这样,st也不可能例外!
你说st ...

ST的行不行  你动手试试 不就明白了

使用特权

评论回复
17
xdqfc| | 2020-12-11 09:30 | 只看该作者
贺少兵 发表于 2020-12-11 08:38
ST的行不行  你动手试试 不就明白了

是不是可以这样理解,ST的flash可以不用擦除就可以写数据,而GD的必须擦除后才可以写入,ST的究竟是什么FlashRom啊??

使用特权

评论回复
18
贺少兵| | 2020-12-11 10:58 | 只看该作者
xdqfc 发表于 2020-12-11 09:30
是不是可以这样理解,ST的flash可以不用擦除就可以写数据,而GD的必须擦除后才可以写入,ST的究竟是什么F ...

   结束讨论,GD32E103手册上说明不能这么干

使用特权

评论回复
评论
wqsss 2021-4-1 10:08 回复TA
@贺少兵,赞同 
19
贺少兵| | 2020-12-11 10:59 | 只看该作者
感谢支持

111111111111111111111111111.png (167.49 KB )

111111111111111111111111111.png

22222222222222222222222222.png (209.76 KB )

22222222222222222222222222.png

使用特权

评论回复
评论
20
chenqianqian| | 2020-12-11 12:40 | 只看该作者
这标题也是绝了,我以为我走错了地儿。

使用特权

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

本版积分规则

7

主题

27

帖子

0

粉丝