cortex-m3

    2熱度

    2回答

    我有以下的C函數 int main_compare (int nbytes, char *pmem1, char *pmem2){ for(nbytes--; nbytes>=0; nbytes--) { if(*(pmem1+nbytes) - *(pmem2+nbytes) != 0) { return 0; } } ret

    5熱度

    3回答

    我很好奇 - 在定義常量時,ARM程序集中的.equ和.word指令有什麼區別?

    1熱度

    1回答

    我在爲ST微電子STM32F103編寫的應用程序的問題(ARM的Cortex-M3 R1P1)。 RTOS是uC/OS-III;開發環境是IAR EWARM v。6.44;它也使用ST標準外設庫v.1.0.1。 該應用程序是不是新的;它至少在發展和現場至少一年。它使用兩個UART,I2C和一個或兩個定時器。最近我決定審查中斷優先級分配,並且我重新安排了優先級作爲審查的一部分(事情似乎工作得很好)。

    1熱度

    2回答

    我爲我的ARM Cortex-M3操作系統使用了exokernel模型。當一個任務想從UART讀取時,它會調用一個庫函數,如果沒有數據,它會進行SVC調用來阻塞任務(這會導致內核將該任務置於該IRQ的等待隊列中,並啓用IRQ )。當中斷髮生時,等待它的所有任務都被移動到可運行隊列,並且中斷再次被禁止。 當我有一個固定的任務數組時,這個模型工作正常,但現在我已經移動到鏈表以允許更多類型的等待隊列(例

    0熱度

    1回答

    我想用IAP(在應用程序編程中)將一個函數的代碼從內存空間中的一個點複製到另一個(我知道這沒有任何用處,但這對於一個我正在研究的項目)。 代碼的複製似乎可以順利進行,但是當我調用複製的函數時,它總是會導致硬錯誤。我正在複製的函數沒有任何其他函數或數據的引用(這是一個簡單的返回函數),所以不存在相對地址錯誤的問題。 我已經給出了我的代碼以及我得到的輸出。 #include "mbed.h" #in

    2熱度

    1回答

    我目前正在使用Cortex-M3微控制器上的彙編程序進行一些操作。我不確定這是否重要,但在這裏你去。 我需要寫入一個值到內存中的某個地址。這裏是我的嘗試: LDR R4, =__cs3_interrupt_vector_cortex_m STR R4, [=VTOR] 但好像我需要相對於PC寄存器VTOR地址引用。問題是如果有一種方法不引用相對地址,並讓它自動執行(以便它基本上看起來像我

    4熱度

    1回答

    有沒有人已經在cortexM3節點上實現了zeroMQ作爲可靠的消息解決方案?我試圖瞭解是否有可能並且有一個內存佔用這個想法。也許我會有freeRTOS操作系統。 感謝您的意見和建議。 Nicola

    0熱度

    1回答

    我已經研究了dsPIC33系列的FFT運算,實現了INT16原產小數型Q15和Q31 INT32。 我現在在恩智浦Cortex-M3的使用的數學學習,我已經調查有關數據類型的文件,但沒有找到參考(包括CMSIS)來定義什麼是int32_t實際上是。 我的問題:這是一個int32_t(原生)分數類型(?Q31),如果不是它們是什麼。 是否有被使用,詳細的CMSIS或NXP定義的數據類型(簡單)演講資

    1熱度

    2回答

    背景: 我正在使用沒有OS的cortex-M3 ARM內核。 我的主循環等待來自中斷處理程序的標誌,然後執行函數doBigTask()。在一個單獨的中斷處理程序中,我想執行另一個函數doSmallTask(),但由於此函數也非常重要,我仍然希望處理其他I/O相關的中斷。 我的問題: 是否有任何問題簡單地從doSmallTask()內允許中斷?例如,在中斷已被禁止之後退出中斷處理程序是否有任何複雜性

    1熱度

    2回答

    我讀到Cortex-M3中只有拇指指針,無論何時寫入PC,我們都必須確保目標地址LSB爲1以確保處理器保持在拇指模式下。另外,當我們使用'BX reg'時,reg值必須有LSB = 1來啓用拇指模式。 我們在cortex-m3中使用'B標籤'的情況如何?由於16位/ 32位指令與偶數地址對齊,因此此「標籤」將具有LSB = 0的值。 'B標籤'不等於'PC:=標籤'嗎? 'B標籤'和'BL標籤'特