问题标签 [armcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
324 浏览

c - 是否有预定义宏定义有关 armcc 中的字节顺序

是否有预定义宏定义有关 armcc 中的字节顺序。

我是 armcc 的新手。对不起我的英语。

在 gcc 中,这些是宏: __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ __ORDER_BIG_ENDIAN__ __ORDER_PDP_ENDIAN__ ...

现在我必须使用armcc,armcc是否也有类似的情况?

非常感谢。

顺便说一下,armcc 版本:

0 投票
0 回答
124 浏览

arm - 如何在 eclipse 中使用 --multifile ARM 编译选项

我想使用 ARMCC 编译器编译 ARM c 项目。

--multifile用于通过跨多个源文件(具有一个目标文件输出)进行编译来执行额外的优化。

例子 armcc -c --multifile test1.c ... testn.c -o test.o

我的问题是如何在 Eclipse 中使用这个编译标志。我不能把它放在 ARM C Compiler -> miscellaneous--inline比如,因为它会同时影响许多文件

0 投票
1 回答
792 浏览

c - 有条件地使用带有 armcc 的打包结构(BGLib 中的 PACKSTRUCT)

我尝试使用外部 MCU (EFM32) 使 BLE121LR 模块工作。据我所知,这段代码声明了将结构转换为二进制数据,对吗?有人可以解释一下如何为其添加 ARM (EFM32) 支持吗?非常感谢!!

代码:

0 投票
0 回答
399 浏览

c - 如何解决错误:常量数组的 armcc 链接错误中的 L6769E?

我在 ac 文件中定义了几个数组,并在其标题中声明为 extern。标头包含在其他几个文件中。它符合 MSVC,但是 armcc 抛出错误。我该如何解决这个问题?

0 投票
1 回答
1656 浏览

c - 如何防止 ARM Compiler 5 armcc 内联汇编程序中的 LDM/STM 指令扩展?

我正在尝试使用 STM/LDM 指令在使用 ARM Compiler 5 armcc 编译的 .c 文件中的内联汇编中生成AXI总线突发访问。

但是 ARM 编译器 armcc 用户指南第 7.18 段说:“所有 LDM 和 STM 指令都扩展为具有等效效果的 LDR 和 STR 指令序列。但是,编译器随后可能会在优化期间将单独的指令重新组合成 LDM 或 STM。 "

这就是实际发生的情况,在某些情况下,LDM/STM 会扩展为一组 LDR/STR,并且这些指令的顺序是任意的。这会影响性能,因为我们使用针对突发处理进行优化的硬件。这也破坏了功能的正确性,因为我们使用的硬件考虑了单词的顺序并忽略了偏移量(但编译器认为更改指令的顺序是安全的)。

为了解决这个问题,可以使用嵌入式汇编程序而不是内联汇编程序,但这会导致额外的函数调用——返回影响性能的因素。

所以我想知道是否有办法在不损失性能的情况下正确生成 LDM/STM?我们能够在 GCC 中做到这一点,但没有找到 armcc 的任何解决方案。

目标 CPU:Cortex M0+ (ARMv6-M)。

编辑: 从设备都是片上设备,其中大部分是非内存设备。对于支持地址空间的突发访问区域的非内存从属的每个寄存器都被保留(例如[0x10000..0x10100]),我不完全确定为什么,也许CPU或总线不支持固定(非增量) 地址。HW 忽略该区域内的偏移量。例如,完整请求可以是 16 个字节,完整请求的第一个字是写入的第一个字(即使偏移量非零)。

0 投票
1 回答
927 浏览

c - armcc 链接错误 Error: L6769E in armcc while building a C project,什么问题?

我有一个 C 项目,其中一些函数也是用 arm neon 程序集编写的,但是我无法编译它,main() 所在的文件中有几个错误,而且看起来很模糊,我使用的是 DS-5用于编译,它在没有 asm 函数的情况下在 MSVC 上构建和运行良好。问题是什么?

. . .

0 投票
2 回答
2612 浏览

c - Keil 中行尾出现意外字符 - 但没有

我正在使用 Keil uVision v5.14 为 nrf51xx cpu 编译一些代码。我一直使用一个名为 nrf_delay.h 的头文件,它有一些用汇编程序编码的延迟例程。突然,在编译过程中,在所有“NOP”行上都收到上述错误:

错误文本:

奇怪的是,NOP 之后绝对没有多余的字符。我也尝试过用旧版本替换 nrf_delay.h,或者更改项目设置以匹配工作设置,但没有运气。

整个东西都被包围在

但我不确定是否定义了“_CC_ARM”或“ ICCARM ”。C 编译器是 Armcc V5.05。

更新

我是从一个工作项目开始的,我已经逐步添加了我上次疯狂的更改。似乎只是在项目的新 .c 文件中包含 nrf_delay.h 会触发问题。

但是,nrf_delay.h 包含在许多其他 .c 文件中,并且 nrf_delay_us() 被多次使用,没有这样的问题。

更新 2 - 已解决,但仍然是个谜 所以,我的 .c 文件顶部有一些#defines。如果我这样说:

如果我这样说:

知道为什么吗?

0 投票
1 回答
145 浏览

arm - 在编译过程中自动插入预取指令的 ARMCC 编译器选项是什么?

如果我将预取指令手动插入源代码并且当我命令编译器 ARMCC 自动插入该预取指令时,我正在尝试评估增益。但我不知道命令 ARMCC 编译器在编译过程中自动插入预取指令的编译选项(命令行)。谢谢 !

0 投票
1 回答
344 浏览

keil - µVISION:BUILD TARGET 总是重新编译所有文件

µVision v.5.01 在我使用 Project - Build 目标时重新翻译我的项目中的所有文件。但是,我没有对我的文件进行任何更改,并且 µVision 内置 MAKE 应该检查时间戳以查看没有更改。我确保没有在任何地方定义 TZ,没有检查 Create Batch File,也没有检查 Use Cross-Module Optimization。C 编译器列表和 C 预处理器列表也未检查。

0 投票
0 回答
107 浏览

c - 带有 armcc (Keil) 的 TDD - 非常规

我有一个与 TDD 和 armcc (Keil) 相关的非常规问题。

我将TDD理解为编译->链接->执行->测试输出。

就我而言,我必须编译并与 armcc 链接,但如果没有 Keil(模拟),我将无法执行该文件。我的设备没有模拟器。至少据我所知没有其他方法。您需要在目标上运行测试。

我认为这很不方便,我正在寻找更好的解决方案。所以我正在考虑用 armcc 编译和链接,但用 gcc/g++ 执行(取决于测试框架)。

这是一个可行的选择吗?老实说,我不知道。

如果有人能引导我了解我混乱的看法,我将不胜感激。任何提示都更受欢迎。

我已经知道“Unity”,但目标问题仍未解决。