[技术问答] HC32L196使用gcc开发,写flash会死机?

[复制链接]
2161|19
 楼主| 西城123 发表于 2023-2-2 16:03 | 显示全部楼层 |阅读模式
使用keil正常,现在使用gcc编译,发现写数据到flash中会死机,求解
wubangmi 发表于 2023-2-2 16:08 | 显示全部楼层
题意缺少条件,无解。
查询无结果 发表于 2023-2-2 23:44 来自手机 | 显示全部楼层
小华对他家m0系列的没有提供gcc环境的支持,有点难搞
wubangmi 发表于 2023-2-3 10:12 | 显示全部楼层
1387663dc6d2d5d9aa.png
毛主席曾教导我们:世上无难事,只要肯登攀。
GCC难不难搞我不知道,反正我有如图这么多的小华加MCU的GCC工程

评论

是的,我想以后都用gcc开发,其他都没问题,就是写flash,擦除页时导致死循环  发表于 2023-2-3 15:34
查询无结果 发表于 2023-2-3 11:04 来自手机 | 显示全部楼层
大佬,可以分享一下吗,有需求
wubangmi 发表于 2023-2-3 11:28 | 显示全部楼层
查询无结果 发表于 2023-2-3 11:04
大佬,可以分享一下吗,有需求

搞不了就不要搞了,直接用keil吧,省事
查询无结果 发表于 2023-2-3 12:24 | 显示全部楼层
wubangmi 发表于 2023-2-3 11:28
搞不了就不要搞了,直接用keil吧,省事

我这里KEIL点开就卡死,然后重装也不行
 楼主| 西城123 发表于 2023-2-3 15:36 | 显示全部楼层
查询无结果 发表于 2023-2-2 23:44
小华对他家m0系列的没有提供gcc环境的支持,有点难搞

程序正常运行了,就是flash操作写擦除时死循环了
wubangmi 发表于 2023-2-3 15:52 | 显示全部楼层
西城123 发表于 2023-2-3 15:36
程序正常运行了,就是flash操作写擦除时死循环了

直接照搬例程,主要的是你flash的参数要跟主频匹配
 楼主| 西城123 发表于 2023-2-3 16:09 | 显示全部楼层
wubangmi 发表于 2023-2-3 15:52
直接照搬例程,主要的是你flash的参数要跟主频匹配

我是按例程来的,keil上是运行正常的,然后最近研究gcc,编译运行都正常了,我有些参数会存放在flash中,结果发现死循环,最后定位到while(Ok != Flash_SectorErase( )){}到这了,芯片L196,固件1.0.3,现在在改为1.2.0到时候看看能不能正常。
wubangmi 发表于 2023-2-3 16:44 | 显示全部楼层
西城123 发表于 2023-2-3 16:09
我是按例程来的,keil上是运行正常的,然后最近研究gcc,编译运行都正常了,我有些参数会存放在flash中, ...

仿真,看寄存器对应的位是否正常修改了,可能GCC编译器对位操作不友好。导致FLASH寄存器没有正常修改
tpgf 发表于 2023-3-2 09:24 | 显示全部楼层
wubangmi 发表于 2023-2-3 15:52
直接照搬例程,主要的是你flash的参数要跟主频匹配

都需要flash的哪些参数和主频相匹配啊
qcliu 发表于 2023-3-2 09:48 | 显示全部楼层
这个确实没有用过 不过猜测有可能是兼容性不太友好
drer 发表于 2023-3-2 10:10 | 显示全部楼层
我们需要在gcc工具中特别设置什么吗
coshi 发表于 2023-3-2 10:46 | 显示全部楼层
如果没有特殊的需求的话 那就还可以继续使用keil啊
kxsi 发表于 2023-3-2 11:09 | 显示全部楼层
查询无结果 发表于 2023-2-3 12:24
我这里KEIL点开就卡死,然后重装也不行

是不是电脑系统的问题啊  缺少相关组件?
wiba 发表于 2023-3-2 11:23 | 显示全部楼层
wubangmi 发表于 2023-2-3 15:52
直接照搬例程,主要的是你flash的参数要跟主频匹配

但是一样的程序  两个工具的表现就是不同的呀
liuyuxiier 发表于 2023-3-2 16:16 | 显示全部楼层
这个应该是是两个不通的编译器对位操作的实现差异引起的。建议在GCC环境先不要使用位操作,写入寄存器时直接写入整个寄存器的值试试
wubangmi 发表于 2023-3-2 16:41 | 显示全部楼层
wiba 发表于 2023-3-2 11:23
但是一样的程序  两个工具的表现就是不同的呀

我不知道具体什么问题,我这边是没有任何问题的。
这个问题脱离了编译器来讨论,我觉得是没有任何意义的。
毕竟大家编译器版本不一样,可能所使用的的小华MCU库函数的版本都不一样。
我的eclipse的版本是2022-12月的MAC版
交叉编译是这个版本gcc-arm-none-eabi-10.3-2021.10-mac
小华MCU的库是v1.2.0
1677746210430.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

24

帖子

0

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