cost 427 ms
ARM GCC + Cortex M4:調用地址為 function 生成 BLX 而不是 BL

[英]ARM GCC + Cortex M4: Calling address as function generates BLX instead of BL

我為 CortexM4 CPU 構建了盡可能少的操作系統,它能夠通過 UART 接收編譯的二進制文件並動態調度它們。 我想使用該功能來制作一個測試套件,該測試套件上傳測試程序能夠直接調用操作系統功能,如 memory 分配,而無需執行 SVC。 因此,我需要將這些操作系統例程的固定地址轉換為 fu ...

Php 拇指不顯示圖像

[英]Php thumb not show image

我無法解決這個問題。 有時我的網頁上列出的圖片有時會出現此錯誤。 我的代碼 在此處輸入圖像描述我嘗試了一些其他縮略圖版本但沒有用。 ...

ARM Thumb GCC 反匯編 C。調用者保存的寄存器未保存並立即加載和存儲相同的寄存器

[英]ARM Thumb GCC Disassembled C. Caller-saved registers not saved and loading and storing same register immediately

上下文:STM32F469 Cortex-M4 (ARMv7-M Thumb-2),Win 10,GCC,STM32CubeIDE; 學習/嘗試內聯匯編和讀取反匯編、堆棧管理等,寫入核心寄存器,觀察寄存器內容,檢查堆棧指針周圍的 RAM 以了解其工作原理。 我注意到,在某些時候,當我調用 funct ...

使用 libnds 顯示 bitmap 背景時出現問題

[英]Troubling displaying bitmap background using libnds

我在獲取 16 位(ARGB、1 位 alpha、5 位顏色通道)bitmap 圖像時遇到了一些問題,我使用 GRIT 將其轉換為顯示。 我有以下圖片smpte_colour_bars.png 。 我使用以下命令行使用 GRIT 對其進行了轉換: grit smpte_colour_bars.png ...

ARM7a 指令 - 沒有為立即數(相對位移)定義分支 BX,有什么替代方法?

[英]ARM7a instruction - there is no branch BX defined for an immediate (relative displacement), what is an alternative?

我正在修改一個匯編器/鏈接器以添加一個 ARM7a 后端。 為了與調用 (BL) 互通,有 BLX,所以如果我看到一個設置了 bit0 的全局符號,我知道將 BL 切換到 BLX 指令。 但是對於一個分支,沒有可用於立即(相對位移)的 BX,只有一個位於寄存器的地址。 我沒有看到單一的指令替代方 ...

減去 0x1 - 0x80000000 如何導致溢出?

[英]How does subtracting 0x1 - 0x80000000 cause an overflow?

運行此代碼后,將設置標志 N 和 Z。 現在,我知道如果運算結果為負,則設置 N 標志,當出現溢出時設置 Z 標志。 我不明白的是0x1 - 0x80000000是如何導致溢出的。 任何幫助表示贊賞! ...

需要未移位的寄存器 - 匯編器在 TST 指令上拋出錯誤

[英]unshifted register required - Assembler throws error on the TST instruction

我目前正在將算法從 C 重寫為 arm 程序集(ARM Cortex M4 CPU)。 我的代碼有什么作用? 該算法將一個 8 位數字作為輸入,並從右邊開始告訴我們第一個為 0 的位是多少。以下是幾個示例: 輸入:B01111111 Output:7 輸入:B01110111 Output:3 輸入 ...

如何在 ARM 拇指上設置 function 的指令大小(16 位或 32 位)?

[英]How to set the instruction size (16 bit or 32 bit) for a function on ARM thumb?

ARM 有多個指令集:A32(32 位長指令)和混合長度 T32(32 位或 16 位長指令)。 T32 在 ArmV8 之前被稱為 Thumb。 雖然 16 位指令減少了代碼大小,但 32 位指令可以具有更高的性能。 根據https://developer.arm.com/documenta ...

2022-04-03 08:49:51   1   358    rust / arm / thumb  
如何讓 qemu 運行 arm 拇指二進制文件?

[英]How to get qemu to run an arm thumb binary?

我正在嘗試學習 ARM 程序集的基礎知識,並編寫了一個相當簡單的程序來對數組進行排序。 我最初使用armv8-a選項組裝它並在qemu下運行程序,同時使用gdb進行調試。 這工作正常,程序初始化數組並按預期對其進行排序。 最終,我希望能夠為我的 Raspberry Pi Pico 編寫一些程序集, ...

了解帶有 pc 偏移的 Cortex-M 匯編 LDR

[英]Understanding Cortex-M assembly LDR with pc offset

我正在查看這段 C 代碼的反匯編代碼: 該SW1=行的程序集是(抱歉無法復制代碼): https://imgur.com/dnPHZrd 以下是我的問題: 在第一行,PC = 0x00000A56,PC + 92 = 0x00000AB2,不等於 0x00000AB4,如圖所示。 為什么? 我對 ...

[android]使用mediacodec和ffmpeg生成.ts文件,但是生成的ts文件沒有圖片覆蓋

[英][android]use mediacodec and ffmpeg to generate .ts file, but the generated ts file has no image cover

我遇到了如下所述的問題; 我使用 android 框架的 Mediacodec API 從 opengl 紋理編碼相機預覽流,並希望生成一個 ts 文件; 由於 Mediacodec 不支持生成 ts 文件,所以我使用 ffmpeg 這樣做; 一切正常,ts文件生成成功,可以在我的android或電 ...

clang 鏈接錯誤 ARM 內置在拇指模式

[英]clang links wrong ARM builtins in thumb mode

我正在嘗試使用 clang 13.0 構建 Cortex-M0(ARMv6,拇指)固件。 除了在 ARM 模式下的__udivsi3 、 __udivmoddi4等內置函數外,一切似乎都很好。 當然,CPU 只支持 thumb 並在嘗試執行它們時會出錯。 我知道這些函數是錯誤的,因為 CPU 故障, ...

不能用 LDR 替換 MOVW / MOVT

[英]Can't replace MOVW / MOVT with LDR

我想用單個ldr指令替換這個movw / movt組合: 但是,在此更改后,代碼不再有效。 由於這是我唯一更改的部分,因此肯定有問題。 我的印象是這兩個代碼段是相同的。 匯編代碼頂部有以下說明 並使用GNU Arm 嵌入式工具鏈和以下命令編譯: 以防萬一,其余代碼與托管在此頁面(底部) ...

橢圓滑塊拇指上的文本塊 - 避免在文本更改 C# WPF 時調整橢圓后面的網格大小

[英]Textblock over the elipse slider thumb - avoid resize of grid behind elipse when text is changing C# WPF

我想在橢圓滑塊拇指頂部使用滑塊的實際值來實現文本塊。 當 textblock 與 elipse 具有相同的寬度時,一切正常,但我需要增加 textblock 的寬度。 在 textloblock 的寬度發生變化后,橢圓的網格寬度也發生了變化,滑塊看起來不再合適。 文本塊寬度 = 橢圓寬度文本 ...

THUMB 或 ARM 模式下的動態匯編

[英]Dynamic assembly in THUMB or ARM mode

據我所知,在 GNU 中,可以使用統一語法,有時會獲得 ARM 代碼以自動編譯為 Thumb 代碼。 在某些情況下,這可以在代碼密度方面產生令人印象深刻的收益,但在許多情況下,它只是不起作用,因為在 Thumb 模式下無法執行某些 ARM 指令。 我想要的是 GNU AS 在嘗試以 Thumb 模式 ...

CMPS 是有效的 ARM/THUMB 指令嗎?

[英]Is CMPS a valid ARM/THUMB instruction?

我知道CMP指令會更新條件標志。 在我大學的一些材料中,我看到了CMPS說明。 這對我來說似乎毫無意義,因為無論如何都設置了條件標志(我猜他們試圖混淆我們......)。 我想知道CMPS是否是一條有效指令,即標准 ARM 匯編程序是否接受它? 我在網上找不到有關此類說明的任何信息。 這里沒有提 ...

錯誤:Thumb 不支持條件執行

[英]Error: Thumb does not support conditional execution

我正在使用 Thumb 為 Cortex-M7 編寫程序集。 我正在使用 arm-gcc ,它會引發兩個錯誤。 錯誤:Thumb 不支持條件執行錯誤:IT 塊中不允許的指令 -- `pop {r0}' 我沒有看到這里出了什么問題,如果有人可以幫助我,我將不勝感激。 ...


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