完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在我使用MPLAB X IDE和XC32编译程序的好日子里,当我写一个简单的代码来打开一个LED时,会提出两个关于我的第一个编译的问题,只有几个指令,我注意到,HEX文件比预期的要大,如果我在程序程序Flash上检查,通过调试窗口,有很多代码是我不写的。似乎编译器添加了一些代码?为什么会有这种行为?HO可以指示编译器只链接我的代码?如何指导编译器在启动闪存上编写代码而不是程序存储器?
以上来自于百度翻译 以下为原文 Good day at all I'm using MPLAB X IDE with XC32 compiler I would like put two questions about my first compilations
Francesco |
|
相关推荐
5个回答
|
|
1。您可以将NoSTDLIB添加到链接器选项中,但之后您的程序将无法工作,因为编译器添加代码是初始化C运行时环境的必要条件,除此之外。2。了解GNU链接器如何工作,并将链接器脚本适应您的需要。
以上来自于百度翻译 以下为原文 1. You can add -nostdlib to the linker options, but your program won't work after that, since that compiler-added code is necessary to initialize the C runtime environment, among other things. 2. Learn how the GNU linker works, and adapt the linker script to your needs. |
|
|
|
PIC32上的Booflash从3K到12K不等。如果你的PIC是3K的话,这将是困难的。它是一个更大的游戏,你可以使用链接器脚本。你用的是什么芯片,MOCH引导闪存是怎么使用的?这个程序比你想象的要大,因为标准链接器脚本为调试器保留了Flash、异常内存和中断、C启动代码和和声库。我最近的Bootloader看起来像是至少11K(8 K主内存和3K BootFlash)。不要在ASM中使用中断或异常和程序,并在引导闪存中安装一些东西。
以上来自于百度翻译 以下为原文 The Bootflash on a PIC32 varies from 3K to 12K. If Your PIC is a 3K one it would be difficult. It is is a bigger one you can play with the Linker script. What chip are you using, and how moch Boot Flash does it have? The Program is Bigger than you think because the Standard Linker script reserves Flash for the Debugger, The Exception Memory and Interrupts, the C Startup code, and Harmony Libraries. I my recent Bootloader it looks like it will be at least 11K ( 8 K main Memory and 3K bootFlash) I assume you could not use interrupts or exceptions and Program in ASM and fit something in the Boot Flash. |
|
|
|
感谢RePali我使用PIC32 MZ2048 EFH144。我刚刚开始了PIC的体验,为此我想从一开始就可以只考虑操作所需的代码(不调试)。这就是为什么我不想给编译器太多的权力,并使它必不可少。如果我理解正确,我应该设置编译器在“非调试器”模式。不幸的是,对于我的不足,我不理解你提示我这样做的方法。有可能避免添加代码,或者添加代码是必需的。根本没有?提前感谢
以上来自于百度翻译 以下为原文 Thanks for Replay I'm using PiC32MZ2048EFH144. I have just started the experience with the Pic, for this reason I would like to start from the beginning and be able to consider only the code necessary to operate (without debugging). This is why I would not want to give the compiler too much power and make it essential. If I understood correctly, I should set compiler in "not debugger" mode. Unfortunately, for my lack, I did not understand the method you tips me to do this. Is it possible to avoid add code, or added code is necessary at all? Thanks in advance |
|
|
|
禁用调试(或不从调试开始),并将编译器优化设置为您支付的最高级别。(1)???)后面的是:项目-gt;属性-gt;xc32(全局选项)-& gt;xc32 gcc- & gt;优化-gt;2thh,Nick
以上来自于百度翻译 以下为原文 Disable the debugging (or don't start with debugging) and set the compiler optimization to the highest level you paid for. (1 (???) in the free version). The later is: Projects -> Properties -> XC32(Global Options) -> xc32-gcc -> Optimization -> 2 HTH, Nick |
|
|
|
这是必要的。C环境需要初始化和一定程度的运行时支持。还有一个基本的嵌入式应用程序脚手架,比如中断向量表。
以上来自于百度翻译 以下为原文 It is necessary. The C environment requires both initialization and some degree of runtime support. There is also the basic embedded application scaffolding you always get, like the interrupt vector table. |
|
|
|
只有小组成员才能发言,加入小组>>
5237 浏览 9 评论
2027 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3202 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
772浏览 1评论
662浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
590浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
672浏览 0评论
572浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 18:24 , Processed in 1.273755 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号