打印
[PIC32/SAM]

新人求助 SAMC21用户程序未被编译

[复制链接]
570|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pfboy|  楼主 | 2022-10-27 10:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
第一次用microchip,芯片是ATSAMC21G17A。按提示使用mplab 生成了工程,使用jlink调试,可以正常烧录,但是debug时发现自己写的测试代码没有运行。单步调试,发现只运行了自动生成的初始化代码,执行完初始化代码后pc指针再也不加了。为了验证,我又复制了很多遍测试代码,发现编译后的hex文件大小一点没变,也验证了上述猜想。
        请问是哪里设置有问题吗?导致用户编写的程序没有正常编译链接?求助,谢谢。

使用特权

评论回复
沙发
ynwa| | 2022-10-27 16:25 | 只看该作者
怀疑和你写的代码结构有关系。
你所谓的“自动生成的初始化代码”是用harmony3还是用START产生的代码?正常产生的代码,会在main函数中调用系统初始化函数,但是没有用户APP代码。初始化函数之后,应该有个while(1)的循环。
你还可以试试软仿真,或者找个示例项目试试。

使用特权

评论回复
板凳
pfboy|  楼主 | 2022-10-27 18:19 | 只看该作者
ynwa 发表于 2022-10-27 16:25
怀疑和你写的代码结构有关系。
你所谓的“自动生成的初始化代码”是用harmony3还是用START产生的代码?正常 ...

初始化代码是使用harmony3生成的。确实只生成了这个初始化函数,然后有个while(1),里面是空的,我在循环里面加上一句赋值语句。软件仿真,单步运行发现程序运行不到这个循环里面,因为循环里面的赋值语句未被执行。

使用特权

评论回复
地板
pfboy|  楼主 | 2022-10-27 18:28 | 只看该作者
ynwa 发表于 2022-10-27 16:25
怀疑和你写的代码结构有关系。
你所谓的“自动生成的初始化代码”是用harmony3还是用START产生的代码?正常 ...

程序就这样,新建了一个项目,然后想测试一下能否正常运行。单步仿真,发现这样运行不到循环中,但是去掉循环后可以运行到return语句。很奇怪,怀疑是不是我哪个地方设置有问题还是新建工程的方式有问题?

批注 2022-10-27 182245.png (381.73 KB )

批注 2022-10-27 182245.png

使用特权

评论回复
5
mintspring| | 2022-10-27 21:47 | 只看该作者
变量一直没被使用,是不是被优化了。

使用特权

评论回复
6
mintspring| | 2022-10-27 21:48 | 只看该作者
关闭编译器优化再试试看。

使用特权

评论回复
7
pfboy|  楼主 | 2022-10-28 09:16 | 只看该作者
mintspring 发表于 2022-10-27 21:48
关闭编译器优化再试试看。

谢谢,刚刚试过了,默认优化等级是1,把等级都改成0后正常了。谢谢。

使用特权

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

本版积分规则

2

主题

5

帖子

0

粉丝