【华大测评】+ 奇怪的时钟配置
今天在HC32F460-EVB上移植CoreMark时遇到了一个非常奇怪的问题。在移植前搭建了一个工程模板,并定时通过串口输出字符串,结果程序正常。可是在加上coremark程序后,时钟配置始终失败。先说一下我的移植过程。首先从官网下载coremark程序,并将下列程序复制到工程文件夹中:
之后添加头文件路径:
并将文件添加至工程:
之后修改portme.c文件:
然后修改portme.h:
然后修改ddl_config.h的中断和TIMER0的使能位:
注释main.c文件中的main函数,然后编译仿真,结果出现时钟配置失败的情形:
timeout始终为0,造成程序一直延时等待。
之后将SystemClockConfig(void)放置在core_main.c中的main函数中:
结果仍然一样:
历程中的主频只有8Mhz 上传一下有问题的工程源码:
caizhiwei 发表于 2020-7-5 11:12
历程中的主频只有8Mhz
关键是加了一个coremark时钟就不对了。如果进入Hardfault还好说,可是时钟配置出问题实在不能理理解。 STM的CoreMark也在SystemClockConfig()时钟上出问题 请教一下,这个coremark,是RTOS???
有coremark的介绍吗
运行程序后发现是卡在延时的代码上,查看汇编和寄存器,R0自加1是OK的,但是STR结果存储不了,
注意SP寄存器地址,是栈溢出了。
martinhu 发表于 2020-9-9 13:59
运行程序后发现是卡在延时的代码上,查看汇编和寄存器,R0自加1是OK的,但是STR结果存储不了,
注意SP寄存 ...
谢谢这位兄弟的指点{:lol:}。 很难用的单片机 今天测试,只能上80mhz,设置为160mhz跑不起来,好像也是死在lz程序这个地方 本帖最后由 java0735 于 2020-9-30 13:21 编辑
mtswz213 发表于 2020-9-28 21:12
今天测试,只能上80mhz,设置为160mhz跑不起来,好像也是死在lz程序这个地方
页:
[1]