完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
为了减小 iram0 的大小,我将一些函数从 libgcc.a 重新定位到 irom.txt。
然而,链接器报告调用函数“__udivmoddi4”无法“访问”重定位的函数。然后我尝试重新定位函数“__udivmoddi4”,但是在要找到的映射文件中没有对“__udivmoddi4”的引用……知道 __divmoddi4 在哪里吗? |
|
相关推荐
1个回答
|
|
__udivmoddi4 和 __divmoddi4 都是 libgcc 库中的函数,用于执行整数除法和取模操作。它们是由 GCC 中的内建函数调用的。在链接过程中,它们通常被映射到 iram0 或者 irom 地址空间中。
如果你尝试将这些函数从 libgcc.a 中重新定位到 irom.txt,就会遇到这种无法访问的问题,因为它们被调用的时候需要访问其他函数或者变量。这些其他函数或者变量可能仍然在 libgcc.a 中,所以你需要确保将这些函数和变量也一起重新定位。 如果你需要减小 iram0 的大小,有一些可行的方法可以考虑: 1. 优化你的代码,确保你只使用必要的库函数和变量,避免不必要的内建函数调用。 2. 将你的代码分离成多个模块,每个模块只包含必要的函数和变量,并将这些模块映射到不同的地址空间中。 3. 对于一些函数,你可以手动实现它们的功能,避免使用内建函数调用。这通常需要更多的代码和时间,但可以减少对库函数的依赖。 希望能对你有所帮助! |
|
|
|
只有小组成员才能发言,加入小组>>
968 浏览 1 评论
553浏览 6评论
462浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
418浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 02:11 , Processed in 0.686033 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号