![](/img/trans.png)
[英]Measuring Cycle Count on an505 M33 Qemu
我正在嘗試使用 QEMU 模擬 Arm 皮質 M33,使用 an505 model。我使用這個git 存儲庫作為起點。 我已經成功地構建了這個項目,甚至設法對其進行了調試,但是現在我想測量消耗的 cpu 周期——沒有任何運氣。 首先,我嘗試像這樣訪問 DWT 寄存器: 但是 ARM_CM_DWT_C ...
[英]Measuring Cycle Count on an505 M33 Qemu
我正在嘗試使用 QEMU 模擬 Arm 皮質 M33,使用 an505 model。我使用這個git 存儲庫作為起點。 我已經成功地構建了這個項目,甚至設法對其進行了調試,但是現在我想測量消耗的 cpu 周期——沒有任何運氣。 首先,我嘗試像這樣訪問 DWT 寄存器: 但是 ARM_CM_DWT_C ...
[英]Is the gpio remapping of stm32 related to armv7, Arm Cortex-M4 processor?
stm32中很多芯片的gpio remapping是沒有規則的。 我想在 armv7 或 Arm Cortex-M4 找到規則來適配不同芯片的 gpio 重映射。 ...
[英]Rust interop with FreeRTOS causes INVSTATE HardFault
我正在使用 STM32CubeMX 生成的代碼開發一個 STM32F4 項目。 為了向我的項目添加一些 Rust,我將 Makefile 移植到 CMake,然后使用 Corrosion 構建和鏈接 Rust 項目作為 static 庫。 在我嘗試將 FreeRTOS 添加到項目之前,這一直運行良 ...
[英]Calculate MCU load (or free) time during operation
我有一個 Cortex M0+ 芯片(STM32 品牌),我想計算加載(或空閑)時間。 M0+ 沒有 DWT->SYSCNT 寄存器,因此不能使用它。 這是我的想法: 使用我擁有的調度程序,我獲取一個計數器並在我的空閑循環中將其遞增 1。 我有在 50us 計時器上運行的作業,所以我可以每 ...
[英]Relocating interrupt vector table using linker script
我正在嘗試將中斷向量移動到 DTCMRAM。 測試代碼是通過定時器中斷簡單閃爍的 LED。 在那里我改變了 .isr_vector 的加載地址: 之后,我在啟動時的主調用之前添加了數據復制器(根據.data copier 生成): 現在我想告訴 MCU,根據此處使用 SCR->VTOR 可以使 ...
[英]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 assembly timing on simple delay loop - how to explain results?
由於 AFAIK 周期時間未發布,我決定嘗試使用 STM32H750-DK 上的 DWT 計數器測量周期數; 作為第一個例子,我正在測量一個簡單的延遲循環。 似乎Cortex-M7在每個周期可以執行兩條指令。 如果將它們翻譯成 16 位指令,我會理解這一點。 但是如果我使用寄存器 R8 和更高版本 ...
[英]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 for ARM - Cortex M
我想問一下是否有 TensorFlow Lite 應該在移動、嵌入式和邊緣設備上運行 ML 模型,這些設備可用於具有以下內核的微控制器:ARM Cortex M7、Z47F45E65244C17F45E65244C17EC9FA8771AE5ZM36D 如果沒有,即使對於在 GHz 范圍內快速時鍾 ...
[英]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 。 我使用調試器檢查進程中局部變量的地址,得到以下結果: 看 ...
[英]Emulate ARM Cortex-M7 with qemu-system-arm.exe
我正在使用基於 Eclipse 的 CubeIDE 和 QEMU 調試插件。 我正在使用匯編程序,可以在 STM32 Cortex M7 板(STM32H750DK)上調試簡單項目(在寄存器中添加兩個數字)。 現在我想使用 QEMU 做同樣的事情並且遇到問題,因為我找不到合適的通用 Cortex ...
[英]Profiling memcpy performance on Cortex-M7 (stm32f7)
簡短版本:從 GNU ARM 工具鏈中提取的 memcpy 的性能指標在 ARM Cortex-M7 上對於不同的副本大小似乎差異很大,即使復制數據的代碼始終保持不變。 這可能是什么原因? 長版: 我是使用 GNU arm 工具鏈 11.2 開發 stm32f765 微控制器的團隊的一員,將 std ...
[英]Undefined reference to _fini and __dso_handle when compiling c++ for arm cortex M3
我正在嘗試為 arm cortex-m3 編譯 c++ 代碼。 當我使用任何 class 的 static 變量時,它具有自定義析構函數(例如 std::function<>),我收到以下錯誤: 根據我的閱讀,問題是 c++ 在調用 exit() 后嘗試調用析構函數(我沒有手動調用)。 ...
[英]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 的一部分: 我很驚訝編譯時出現問題,因為這是一個核心文件,沒有進行任何更 ...
[英]Is there any way to understand if a raw binary firmware is Cortex-M or not?
我有一個固件列表,我應該只過濾 Cortex-M 類型。 是否有任何自動化方法可以將它們與其他 ARM 固件區分開來? 我有一些想法,例如中斷向量表 (ivt),或者尋找 Cortex-M 的其他特定功能,例如 Systick,但我不確定它們是否會起作用。 ...
[英]How to detect Cortex-M33 chip running in secure vs non-secure state?
我有一個 ARM Cortex-M33 芯片,我正在做嵌入式開發,我希望能夠在運行時檢查 CPU 的當前 TrustZone 安全性 state:安全與非安全。 我發現 DSCSR(調試安全控制和狀態寄存器)的第 16 位 CDS(當前域安全)表示處理器的當前安全性 state,但文檔說該寄存器只 ...