当前位置: 首页 > news >正文

护肤品 网站建设策划shopex网站经常出错

护肤品 网站建设策划,shopex网站经常出错,家庭电影网站建设,简答网站内容建设的时候内链重要性armcc HardFault函数链接不到的问题理解 1、问题背景: 笔者汇编语言编写了一个HardFault异常处理函数,HardFault函数属于芯片架构异常处理函数,没有显著的调用(中断向量表中有该函数地址),且启动函数里面也…

armcc HardFault函数链接不到的问题理解

1、问题背景:

笔者汇编语言编写了一个HardFault异常处理函数,HardFault函数属于芯片架构异常处理函数,没有显著的调用(中断向量表中有该函数地址),且启动函数里面也有一个HardFault函数,为弱函数(weak),这两个函数均参与了编译。目前的现象是armcc链接器链接了 weak函数,而没有链接笔者写的HardFault函数,需要寻找原因。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、解决方案

  • 正常情况下,如果有强符号,首先链接强符号,其次才是弱符号,如果是弱符号,则会按照一定规则去链接,参考笔者这篇文章ARM学习(25)链接装载高阶认识,比如链接时优先链接到的函数,或者变量暂用size大的等等,比较少见。
  • 其次如果是链接顺序问题,优先链接到,那么通过调整链接顺序可以解决,笔者多次修改链接顺序,均未有效果。

后续笔者想到了armcc 链接器的stripped功能,

  • 正常情况按.o文件划分,.o文件只要被调用一个函数,就会全部链接进去,否则全部去掉。

  • 对于C文件,–split_sections,可以将函数都单独放置一个section,链接的时候没用的section会被去掉,假如笔者将某些函数放到一个section,那么只要有函数被用到,就都被链接进去,否则都不被链接进去,这是因为链接器只能按照section去掉,而不能进一步划分。之所以没有被显著放置到section的函数可以根据需要保留和去掉,那是因为链接器把每个函数都单独分成单独section。

  • 对于S文件,暂无发现这种机制,所以则按照.o文件划分

  • feedback功能,需要两次链接,首次链接找到没用到的函数,第二次把没有用到的函数放到一个内置的section,从而连接器可以去掉。

笔者写的汇编函数所在的.o文件,除了HardFault均没有被调用,所以就整体被stripped掉了,而链接的时候恰好有weak函数满足链接,所以就链接了weak函数。

所以解决方案就是:手动调用一个汇编文件.o里面的一个函数,则全部会被链接到,这样就正常了。

此外笔者还尝试了,不仅仅是汇编文件,C文件也类似,C文件手动调用HardFault,其他函数均未被调用,也会被stripped掉。

在这里插入图片描述

http://www.dtcms.com/a/531842.html

相关文章:

  • 机器人描述文件xacro(urdf扩展)
  • AI决策平台怎么选?
  • 当 AI 视觉遇上现代 Web:DeepSeek-OCR 全栈应用深度剖析
  • 紫外工业相机入门介绍和工业检测核心场景
  • 商业求解器和开源求解器哪个更适合企业?
  • 比尤果网做的好的网站深圳网站设计精选刻
  • WPF 控件速查 PDF 笔记(可直接落地版)
  • Selenium+Unittest自动化测试框架
  • 设计模式-命令模式(Command)
  • 设计模式-外观模式(Facade)
  • web自动化测试-selenium_01_元素定位
  • 苏州建设工程信息网站wordpress自动生成tag
  • 学习C#调用OpenXml操作word文档的基本用法(1:读取样式定义)
  • Java-Spring入门指南(二十八)Android界面设计基础
  • Go 语言类型转换
  • 【Windows】goland-2024版安装包
  • 快速入门elasticsearch
  • Linux 多用户服务器限制单用户最大内存使用(systemd user.slice)
  • 食品公司网站设计项目雨蝶直播免费直播
  • SQL 调试不再靠猜:Gudu SQL Omni 让血缘分析一键可视化
  • RV1126 NO.34:OPENCV的交叉编译和项目Makefile讲解
  • FreeRTOS---进阶知识4---通用链表
  • jvm逃逸问题的分析以及给出解决方案?
  • PHP 表单:深入浅出地掌握表单处理
  • Linux(Ubuntu)操作系统下文件的解压
  • HTTP 1.0版本的webserver自主实现
  • 【开题答辩全过程】以 基于微信小程序的个性化饮品定制点餐系统设计与实现为例,包含答辩的问题和答案
  • kotlin - 显示heic图片
  • 做网站域名是什么意思网站不备案会怎样
  • A2A+MCP构建智能体协作生态:下一代分布式人工智能架构解析