cost 277 ms
在 an505 M33 Qemu 上測量循環計數

[英]Measuring Cycle Count on an505 M33 Qemu

我正在嘗試使用 QEMU 模擬 Arm 皮質 M33,使用 an505 model。我使用這個git 存儲庫作為起點。 我已經成功地構建了這個項目,甚至設法對其進行了調試,但是現在我想測量消耗的 cpu 周期——沒有任何運氣。 首先,我嘗試像這樣訪問 DWT 寄存器: 但是 ARM_CM_DWT_C ...

Rust 與 FreeRTOS 的互操作導致 INVSTATE HardFault

[英]Rust interop with FreeRTOS causes INVSTATE HardFault

我正在使用 STM32CubeMX 生成的代碼開發一個 STM32F4 項目。 為了向我的項目添加一些 Rust,我將 Makefile 移植到 CMake,然后使用 Corrosion 構建和鏈接 Rust 項目作為 static 庫。 在我嘗試將 FreeRTOS 添加到項目之前,這一直運行良 ...

計算運行期間的 MCU 加載(或空閑)時間

[英]Calculate MCU load (or free) time during operation

我有一個 Cortex M0+ 芯片(STM32 品牌),我想計算加載(或空閑)時間。 M0+ 沒有 DWT->SYSCNT 寄存器,因此不能使用它。 這是我的想法: 使用我擁有的調度程序,我獲取一個計數器並在我的空閑循環中將其遞增 1。 我有在 50us 計時器上運行的作業,所以我可以每 ...

使用 linker 腳本重定位中斷向量表

[英]Relocating interrupt vector table using linker script

我正在嘗試將中斷向量移動到 DTCMRAM。 測試代碼是通過定時器中斷簡單閃爍的 LED。 在那里我改變了 .isr_vector 的加載地址: 之后,我在啟動時的主調用之前添加了數據復制器(根據.data copier 生成): 現在我想告訴 MCU,根據此處使用 SCR->VTOR 可以使 ...

從不同於 0x0000 的地址 memory 開始程序

[英]Starting program from address memory different to 0x0000

我有一個簡單的程序,程序通常位於 memory 0x0000,數據位於 0x20100000,如下所示。 當我運行模擬器並按下“重置”按鈕時,代碼幾乎位於開頭並且運行良好。 但是,我需要程序從 memory 地址 0xF0000 開始並執行程序(因為我有重要數據必須存儲在地址 0x0 和程序位置 ...

在從引導加載程序跳轉到應用程序之前設置堆棧指針

[英]setting stack pointer before jumping to app from bootloader

我正在為 Nucleo-F429ZI 編寫引導加載程序。 我有兩個不同的 STM32 項目,一個用於引導加載程序本身,另一個用於從引導加載程序跳轉的應用程序。 引導加載程序的鏈接描述文件 應用程序的鏈接器腳本 我沒有忘記設置應用程序的閃光偏移。 system_stm32f4xx.c(應用工程中) ...

為什么不能在位域中計算常量地址?

[英]Why can't a constant address be computed in a bitfield?

我正在嘗試在 Silabs EFR32BG22 上實現一個常量鏈接的 DMA 描述符列表(在 ROM 中),其中最后一個描述符鏈接到位於 RAM 中的另一個描述符。 我正在使用 arm-none-eabi-gcc 10.2 (Cortex M33)。 我想在常量初始值設定項中使用 .data 部分 ...

ARM 簡單延遲循環上的 Cortex-M7 匯編時序 - 如何解釋結果?

[英]ARM Cortex-M7 assembly timing on simple delay loop - how to explain results?

由於 AFAIK 周期時間未發布,我決定嘗試使用 STM32H750-DK 上的 DWT 計數器測量周期數; 作為第一個例子,我正在測量一個簡單的延遲循環。 似乎Cortex-M7在每個周期可以執行兩條指令。 如果將它們翻譯成 16 位指令,我會理解這一點。 但是如果我使用寄存器 R8 和更高版本 ...

ARMv7E-M VCVT.F32.U32編碼

[英]ARMv7E-M VCVT.F32.U32 encoding

我正在編寫一個ARMv7E-M Thumb2二進制分析工具,並手動解碼指令stream。 使用-mcpu=cortex-m4和-mfloat-abi=hard標志調用的 arm-gcc 在編譯我的 C 代碼時發出以下指令: 40280: eeb8 7a47 vcvt.f32.u32 s14, s14 ...

在匯編中延遲循環打印整數

[英]Delay Loop Printing Integers in Assembly

我想為 ARM Cortex M4 架構制作一個快速的程序集,該架構每 2 秒打印一個連續的 integer。 所以每 2 秒,它會走 1、2 等等。 由於這個架構是 32MHz,我知道 2 秒會有 64,000,000 個周期。 我想使用延遲循環,盡管知道它不是很有效。 我有一個 C 文件,它將打 ...

TensorFlow Lite 用於 ARM - Cortex M

[英]TensorFlow Lite for ARM - Cortex M

我想問一下是否有 TensorFlow Lite 應該在移動、嵌入式和邊緣設備上運行 ML 模型,這些設備可用於具有以下內核的微控制器:ARM Cortex M7、Z47F45E65244C17F45E65244C17EC9FA8771AE5ZM36D 如果沒有,即使對於在 GHz 范圍內快速時鍾 ...

Cortex-M 3 4 7 的 CMSIS 中是否有類似 ATOMIC_INC 的東西?

[英]Is there something like ATOMIC_INC in CMSIS for Cortex-M 3 4 7?

Cortex M 3 4 7 支持 LDREX 和 STREX 匯編器指令,並通過這些 CMSIS 提供例如 ATOMIC_MODIFY_REG 以確保對 (u)int32_t 進行原子修改(即清除一些位並設置一些(可能是其他)位)。 現在我認為也可以等效地使用 ATOMIC_INC 和 ATO ...

為什么變量不會在堆棧中分配為本地變量

[英]Why a variable would not be allocated as local in stack

我正在嘗試強制緩沖區溢出來更改變量的值。 這個想法是溢出var_a以更改以下代碼中的var_b ,該代碼在 ARM Cortex-M4 中運行Contiki-NG操作系統: 問題是溢出不會影響var_b ,但會影響data_buffer 。 我使用調試器檢查進程中局部變量的地址,得到以下結果: 看 ...

使用 qemu-system-arm.exe 模擬 ARM Cortex-M7

[英]Emulate ARM Cortex-M7 with qemu-system-arm.exe

我正在使用基於 Eclipse 的 CubeIDE 和 QEMU 調試插件。 我正在使用匯編程序,可以在 STM32 Cortex M7 板(STM32H750DK)上調試簡單項目(在寄存器中添加兩個數字)。 現在我想使用 QEMU 做同樣的事情並且遇到問題,因為我找不到合適的通用 Cortex ...

在 Cortex-M7 (stm32f7) 上分析 memcpy 性能

[英]Profiling memcpy performance on Cortex-M7 (stm32f7)

簡短版本:從 GNU ARM 工具鏈中提取的 memcpy 的性能指標在 ARM Cortex-M7 上對於不同的副本大小似乎差異很大,即使復制數據的代碼始終保持不變。 這可能是什么原因? 長版: 我是使用 GNU arm 工具鏈 11.2 開發 stm32f765 微控制器的團隊的一員,將 std ...

為 arm cortex M3 編譯 c++ 時對 _fini 和 __dso_handle 的未定義引用

[英]Undefined reference to _fini and __dso_handle when compiling c++ for arm cortex M3

我正在嘗試為 arm cortex-m3 編譯 c++ 代碼。 當我使用任何 class 的 static 變量時,它具有自定義析構函數(例如 std::function<>),我收到以下錯誤: 根據我的閱讀,問題是 c++ 在調用 exit() 后嘗試調用析構函數(我沒有手動調用)。 ...

Cortex M0 和 M3 平台之間的整數解釋方式有區別嗎?

[英]Is there a difference between how integers are interpreted between the Cortex M0 and M3 platforms?

我正在移動我的構建系統以使用 stm32F1(來自 stm32F0)的 CMSIS 文件,這是一個 cortex-m3 芯片,當我嘗試編譯 core_cm3.h 時遇到以下錯誤。 這是 function,它是核心 CMSIS 的一部分: 我很驚訝編譯時出現問題,因為這是一個核心文件,沒有進行任何更 ...

有什么方法可以了解原始二進制固件是否為 Cortex-M?

[英]Is there any way to understand if a raw binary firmware is Cortex-M or not?

我有一個固件列表,我應該只過濾 Cortex-M 類型。 是否有任何自動化方法可以將它們與其他 ARM 固件區分開來? 我有一些想法,例如中斷向量表 (ivt),或者尋找 Cortex-M 的其他特定功能,例如 Systick,但我不確定它們是否會起作用。 ...

如何檢測在安全與非安全 state 中運行的 Cortex-M33 芯片?

[英]How to detect Cortex-M33 chip running in secure vs non-secure state?

我有一個 ARM Cortex-M33 芯片,我正在做嵌入式開發,我希望能夠在運行時檢查 CPU 的當前 TrustZone 安全性 state:安全與非安全。 我發現 DSCSR(調試安全控制和狀態寄存器)的第 16 位 CDS(當前域安全)表示處理器的當前安全性 state,但文檔說該寄存器只 ...


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