完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
当切换到xc8 1.41时,它报告如下:advisory:(1510)不可重入函数“_USBDeviceInit”出现在多个调用图中,并且已经被编译器复制。这是什么意思?1.40没有报告。粘贴XC8 1.41:u***/u***_device.c:279报告的所有信息:通知:(1510)不可重入函数“_USBDeviceInit”出现在多个调用图中,并且已经被编译器/u***_device.c:1002:advisory:(1510)不可重入函数“_USBTransferOnePa”复制。cket"出现在多个调用图中,并且已经被编译器D:Micro.xc8v1.41source.Umul16.c:15: advisory: 1510)多个调用图中的非可重入函数“u wmul”复制,并且已经被编译器复制。
|
|
相关推荐
19个回答
|
|
|
所以有一个新的XC8?感谢您提供的信息:这个警告似乎已经摆脱了人们对于comiled堆栈的“疑虑”:由于它的性质,一些功能必须在最后的HEX中重复。
|
|
|
|
|
|
它需要追赶,从中断调用非重入函数,而非中断代码将是一个明确的错误。
|
|
|
|
|
|
它可能不是一个错误,因为编译器有两个功能。无论哪种方式,这个通知都是新的。它最有可能提醒您在最后一个编译器版本中已经做过的事情。
|
|
|
|
|
|
事实上,这些项目来自最新的MLA,我不理解“被编译器复制了”,这是否意味着编译器复制了那个函数?但是程序空间(单词)根本没有改变。
|
|
|
|
|
|
这就是XC8编译器的工作原理。它不支持在正常操作中的可重入功能。按定义调用的函数和互操作函数是可重入的。它通过创建函数的两个副本来处理冲突。
|
|
|
|
|
|
…而且可能一直这么做。现在它只是告诉你它正在发生。
|
|
|
|
|
|
当场!UZSLM:请阅读发行说明。迁移问题部分描述了这一变化,但我建议您阅读与1.41发行版Jeff相关的所有部分。
|
|
|
|
|
|
谢谢这些信息!
|
|
|
|
|
|
如何纠正这些库例程?我不明白为什么新编译器会抱怨,发布说明中除了将编译器设置为混合的或可重入的巫婆,然后没有错误地破坏我的代码外,没有任何解释如何更正这一点。确保没有中断和主调用的代码吗?关于SMG
|
|
|
|
|
|
没有什么可以纠正或修正的。它只是告诉你它已经在做的事情。“修复”的唯一方法是不要从主和中断调用相同的函数。或者离开它。修复这个问题的唯一原因是如果调用函数很大,而你的空间用完了。
|
|
|
|
|
|
通常,如果你有相同的程序,从中断和主代码调用,这是某种设计缺陷。可能有些情况是必要的,但它们是罕见的。
|
|
|
|
|
|
|
|
|
Hiit看起来甚至更糟糕,因为手边的例程是一个包含初始化的名称。我无法想象ISR内部的初始化……它看起来真的有点奇怪。只有我的2美分……最好问候Jorge
|
|
|
|
|
|
嗯,我有一个空函数LCDyCMD(char CMD),现在不难看出为什么从主()和ISR()调用。它是用于与LCD通信的底层库/实用程序功能。MIN()调用一个SETUP()例程,它最终使用LCDyCMD()初始化LCD。Time0ISR处理器周期性地将Char MeimoM[]的内容推送到显示器上。我有设计缺陷吗?
|
|
|
|
|
|
我不喜欢这种方法,虽然我理解它,而且它可以工作——当然,我将把用于lcd_cmd的代码内嵌到ISR中,这会使事情变得更快并避免警告。
|
|
|
|
|
|
不一定。如果函数大而内存不足,则警告更为重要。中断中的多少通常被称为最小可能。但有些应用程序最终还是很多。你没有为局外人提供足够的信息来确定你的程序是否可以改进。警告是比问题更多的信息。和编辑;
|
|
|
|
|
|
Hiits很容易想象一个函数,它把命令发送到一个程序的几个地方使用的LCD或其他设备,甚至可能出现在ISR中。初始化通常不在代码中传播,更不用说在ISR上了。只是我的2美分。
|
|
|
|
|
|
当主调用LCD设置函数或中断版本可能损坏非中断版本时,请确保没有启用中断。通知告诉您编译器已经创建了用于ISR的第二个lcd_cmd函数副本。如果它很小,则仅意味着这是一个重复的代码空间,并且该函数中的任何局部变量都会被复制。
|
|
|
|
|
|
对。qhb不仅指出在LCD更新期间触发中断,而且向LCD写入相对较慢,并且不是时间关键任务,因此没有理由让它处于中断中。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 19:55 , Processed in 1.141085 second(s), Total 110, Slave 93 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2144