arm

    1熱度

    2回答

    '使用故障異常'我參加了FreeRtos和Cortex M的講座,其中講師建議如果不從ISR使用ISR安全版API,則可能導致Cortex M處理器中的使用故障異常 。這可能會發生,因爲這可能涉及從中斷上下文(中斷處理程序)到任務上下文(線程處理程序) 我的問題是爲什麼這個任務切換將被視爲非法,並且這種切換的影響是什麼?

    0熱度

    1回答

    嗨,我想知道這裏有沒有人能指點我解決這個問題的方向。 編寫並運行ARM VFP組裝程序來計算球體的體積:4(pi * r^3)/ 3如果r = 25.5。 你TI的Launchpad支持浮點運算,但它是在重置(所以你必須打開它!) 這是從我的教科書ARM彙編語言問題編程&架構 到目前爲止關掉我已經寫了這個代碼,以解決方程,並想知道如何我可以去輸出這個值,並確保我已經啓用了浮點。 ; have to

    0熱度

    1回答

    我發現這個微距功能,可以讓我在C.創建二進制文字 微距功能: #define HEX__(n) 0x##n##LU #define B8__(x) ((x&0x0000000FLU)?1:0) \ +((x&0x000000F0LU)?2:0) \ +((x&0x00000F00LU)?4:0) \ +((x&0x0000F000LU)?8:0) \ +((x&0x000F0000LU)

    2熱度

    1回答

    到目前爲止,我已經在我的ubuntu系統上安裝了所有的交叉編譯軟件包,但遇到問題並且需要一些幫助。 Linux 2.6.28.7 #1 CST 2012 armv5tejl unknown $ cat /proc/cpuinfo Processor : ARM926EJ-S rev 5 (v5l) BogoMIPS : 199.47 Features : swp half fast

    0熱度

    1回答

    我試圖從一個C調用匯編函數的書中實現一個例子。但是我不斷收到一個致命錯誤,其中PC = fffffffe,因此在RAM之外執行代碼或ROM。 這裏是我的C文件,TC: int g; // uninitialized global int main() { int a, b, c, d, e, f; // local variables a = b = c = d = e

    0熱度

    1回答

    我有三個文件 的main.c myStruct.h myStruct.c 聲明我看了一些帖子在哪裏定義一個結構和封裝,我想在頭文件中聲明我的結構並在源文件中定義它。 這就是我測試過的。 myStruct.h // myStruct.h #include "stdint.h" typedef struct myStruct myStruct_type; myStruct.c // mySt

    1熱度

    3回答

    我試了一個多星期沒有成功。 我在兩個處理器之間創建一個記錄器接口,我需要幫助定義自動化的MACROS。 我的意思是? 假設我有一個記錄器消息定義爲LOGGER_MSG_ID_2,它採用uint8和uint16類型的兩個參數。 我有一個枚舉定義爲: typedef enum{ PARAM_NONE, PARAM_SIZE_UINT8, PARAM_SIZE_UINT16

    0熱度

    1回答

    我學習ARM彙編,當我到了部分解釋瞭如何從文件中讀取/寫入我不明白它是如何分支,代碼是這樣的: @ fopen input argv[1] PUSH {R1} LDR R0, [R1,#0x04] LDR R1, =r BL fopen LDR R1, =fin STR R0, [R1] 這BL fopen它在哪裏分支?到的fopen,唯一提及的是: 。全球.fopen 在以後的程

    1熱度

    1回答

    我正在努力解決以下問題。 我正在構建mbed_os,這是嵌入式MCU的操作系統。在編譯期間可以選擇編譯一堆* .o文件,或者將它鏈接到* .a庫,然後將它與我自己的代碼一起使用。 如果我構建mbed_os並單獨在我的makefile中列出所有* .o文件,它會很好地工作,並且最終的二進制文件運行良好。但是,當我在編譯期間創建* .a庫,然後將其列在我的生成文件中時,最終二進制文件不會在MCU上運行

    1熱度

    2回答

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