- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 CodeWarrior for MCU v10.6 IDE
开发一个项目。它是 NXP 的基于 Eclipse 的 IDE。该项目的目标是 NXP 的 K21 SoC(确切地说是 MK21FN1M0M12
,嵌入了 cortex-m4
、armv7-m
)。CodeWarrior 配置为使用 ARM 工具链。
我遇到了与拇指交互相关的崩溃。此功能由 IDE 启用且无法停用。
由于armv7-m
仅支持thumb2,因此使用thumb-interwork一开始似乎没有意义。但我可能在这里遗漏了一些东西。所有代码均在拇指指令中正确生成。
通过指针进行间接函数调用时遇到麻烦。函数代码在链接阶段得到一个奇数地址,这是可以的(这表明它是拇指代码)。然而,当通过指针调用它时,会生成一条 BLX 指令(我想链接器在这里将原始 BL 更新为 BLX)并且函数指针的值保持偶数!由于指针的值为偶数,因此跳转指示内核切换到 ARM 模式。因此发生了崩溃。
我认为链接器将 BL 升级为 BLX 是因为拇指互通功能被激活。在 CodeWarrior for MCU v10.6
上,这是强制的,我无法禁用它。我被告知该工具“需要处理器”,无法单击相关复选框(Properties->C/C++ Build->Settings
,ARM CPU。处理器设置为 “皮质-m4”
)。
我不明白为什么,因为这是armv7-m
。而且它似乎给我带来了麻烦。我想我在这里遗漏了一些东西。
您能否帮助我了解发生了什么和/或告诉我是否有办法禁用 CodeWarrior 上的拇指交互?
谢谢并致以最诚挚的问候,
皮埃尔
最佳答案
@Notlike说得对,我的问题有点像 XY 问题。
我的问题是由于使用 GCC 构建的库而引起的,CodeWarrior 配置为使用 Freescale 的工具链(ARM 工具)。
未设置 LSB 的函数指针来自这些库之一,并在链接阶段由 CodeWarrior 进行了评估。由于链接器正确地将这些库中的每个函数放置在奇数地址处,我猜测它应该错过一些信息来检测错误指针实际上是一个函数指针。
长话短说,事实证明库被剥离了,特别是带有 --strip-unneeded
标志。我删除了该标志,链接器做得非常完美!
关于assembly - 可以使用 ARM 工具链在 CW 10.6 上停用拇指互操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41040942/
我找不到在来电时激活和停用振动的方法。 菜单中的选项 --> 设置 --> 声音和显示提到 - PHONE VIBRATE - 来电时手机振动... 我想通过代码激活和停用它(如果可能的话)。 最佳答
我有两个元素在彼此之上。当我点击第一个 div 上的按钮时,第二个 div 在第一个 div 之上打开,我想要做的是让底层 div 成为非交互式的(我不能点击底层 div 上的任何东西只要 overl
有没有办法取消 UIScrollView 的减速? 我想允许用户滚动 Canvas ,但我不希望用户抬起手指后 Canvas 继续滚动。 最佳答案 这可以通过利用 UIScrollView 委托(de
这里是关于 Stack Oveflow 的第一个问题,所以不要作恶! :) 言归正传:如果有堆叠的元素和堆叠的操作区域,如何继续操作以确保您对所看到的内容而不是底层元素进行操作? 我正在学习有关 Qt
这个问题已经有答案了: Deleting Objects in JavaScript (14 个回答) 已关闭 9 年前。 我有一个类,我通过以下方式调用: this.infiniteScroll =
我有一个优化问题,正在尝试使用 optaplanner 来解决。求解算法使用一组规则。引擎使用一个对象来捕获每个规则的权重。规则的最终得分是规则的中间得分乘以权重。分数设置在每条规则的右侧。每个规则的
有没有办法取消 UIScrollView 的减速? 我想允许用户滚动 Canvas ,但我不希望用户抬起手指后 Canvas 继续滚动。 最佳答案 这可以通过利用 UIScrollView 委托(de
我正在尝试更新 native android 应用程序,该应用程序以前是由其他一些人在某些跨平台技术(Titanium)中构建和上传的。应用程序以高级模式发布,其中针对平板电脑和手机有不同的构建。但现
我有一个 JList 列表和以下代码行: list.getInputMap().put(KeyStroke.getKeyStroke('d'), "action"); 因此,当我的列表处于焦点状态并且
有没有办法通过 SQL 语句停用 postgres 用户帐户? 我想阻止用户使用他们的数据库,但不删除用户或他们的数据库。 最佳答案 您还可以考虑 ALTER USER someone WITH NO
我有一个问题。我有一个 ViewController1,它通过 Push-segue 打开 ViewController2。//两者都是NavigationControllers - (void)pr
当我去 Playground 写 let test = "\u{062F}\u{0625} Hello" 时,我得到 Hello دإ(通过当我从输出控制台复制到这里时,我得到 دإ Hello) 似
我想通过扬声器播放歌曲,同时能够使用 Quickblox 接听视频通话。 我的音频速率越来越乱了。还有一个更大的问题是,当通话结束时,quickblox 框架将 Audio Session 设置为停用
我有一个工作项目,我以 tomcat 用户身份登录,但我不知道如何注销,我尝试停用 tomcat session ,我们使用 java spring,这是我尝试从 Controller : @Requ
我正在使用 javascript 来缩放我的 asp.net 网页上的图像。我想在上面放 2 个按钮,例如“缩放”、“取消缩放”,并相应地激活/停用 javascript 功能。现在我有一个 java
我有一个 TextField 和一个按钮。此 TextField 最多可包含 3 个字母或数字。 这是我的问题。当程序运行时,如果这个文本字段为空或者如果这个文本字段不只包含数字,我希望我的按钮被禁用
我有几个组,可以选择三个按钮。我试图做到这一点,以便当有人选择 N/A 按钮时,它会禁用其他两个按钮。当取消选择 N/A 按钮时,将启用其他两个按钮。我让它在我的机器上工作,其他两个按钮被着色为禁用,
HTML: Button Main Menu A Main Menu B
我是 php 新手,如何才能完成这项工作 删除.php prepare("UPDATE tbluser set status=1 WHERE id=:id"); $stmt->execute(
周五,我开始在运行 Ubuntu 14.04 的 VPS 上编写我的第一个 python API hello world 示例。我使用 python3,创建文件夹,virtualenv,激活它,然后断
我是一名优秀的程序员,十分优秀!