标题: ERROR L121: IMPROPER FIXUP [打印本页]

作者: newlined    时间: 2024-10-3 15:17
标题: ERROR L121: IMPROPER FIXUP
一个程序,用的是STC32G12K128的片子,程序编译时出现如下错误,请问如何解决?以前一直没有问题,这次是在补充程序时出现的,谢谢。ERROR L121: IMPROPER FIXUP

无标题.png (149.14 KB, 下载次数: 4)

无标题.png

作者: wpppmlah    时间: 2024-10-4 16:16
参考本论坛的帖子: http://www.51hei.com/bbs/dpj-117166-1.html
作者: lkc8210    时间: 2024-10-4 17:31
改了吗?


作者: newlined    时间: 2024-10-6 11:35
lkc8210 发表于 2024-10-4 17:31
改了吗?

谢谢您的回复。我当时不是这样改的,我是按照下图改的。当时我临时注释掉部分程序后,可以正常编译,我就继续补充程序,今天早晨我又恢复了那些我注释掉了的程序,还是能正常编译,我现在不知道是哪个环节出了问题,等到再出现时,我就按照您的这个设置修改。

无标题.png (161.17 KB, 下载次数: 5)

无标题.png

作者: newlined    时间: 2024-10-12 11:04
wpppmlah 发表于 2024-10-4 16:16
参考本论坛的帖子: http://www.51hei.com/bbs/dpj-117166-1.html

因为是STC32G12K128的单片机,所以只能使用C251的编译器。
作者: newlined    时间: 2024-10-12 11:09
lkc8210 发表于 2024-10-4 17:31
改了吗?

今天又出现这个错误了,按照您的提示,还是不行,删除一小段程序后就可以编译。在硬盘下,看编译好的HEX文件,是48K,在STC官方烧录软件下,看HEX文件的代码长度是12C5C,是不是文件太大,装不下了?
作者: newlined    时间: 2024-11-6 16:13
@lkc8210,您好,今天又出现这个错误了,是在修改程序中出现的,程序原本可以正常编译,我删除了8行程序后,就出现了,但是我多删除一些语句后(300多行),错误就消失了,真是奇怪,难道程序的大小需要在一个模数之间吗?
作者: newlined    时间: 2024-11-6 16:14
newlined 发表于 2024-10-12 11:09
今天又出现这个错误了,按照您的提示,还是不行,删除一小段程序后就可以编译。在硬盘下,看编译好的HEX ...

出现错误后按照您给出的提示,修改也不行。
作者: newlined    时间: 2024-11-26 09:13
@lkc8210,您好,昨天又出现这个错误了,我看STC32G12K128的手册时,有这2句“LCALL和LJMP的目标地址可以是64KB程序存储器地址空间内的任何位置”,“24位目标地址可位于16MB地址空间的任意位置。它用于ECALL和EJMP指令”,难道是程序太大了所致?于是我把所有的LCALL和LJMP都分别改为ECALL和EJMP,程序编译通过了。
作者: STC庄伟    时间: 2024-11-26 10:52
这里也要设置一下
作者: STC庄伟    时间: 2024-11-26 10:52

作者: newlined    时间: 2024-11-26 13:09
STC庄伟 发表于 2024-11-26 10:52

好的,谢谢您的回复。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1