原计划用这块NUCLEO-STM32G071RB跑一跑电机库,转一转电机,在更新了MotorControlWorkbench5.3.2之后就开始新建FOC工程。 这里可以看到目前的电机库还不支持NUCLEO-G071RB底板的电机库工程,新建工程的时候默认选择了8MHz晶振作为时钟源。 仔细对比了我之前做电机套件试用得到的NUCLEO-STM32F302R8的原理图,有一些引脚对不上,并且是那种无法修改引脚属性的那种,比如F302的PC2是用于采集温度的ADC引脚,但是G071的这个引脚却不能初始化为ADC通道(这两块NUCLEO的引脚位置是相同的);另外一个就是功率板上的电位器连接在F302的PB1上,而与G071相连时则是PB6,也是无法成为ADC通道的引脚=_=||。 本来这样也不会放弃跑一下FOC的,还可以大力出奇迹,通过串口给指令让它跑起来的,其他引脚都是可以改变的,因为主要的ADC通道和PWM通道都还是兼容的,从MotorControlWorkbench5.3.2生成的FOC代码却不能完成初始化,一直卡在ADC校准那里,目前还不知道原因。 要想跑FOC估计还要花一点时间了,计划暂时搁置。 % R, Y7 a: g Z- w# w " L' Q- x. s. h7 h" D2 S. C) h于是来到今天的主题,移植CoreMark给G0跑个分!新板子拿到手不跑个分怎么行 前一篇帖子讲到用cubemx5.0.1给G0新建的IAR8.0工程不能用,到目前为止也还没找到原因,后来我也用IAR7.8尝试过,结果是一样的。所以今天的跑分就只能让大家勉为其难地看一看在MDK环境下G0能跑多少分。(大家都吐槽MDK优化不好,跑出来的分不堪入目) + P. F& S0 ]2 f1 [0 `3 f7 C- E/ b测试环境: MDK V5.25.2.0版本 板卡型号:) m( o& }7 ~) l) r$ g+ W NUCLEO-G071RB " X! C% t9 M) N; c. z 移植过程参考了下面这份文档,另外参考了两篇帖子,在此感谢两位坛友的分享。 |
我今天是也移植了Coremark 到G071RB板子上。。) |# l# U5 r# w9 G2 ?8 V
用的是IAR 跑分会高一些。。; l0 [: ?( ^7 L( r
我感觉不止这点分呀,不知怎么的我这边生成的IAR工程依然无法执行代码
新建个试试。。。G0跑分这些差不多了。。; I6 ?* @. k- B# W7 O( U
有的,对于我来说不影响使用,工程目录在英文下的就行了
已经新建了好几个工程了,cubemx生成的工程也没有改其他地方,我把下载校验打开发现检验的结果全是error,版主有遇到过这种问题吗?6 r; ~3 N( @+ i
B: P" [) C3 t" h1 ~; y9 `. C, Y
直接用IAR下载有bug,flash算法有问题。。我直接编译好,扔到MSC里。。
emmm,MSC是啥,我对比了F302的IAR工程,发现工程option里面的debug download有个选项是use flash loader,再下面有个override default .board file,在可用的工程里是存在一个相应的.board文件的。由于G0是新的芯片,在IAR的安装目录下找不到这个对应的文件,所以下载程序不会执行。
MSD是G071RB STLINK 虚拟U盘,直接把编译好的bin文件直接扔进去,固件就会被自动更新。。。
我用IAR 移植好Coremark 后,编译好bin文件,直接发送给MSD 就能自动更新我下载到虚拟U盘的6 N2 O4 O. ~9 M2 ]( J& h
bin文件了。。这样就可以避开IAR 无法正确下载固件的问题。。。
刚尝试了,STlink虚拟出的u盘只有12k大小,而我编译出来的bin文件24k,就算选择size优化也要占20k
更新下你的STLINK 固件。。