如何解决组件中的.size运算符stm32
我的问题是关于在startup script这样的ARM CORTEX M启动文件中使用.size运算符。
我已经阅读了有关.size运算符的其他问题,我的理解是,以下几行:
.size X,.-X
允许通过当前位置(。)与符号X的定义之间的距离来定义X的大小。
在X定义的末尾使用此行时可以。没问题。 但是,如果在符号前使用它,它将如何工作?
在启动脚本的第94行,您可以阅读:
.section .isr_vector,"a",%progbits
.type g_pfnVectors,%object
.size g_pfnVectors,.-g_pfnVectors
g_pfnVectors:
.word _estack
.word Reset_Handler
[...]
不是应该定义-1的大小吗?它如何运作?我想这不是一个错误,因为您可以在所有STM32启动代码中找到它^^
谢谢
解决方法
答案很简单。 .
(点)表示当前地址。因此,表达式(来自github)
.size Reset_Handler,.-Reset_Handler
将部分Reset_Handler的大小设置为当前地址减去该部分的开头。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。