cortex-m3

    0熱度

    3回答

    我的問題特定於手臂皮質M3微控制器。微控制器上的每個外設都是內存映射的,這些內存地址用於處理。 例如:GPIOA-> ODR = 0; 這將在地址0x4001080C處寫入0。 該地址在微控制器的特定設備文件中定義。 現在,皮質M3有處理器內核寄存器R0-R12(通用)。我想知道,這些寄存器是否也有像其他外設一樣的地址? 所以,如果我有指令:MOV R0,#10; 將R0翻譯成某個地址時組裝?核心

    1熱度

    2回答

    我正在爲stm32l152C-discovery板執行arm cortex-m3的C代碼,但是我發現main函數調用沒有被推入堆棧。我已經分析了這個源的asm代碼,但是我發現它是可以的。爲了更好的理解,請看這裏的C代碼生成的彙編代碼: main.elf: file format elf32-littlearm *SYMBOL TABLE: 00000010 l d .text 000000

    1熱度

    1回答

    Cortex M3處理器有兩個堆棧指針:PSP,MSP。 在一些複雜的應用程序中,用戶程序使用PSP指向用戶程序堆棧。異常處理程序使用指向主堆棧的MSP。 問題是: 用戶程序運行時發生中斷。在進入中斷處理程序之前,R0-R3,R12,LR,PC和xPSR寄存器將被壓入堆棧。但是,哪個堆棧用於存儲這些寄存器?

    0熱度

    1回答

    我正在使用包含Cortex-M3的恩智浦LPC1769。到目前爲止,我只能從JTAG接口訪問它,但現在我必須以相反的方式進行操作。 IT例程應該讀取內存的某些部分,並立即將它們發送到JTAG端口。有沒有辦法做到這一點? *更新:經過數小時的研究,我發現了一些可能有所幫助的東西:Cortex-M3支持ITM(儀表跟蹤宏單元),它可以通過JTAG端口的TDO引腳發送數據。我現在的問題是,怎麼會這樣做呢

    0熱度

    1回答

    我目前正在製作一個使用串行通信將文件保存到ST32 Contact ARM Cortex-M3 Secure Microcontroller (ST32F384)的Visual Basic.NET應用程序,我對數據的方式有些困惑上傳到微控制器。我已經完成了有關向設備發送串行數據和從設備發送串行數據的研究,但卻無法找到關於如何實際將文件保存到閃存扇區的任何信息。任何幫助是極大的讚賞。謝謝!

    2熱度

    2回答

    我一直堅持一段時間如何設置一個回調時發生異常。 我有這樣的測試代碼: void main() { long * bad = (long*)0x0A000000; //Invalid address //When the following line gets executed //it causes an error and the debugger sends

    0熱度

    1回答

    在此之前,我嘗試IDE Keil和她的工作,但作爲IDE它是可怕的。 因此,我試圖使用CLion 2016.3爲Ubuntu 16.04上的STM32L100RCx目標構建嵌入式C++項目。但我不能解開如何正確設置。閱讀Jetbrain的博客並不能幫助我。編譯後有一些錯誤,它無法從* .ld文件中找到某個調用。 cmake的標誌: SET(CMAKE_C_FLAGS "-mcpu=cortex-m

    0熱度

    2回答

    現在我試圖瞭解STM32F103x的啓動順序。你已經知道這是基於cortex-m3的。 所以我試圖找到這種引導的概念,如STM32F103x .. 但我找不到文檔中的任何地方 我在哪裏可以找到引導序列爲STM32 ARM memory map? 因爲我想知道系統內存實際上工作的是什麼? 當前。我試圖瞭解皮層m3地址映射中的系統內存。大多數例子說,「有2個區域,如0x08000000閃存區和0x1F

    1熱度

    2回答

    我正試圖編寫一個函數,它將重置我的Cortex M3平臺上的GPIO0。我正在使用Keil編譯器。 目標是將「1」寫入地址0x40041014。我寫了一個代碼: static void resetGPIO0() { __asm { MOV R0, #0x01 MOV R1, #0x1000 MOVT R1, #0x4004 STR R0

    0熱度

    1回答

    我在cortex-m3的「HELLO」示例中遇到了Keil的uVision中的警告消息。 警告:函數 'ITM_SenderChar' 隱式聲明是無效的C99 當我實現ITM_SendChar( '\ r'); 我應該怎麼做才能解決這個問題? 下面 被代碼段 int fputc(int c, FILE *f) { if (c == '\n') { ITM_SendChar('\