沁恒的ch32替换stm32,坑多不?很少人看到有人聊这芯片
沁恒的ch32替换stm32,坑多不?很少人看到有人聊这芯片,淘宝还是几块钱一个。 本帖最后由 shuiluo2 于 2021-3-25 11:59 编辑
试过一片,商家说要用ST llink烧,JLINK烧不起来。但是我STLINK也没烧起来,不知道怎么回事,先放一边了。
淘宝商家说,ADC如果用DMA,要改代码。反正不能直接用吧,所以价格现在还不算贵。 shuiluo2 发表于 2021-3-25 11:58
试过一片,商家说要用ST llink烧,JLINK烧不起来。但是我STLINK也没烧起来,不知道怎么回事,先放一边了。
...
我查了下网上文章,STLINK是烧不了的,但是JLINK应该可以,我也买了几片,准备试一试 68336016 发表于 2021-3-25 12:02
我查了下网上文章,STLINK是烧不了的,但是JLINK应该可以,我也买了几片,准备试一试 ...
我试过CH的,JLINK选STM32F103C8T6,烧录不进去。APM可以直接JLINK烧。 shuiluo2 发表于 2021-3-25 12:03
我试过CH的,JLINK选STM32F103C8T6,烧录不进去。APM可以直接JLINK烧。
烧录时候的确不能跟STM32一样,得选CH32才行,网上看到的
usb兼容性怎么样 买了两片样品,还没有测试。。。
WCH做了很多USB产品,不至于在这个上面翻车吧 68336016 发表于 2021-3-25 12:09
烧录时候的确不能跟STM32一样,得选CH32才行,网上看到的
那看来要用新版本的,然后选CH32 shuiluo2 发表于 2021-3-25 11:58
试过一片,商家说要用ST llink烧,JLINK烧不起来。但是我STLINK也没烧起来,不知道怎么回事,先放一边了。
...
试了一下st的工程,ADC用了DMA,能用,但是读出来的值跟st的有点区别。 这个烧录不像STM32那么方便,估计也是一个优势,批量化的产品不太可能用它替换,用的人不会很多,炒芯片的看不上,不会价格暴涨。 用的少 才不会暴涨 这周也入了两块准备调下试试,沁恒官网上是有自己的pack包,好像还有自己的wch link... 之前试过ch579只能生成hex用他们的软件下载工具,希望103的下周拿到手能直接jlink用起来吧 TadhgH 发表于 2021-3-26 16:40
这周也入了两块准备调下试试,沁恒官网上是有自己的pack包,好像还有自己的wch link... 之前试过ch579只能 ...
ch579可以用jlink下载啊。不过要自己编辑一下jlink的配置文件,把芯片型号和编程算法文件加进去。 本帖最后由 68336016 于 2021-3-27 00:13 编辑
果然ADC用了DMA后,STM32的代码是没法正常运行的,但是看CH32的例程,又对比不出有什么不同。
补充:
大概搞清楚了,如果开启内部温度传感器和参考电压 ADC_TempSensorVrefintCmd(ENABLE),就不能用来测量其他ADC_IN引脚的电压,此时各个引脚测量到一个相近的值(接近内部参考电压)。
不开启内部温度传感器和参考电压,就可以正常测量各个ADC_IN引脚电压。
在官方论坛发帖咨询,回复的结果跟我想的一样,如果ADC不用DMA,影响不大,来回使能失能内部温度传感器和参考电压就行,这样内部和外部都能测量。
但是如果用DMA的话,就有些费事了,估计得开启DMA中断,在中断里切换内部测量和外部测量了。
今天试了下用openblt BootLoader来更新固件操作,ch32采用的是兼容stm32方式的16位编程方式,也就是直接用stm32的工程,没有修改为ch32快速编程方式。
更新固件后不会跳转到APP,于是查原因,发现一个写FLASH的操作,STM32要30多ms,CH32要700多ms,一些超时机制得跟着修改才行。
ch32说是有快速的128字节编程方式,但是为了兼容STM32操作,就不想改太多,只是没想到16位编程时候,时间差异会这么大。 我也试了flash,如果不改stm32的,能写,很慢。 能不用尽量不用。我测试的结果:
1.BIN直接烧录,必须用专用的脱机烧录器,STLINK可烧,差不多1分钟1片,奇慢无比。
2.keil调试,需要加载CH专用的flash算法,就是上面网友的图里设置的那样,否则调试会进入超时。
3.在stm32的工程下选不了WCH的芯片。原因不名,用WCH给的SDK打开后可以选,但是少了很多keil原来的芯片型号,这个无所谓,但是,所有的STM32包含的头文件,要换成CH32的,否则很多寄存器的名字对不上,一个一个改相当麻烦。
4.都成功了,编译也过了。flash的写速度让人受不了,是普通人都能感觉到的慢,保存flash会停顿一下。相当不爽。电话南京给了个改的例子,不过是批量写,他们搞了个_fast的函数,也就是批量写入,而且只支持128字节。多了要自己管理。改太麻烦。
5.费了半天劲改成功了。boot过不去。如果是直接烧stm的工程,bootloader可以启动后面的代码段。而用ch的工程重新编译后,单独都能正常跑,bootloader也能加载后面的段,但是加载完就死。没治了,找不到原因。最后直接烧st的工程,然后让客户忍受一下保存时的顿挫。
用到的资源,DMA+ADC,Timer1,2, Usart,
价格便宜点也是有道理的。 jufr12315 发表于 2021-3-29 23:40
我也试了flash,如果不改stm32的,能写,很慢。
改了也一样慢,除非用他自己的fast函数,但是只能128字节存。
请教一下,ch579 能替换STM32F107吗?我用到以太网和串口 68336016 发表于 2021-3-25 12:09
烧录时候的确不能跟STM32一样,得选CH32才行,网上看到的
我试了一下,mdk里面jlink识别不到芯片呀,用的官方例程。 mainbp 发表于 2021-3-30 07:25
我试了一下,mdk里面jlink识别不到芯片呀,用的官方例程。
那个PACK包安装了么,就是例程压缩包里的一个文件 fenglove 发表于 2021-3-30 07:18
请教一下,ch579 能替换STM32F107吗?我用到以太网和串口
28PIN的CH579我用过,给自己家做个连网口小东西,一开始10次有9次上电都不能正常启动完毕。
不过后来官方将网络库静悄悄地更换了,无意中发现了,替换之后暂时一切正常了。
我们目前在测试CH32F103C8T6,直接烧STM的HEX,串口没有跑起来,下载速度超慢。 windboy 发表于 2021-3-30 10:22
我们目前在测试CH32F103C8T6,直接烧STM的HEX,串口没有跑起来,下载速度超慢。
我usart1, usart2, usart3都试过能用,也是用stm32工程直接生成的固件。 fenglove 发表于 2021-3-30 07:18
请教一下,ch579 能替换STM32F107吗?我用到以太网和串口
只用网络和串口的话可以替换,但是要注意ch579的MTU只有540字节左右。 68336016 发表于 2021-3-30 07:43
28PIN的CH579我用过,给自己家做个连网口小东西,一开始10次有9次上电都不能正常启动完毕。
不过后来官方 ...
579的Flash好像速度正常?
照理用的应该是同一个IP啊,不会差这么多的
不过CH32系列太新了,感觉至少要一两年后才能稳定吧 vtte 发表于 2021-3-30 10:31
只用网络和串口的话可以替换,但是要注意ch579的MTU只有540字节左右。
收到,谢谢 顶一下{:biggrin:} 68336016 发表于 2021-3-25 12:02
我查了下网上文章,STLINK是烧不了的,但是JLINK应该可以,我也买了几片,准备试一试 ...
STlink是可以的,前提是先用JLINK烧写一次{:lol:} 蓝蓝的恋 发表于 2021-3-30 12:38
STlink是可以的,前提是先用JLINK烧写一次
芯片还有破处的说法?{:funk:} 68336016 发表于 2021-3-30 12:41
芯片还有破处的说法?
好像是需要先解除保护,直接用stlink确实不能识别,用jlink擦除一下,以后就可以用stlink了,比较麻烦,我现在是直接用DAPlink USB功能代码需要改吗 我的应用按楼主改法,可以用,我用keil5+jlink直接烧,好像不要先擦除
这片子只能有部分人可以用,倒是也是好事,炒不起来。终于可以缓口气了。 Kengcc 发表于 2021-3-30 13:16
USB功能代码需要改吗
我刚刚试了CH32的USB虚拟串口,直接STM32的代码烧录进去,能正常跑起来跟电脑通讯。 PowerHUB 发表于 2021-3-25 12:21
usb兼容性怎么样
只试了虚拟串口,没问题,其它模式估计也正常。 68336016 发表于 2021-3-30 16:24
只试了虚拟串口,没问题,其它模式估计也正常。
需要改pcb不?{:lol:} Kengcc 发表于 2021-3-30 16:39
需要改pcb不?
要改PCB就更没人用了 本帖最后由 mainbp 于 2021-3-30 20:07 编辑
我的这个jlink 识别不到,因为jlink 支持的型号里面有没CH的芯片,你们是怎么使用的?
mainbp 发表于 2021-3-30 20:06
我的这个jlink 识别不到,因为jlink 支持的型号里面有没CH的芯片,你们是怎么使用的?
...
点击OK,然后选个 cortex-m3就行,这个工程就能记住这设置了 68336016 发表于 2021-3-30 20:11
点击OK,然后选个 cortex-m3就行,这个工程就能记住这设置了
谢谢,可以了。{:handshake:} 本帖最后由 68336016 于 2021-4-1 11:59 编辑
{:lol:}问厂家说10片起售,我就说买100片踩踩坑做样机试试。
然后厂家说没货了,可能觉得我买得少吧,可是万一不好用买多了也是浪费自己的钱。
淘宝价格实在的店铺,写着45天内发货,其它店铺几乎都是一买就加价类型。
还是STC实在量多量少不歧视。
本来淘宝买点STC15,拍下多嘴一句问卖家不会改价了吧,立刻跟我说是得加价,然后改成1.5倍了。
于是我就跟论坛上STC的人买,转账发货,不用讲价省事得很。 那我也不测了,换stc STC为啥不出arm? 我买了10片用了2片 最后还是高价买st的去了{:huffy:} qidiao007 发表于 2021-6-4 13:42
我买了10片用了2片 最后还是高价买st的去了
是ch32吗?说说你的故事。 用CH32F103C8T6量产了大半年吧,很稳定。写Flash要用CH32自己的算法才快,用兼容STM32的算法死慢。就改下了下bootloader的flash算法,直接用STM32的HEX,跑起来一点问题都没,也没见坏过。这个应该是现在最便宜的兼容STM32的芯片了。 shuiluo2 发表于 2021-3-25 11:58
试过一片,商家说要用ST llink烧,JLINK烧不起来。但是我STLINK也没烧起来,不知道怎么回事,先放一边了。
...
(引用自2楼)
JLINK烧录没问题的,是烧录大文件需要几分钟,给了你写不进去的错觉。 现在主推F2系列了吧,估计是103系列太卷,没意思啦 Ch32v103啊 便宜 诺飞 发表于 2022-5-14 23:03
JLINK烧录没问题的,是烧录大文件需要几分钟,给了你写不进去的错觉。
(引用自48楼)
对,之前没注意要用CH的算法,不能用Jflash直接烧。 正在用v103,也有碰到慕名奇怪的问题 tangmin 发表于 2022-5-15 23:21
正在用v103,也有碰到慕名奇怪的问题
(引用自52楼)
什么问题能说说看吗,后来者可以少踩坑{:lol:} ahfong2006 发表于 2022-5-16 09:48
什么问题能说说看吗,后来者可以少踩坑
(引用自53楼)
暂时只碰到一个在大循环里加一个delay才能运行其他代码! 大概看过它的SDK,没有采用抢占式任务调度,所以需要适时放弃CPU占用让别的任务运行 ahfong2006 发表于 2022-5-16 12:36
大概看过它的SDK,没有采用抢占式任务调度,所以需要适时放弃CPU占用让别的任务运行 ...
(引用自55楼)
没有吧,在"FreeRTOSConfig.h"中配置#define configUSE_PREEMPTION 1不就行了,暂时只用到队列还比较正常! 芯片就是黑盒子么,全是坑。
st迭代了十多年把stm32的坑平掉了,路上的炮灰数不清,标准外设库可以坑走一票玩家,好不容易练熟了新款不支持。现在是cubemx+hal,ll。
不改开发流程,芯供应商用旧套路,没人陪着试错,只能是坑
页:
[1]