问题标签 [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.
c++ - 使用不支持异常的 C++ 编译器?
我正在使用托管的mbed C++ 编译器将 C++ 库移植到我的 mbed,该编译器基本上是 ARMCC,具有您无法真正更改的配置。他们决定的配置选项之一(出于某种未知原因)是不支持异常。所以 athrow
和 acatch
会产生编译器错误。
究竟如何才能毫无例外地使用标准 C++ 库?我在我的库中使用了一些向量。我怎么知道push_back
函数是否真的成功了?是否有任何标准方法可以知道是否发生了异常,或者它是否只是做某事exit(1)
或某事?
time - armcc(keil uVision4):如何让 time() 从 RTC 返回时间?
我是一名相当习惯于使用免费工具在 Linux 上使用嵌入式系统的开发人员。现在我发现自己在一个使用 Windows 上的 Keil 编译器的项目中(armcc、uVision4 ......我发现这方面的东西的命名有点令人困惑:)。
使用的硬件上有一个实时时钟,但它总是通过其 I2C 接口直接访问。由于各种原因(主要是代码的可移植性),我想将它连接到标准time()
函数。
我该怎么做呢?
c++ - 编译错误:2574:显式特化必须在第一次使用之前()
使用armcc4.1编译我的代码时,报如下错误:
“access/qnetworkrequest_p.h”,第 94 行:错误:#2574:类“QTypeInfo>”的显式特化必须在其首次使用之前(在“../../include/QtCore/../.. /src/corelib/tools/qlist.h") Q_DECLARE_TYPEINFO(QNetworkHeadersPrivate::RawHeaderPair, Q_MOVABLE_TYPE);
但是,有没有办法禁用或绕过这个错误?
c - enum_is_int 选项
我目前使用 arm env 在 Intel x118 平台上工作。我发现我必须强制打开这个选项以确保链接没有问题,否则会出现如下错误:
谁能告诉我,如果此--enum_is_int
选项对我的目标文件产生重大影响?
更多的信息:
我发现了一些关于 ARM 的评论:
此选项强制所有枚举类型的大小至少为四个字节。
默认情况下关闭此选项,并使用可以保存所有枚举器值的最小数据类型。
如果在命令行中指定 ARM Linux 配置文件,则默认开启此选项。
注意--enum_is_int
不建议
将该选项用于一般用途。
gcc - 如何使用“armcc”编译器来跟踪函数调用?
我以前用gcc -fdump-rtl-expand
做-finstrument-functions
函数调用跟踪,armcc有这种类似的功能吗?
对于gcc,我使用:
armcc是否有类似的编译器选项?我尝试了相同的方法,但似乎它们不起作用:
arm - ARM - 如何使用 armcc 保存 r9 寄存器
阅读 ARM AAPCS (ARM EABI),我发现: 寄存器 r9 的作用是特定于平台的。虚拟平台可以为该寄存器分配任何角色,并且必须记录此用法。例如,它可以在与位置无关的数据模型中将其指定为静态基址(SB),或者在具有线程本地存储的环境中将其指定为线程寄存器(TR)。该寄存器的使用可能要求所保存的值在所有调用中都是持久的。不需要这种特殊寄存器的虚拟平台可以将 r9 指定为附加的被调用者保存的变量寄存器 v6。
我想将 r9 用作我的特定航空电子抢占式操作系统的 PID 保持器,但我不知道如何保存它:armcc C 编译器总是将它用作变量寄存器,因此它的值总是通过应用程序改变。
任何想法 ?armcc 可以吗?海湾合作委员会?戴铂?...
谢谢你的帮助。
问候
克里斯托夫
c - C 宏利用嵌入式 arm asm 中的立即值 - armcc
与我的问题最接近的线程是这些在#define 宏中转义 # 符号?以及如何通过 C 预处理器打印磅/哈希?,但他们并没有完全回答我的问题。更明确地说,第二个似乎不适用于 armcc 编译器。它只打印 hash4 而不是 hash 定义的符号。Chris Lutz 在第二篇文章中特别贬低了尝试使用宏来实现此功能,所以这可能是错误的方法。不过,我想要更多的想法,而不仅仅是一个人。
问题如下:我正在尝试编写一个使用宏定义嵌入式 asm C 函数的宏。我基本上已经实现了它,除了一个问题......表达了一个直接的价值。立即值的语法需要(我相信)一个磅符号,它也是预处理器的“字符串化”符号。那么,是否可以在 C 宏中转义 # 符号?
这背后的主要目的是用 pico 内核线程上下文管理过程包装 isr,并且新过程的函数指针最终将传递给向量中断控制器。
这是代码:
我希望我已经足够详细地解释了一切。如果没有,请不要犹豫,询问更多细节。
c - ARMCC remove unused variables
I'm trying to remove unused code with Keil ARM tools that use ARMCC compiler. I've previously used GCC based compilers for ARM and I could easily remove the unused code with:
For ARMCC i found similar flag
but it works only with functions and not with variables.
Is there any way to remove unused variables with ARMCC?
Edit:
For example giving the following library code:
and my project code:
I want to remove func2() and veryBigArray using compiler/linker optimizations.
c - 中断处理程序声明:armcc vs gcc
我想声明一个中断例程函数。
最初为 armcc 编写为:
我写的是一样的:
我收到以下错误:line XXX : Error: #1207-D: attribute "interrupt" ignored.
可能是什么问题?
c - 哪个编译器编译了这个文件?
我正在使用 gnu gcc 和 armcc 编译一些 C 文件。如何获取有关哪个编译器编译了哪个文件的信息?
例如:test.cpp 正在由 armcc 或 gnu gcc 编译。
makefile 非常复杂,我正在寻找一个命令,通过它我可以检查哪个编译器编译了哪个文件。
有任何想法吗?