cost 308 ms
如何分配給 C++ volatile 結構?

[英]How to assign to a C++ volatile struct?

對於硬件驅動程序,我需要一種將 8 x uint32_t 的 C++ 結構寫入 8 個連續 32 位硬件寄存器塊的方法。 這是我的代碼: (實際的結構將具有位域,並且寄存器地址將由常量定義)。 我想使用一個簡單的賦值運算符(如上所示): 因為我正在使用 ARM Cortex M4 處理器 ...

2022-06-22 14:10:06   1   83    c++ / armclang  
armclang 是否使用屬性(“IRQ”)將所有需要的寄存器保存在堆棧上?

[英]Does armclang saves all needed register on stack with attribute(“IRQ”)?

我正在使用 Keil ARMCompiler 6.15 (armclang.exe),我懷疑生成的匯編代碼的正確性。 在我看來,屬性 'interrupt("IRQ")' 被忽略了。 對我來說,r1 和 r2 也應該保存在堆棧中。 當我刪除“使用”屬性時,我的完整 function 被刪除(優化) ...

是否可以阻止單個翻譯單元或其中一部分的優化?

[英]Is it possible to prevent optimization from a single translation unit, or part of it?

在包含數十個模塊的項目中,我們將O1作為默認調試優化級別。 有時,我需要較少的優化(即,根本不需要優化)。 因此,我使用 clang 屬性optnone從優化中排除單個 function。 但是當要排除的函數數量很大時,這就變得很麻煩。 有沒有辦法從優化中排除整個模塊? 例如在模塊的頂部設置一個 ...

-g(或 --debug)命令選項會增加加載的內存占用嗎?

[英]Does -g (or --debug) command option increase the loaded memory footprint?

-g (或--debug )clang 命令選項是否會增加已編譯應用程序的內存占用? 具體來說,它是否會更改嵌入式 ARM 系統上加載的二進制大小? 注意:我知道調試版本會向 ELF 添加符號表和更多調試信息,但這應該由在主機上運行的調試器使用(例如,帶有 Eclipse 的 PC)。 問題是它 ...

armclang/armcc 是否提供復制省略選項?

[英]Does armclang/armcc provide options for copy-elision?

我已經閱讀了一些關於復制省略的 gcc 文件,它們提供了選項“-fno-elide-constructors”來禁用復制省略。 我想知道 arm 是否也支持這一點。 我在 arm 用戶指南和參考指南上找不到任何答案... ...

ARM v6編譯器啟動代碼里面的斷點指令

[英]Breakpoint instruction inside ARM v6 compiler startup code

我正在使用 ARM 編譯器 V6(“新”armclang 編譯器)在 Keil MDK 5.28 上為 STM32 開發一個新項目。 這是我第一次使用 armclang。 我的重置處理程序正在調用__main符號。 正如預期的那樣,這是執行 Keil C 庫的一些啟動代碼,然后調用我的main函數 ...

為什么stm32上的程序只能調試運行?

[英]Why programs on stm32 can only be debugged to run?

我使用armclang構建我的程序,並且程序會讓LED亮起將 ON,表示程序正在運行。 我發現程序在O3優化下可以運行,在O2優化下不能運行。 為什么? 我使用armcc構建程序,一切正常。那么是armclang的問題還是我忽略了一些配置。 請賜教,謝謝 ...

如何使用命令行選項覆蓋__TIME__和__DATE__宏的值?

[英]How to override the value of __TIME__ and __DATE__ macros using command line options?

在一個在其中一個模塊中使用__FILE__和__DATE__宏的項目中,我試圖在構建期間將這些宏的值重新定義為顯式值。 嘗試使用-D選項(例如-D__TIME__=01:23:45給了我一個編譯錯誤。 有沒有一種方法可以從命令行設置這些宏(以及類似的預定義宏),而無需更改源代碼本身? ...

為什么DWARF表中的路徑錯誤

[英]Why are there wrong paths in DWARF table

我用帶有-g選項的armclang編譯了程序。 當我嘗試使用Keil對其進行調試時,它無法識別源文件(我無法在它們中設置斷點,也無法查看我當前所在的功能)。 我用objdump檢查了已編譯的.o文件,似乎到c文件的PATH錯誤。 例如,我有: 問題在於該文件不在F:/ MyPr ...

警告:ELF段之外的可加載節“ my_section”

[英]Warning: Loadable section “my_section” outside of ELF segments

我使用用於Cortex-R4的Arm Compiler v6.9構建了axf(elf)文件。 但是,當我使用Arm MCU Eclipse J-link GDB插件將其加載到目標時,它無法加載我的段的初始化數據。 如果我使用Segger Ozone和J-Link加載axf,它將正確加載ini ...

constexpr構造函數初始化程序列表中的Constexpr函數

[英]Constexpr function in constexpr constructor initialiser list

我想用結構名稱的哈希值初始化結構成員。 當我有: 然后,在編譯時成功計算了哈希。 但是,當我有主要職能時 然后它將調用 而不是簡單地使用編譯時間常數初始化struct成員。 顯然,這將導致可避免的重大性能損失。 關於如何在編譯時執行編譯器的任何想法或 ...

GNU make在-I(共享目錄)選項后添加空格

[英]GNU make is adding white space after -I (shared directory) option

我正在嘗試通過GNU makefile使用armclang編譯器,但是在使用-I選項時兩個工具之間存在沖突。 對於armclang編譯器,-I表示“將指定的目錄添加到搜索的位置列表中以查找包含的files.Syntax -Idir”,不帶空格。 對於GNU makefile'-I d ...

ds-5終極評估版支持64位氖燈(arm_v8氖燈)

[英]ds-5 ultimate evaluation version supports 64bit neon ( arm_v8 neon)

我已經安裝了當前的“ DS-5 Ultimate 64-bit evaluation版”,但無法為ARMv8 64位neon構建 。 在armclang中 無法找到cpu列表,它僅顯示選項 "Target: aarch64-arm-none-eabi". 請幫助我解決以下問題 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM