完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
同时使用选项:--GTyff-2(在MPLABX菜单中有“生产生成符号”)和A=文件FLST(从MPLABX菜单中的“列表到文件”)导致一个错误:截断ASM文件的例子:MIPS编译器处理这样的例子没有问题。
以上来自于百度翻译 以下为原文 Using the options at the same time: --gdwarf-2 ("Have symbols in production build." from MPLABX menu) and -a = file.lst ("List to file" from the MPLABX menu) causes an error: /opt/microchip/xc32/v2.05/bin/xc32-gcc -c -o asm.o asm.S -Wa, - gdwarf-2, -a = asm.lst /tmp/ccxsIFVj.s: Assembler messages: /tmp/ccxsIFVj.s: Internal error! Assertion failure in emit_inc_line_addr at /build/bamboo/xml-data/build-dir/XC32-TBC-BLD/builddir/pic32m-source/src48x/binutils/gas/dwarf2dbg.c line 985. Please report this bug. Example of a truncated asm file: .section .reset, code .global _reset _reset: la $ t0, main j $ t0 main: lui $ t0, 0xff j main nop The MIPS compiler deals with such an example without problems. Albert |
|
相关推荐
11个回答
|
|
我在CRT0.S&Lt:Edg&Gt中看到了这个代码,添加了代码的其余部分。
以上来自于百度翻译 以下为原文 I see this code in crt0.S ################################################################## # Call main. We do this via a thunk in the text section so that # a normal jump and link can be used, enabling the startup code # to work properly whether main is written in MIPS16 or MIPS32 # code. I.e., the linker will correctly adjust the JAL to JALX if # necessary ################################################################## and a0,a0,0 and a1,a1,0 la t0,_main_entry jr t0 nop ... .section .text.main_entry,code,keep .align 2 .ent _main_entry _main_entry: #if defined(CPP_INIT) .weak _init # call .init section to run constructors etc lui a0,%hi(_init) addiu sp,sp,-24 addiu a0,a0,%lo(_init) beq a0,$0,2f sw $31,20(sp) #, jalr a0 nop 2: #endif and a0,a0,0 and a1,a1,0 ################################################################## # Call main ################################################################## la t0,main jalr t0 nop |
|
|
|
JimIt不是真正的程序。它是极端剥离的版本来演示问题。CRT0不被使用。我只将一个文件组装到一个对象。没有链接,没有创建程序!请参阅POST后面的命令行,没有提到的标志创建对象是OK的,没有错误,没有警告XC32 GCCS与MIPS,GCC创建的对象是可以的,即使有上面的标志。艾伯特。
以上来自于百度翻译 以下为原文 @Jim It is not real program. It is extremaly stripped down version to demonstrate problem. crt0 is not used. I only assembly one file to one object. No link, no create program! See command line in post #1 Without mentioned flags created object is OK and there is no errors and no warnings with xc32-gcc With mips-gcc created object is OK even with flags above. Albert |
|
|
|
|
|
|
|
嗯,不,我不打算。程序的改进应该是它的创建者的首要任务。我的首要任务是为遇到同样问题的用户节省时间。艾伯特
以上来自于百度翻译 以下为原文 Hmm, no. And I'm not going to. Improvement of the program should be a priority for its creators. My priority is to save time for users who come across the same problem. Albert |
|
|
|
该计划的改进显然是其创建者的优先事项。这就是为什么他们要求用户报告错误,Jackass。如果你不愿意向他们报告,不要麻烦把它带来这里-你没有帮助任何人。
以上来自于百度翻译 以下为原文 Improvement of the program is obviously a priority of its creators. That's why they ask users to report bugs, Jackass. If you're not willing to report it to them don't bother bringing it here - you're helping no one. |
|
|
|
如果我在论坛上发现类似的问题,它会对我有帮助。我很遗憾你没有那么幸运。艾伯特
以上来自于百度翻译 以下为原文 If I find a problem similar to mine in the forum, it will help me. I regret that you are not so lucky. Albert |
|
|
|
我认为这是一个编码问题。SpNET是“伪代码”,而不是一个完整的测试例子(如POST 3中的OP所说)。CRT0.S工作很好,我经常使用它,在生产构建中有符号和列表文件。
以上来自于百度翻译 以下为原文 I think this is a coding problem. The spinet is "pseudo code", not a complete example to be tested ( as stated by the OP in post 3). crt0.S works fine, I use it regularly, with symbols in the production build and a list file. |
|
|
|
这就是我们不同的。你看,我检查过。两个不同的节目。模拟器上和硅上都有这种“伪代码”在上面提到的配置中也起作用(如在帖子3中所述)。
以上来自于百度翻译 以下为原文 And that's what we're different. You think, I checked. Two different programs. Both on the simulator and in silicon. This "pseudo code" works in the configurations mentioned above (as also stated in post 3) |
|
|
|
看我这个代码工作
以上来自于百度翻译 以下为原文 Looks to me this code works Attached Image(s) Attachment(s) al_bin.zip (26.55 KB) - downloaded 1 times |
|
|
|
我不认为这是一个bug。XC32编译器通过XC的方式理解XC-PIC32 M.H中定义的“$0”作为寄存器“T0”。我相信你的“$T0”产生了你提到的断言。如果你加载我的例子,用“$T0”来注释这些行,你会看到一个错误。正如许多在线示例中提到的,使用“$t0”构造。
以上来自于百度翻译 以下为原文 I do not think this is a bug. The xc32 compiler understands "$8" as register "t0" as defined in xc-pic32m.h by way of xc.h I believe your "$ t0" produces the assertion you mention. If you load my example and un comment the lines with "$ t0" you will see an error. As I understand it the MIPS convention as mentioned in many online examples makes use of the "$ t0" construct. It seems xc32 differs in this area. |
|
|
|
首先,感谢您的技术响应。其次,我不认为问题是在寄存器的名称中。$T0(没有一个空间在某个地方的某个地方)是一个纯粹的汇编器名称,也用于简化,这样您就不必包括头文件。f项目中没有选项:项目属性-gt;xc32为-& gt;其他选项-gt;列表到文件附件中编译(但我使用xc非c32),但是当我启用这个选项时,它停止编译阿尔伯特
以上来自于百度翻译 以下为原文 First of all, thank you for the technical response. Secondly, I do not think the problem is in the names of registers. $t0 (without a space that got somewhere along the way) is a purely assembler name, used also for simplicity so that you do not have to include header files. Thirdly, in the settings of your project you do not have the option: Project properties-> xc32-as-> other option-> List to file Your attachment compiles (but I use XC not C32), but when I enable this option, it stops compiling Albert |
|
|
|
只有小组成员才能发言,加入小组>>
5184 浏览 9 评论
2005 浏览 8 评论
1932 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3179 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2230 浏览 5 评论
739浏览 1评论
626浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
511浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
637浏览 0评论
535浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 10:08 , Processed in 1.596129 second(s), Total 97, Slave 80 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号