thumb

    0熱度

    1回答

    我正在嘗試反彙編和修改一些用於arm的代碼。拆解顯示了指令寬度說明一些指令,例如: 80002be: f44f 5360 mov.w r3, #14336 ; 0x3800 80002c2: f2c4 0302 movt r3, #16386 ; 0x4002 80002c6: f44f 5260 mov.w r2, #14336 ; 0x3800 80002ca: f2c4 0202 mo

    1熱度

    1回答

    我正在使用Tizen Studio,並且我想編譯沒有使用Thumb的Mobile 3.0本機應用程序。但是,當我使用Debug配置構建應用程序時,我看到-mthumb標誌,我不知道如何刪除它。 Tizen工作室2.0

    0熱度

    1回答

    所以我正在學習程序集,我寫了一個程序來總結我在'data_type'中定義的值。 大氣壓我有手動設置變量「NUM」等於值的「DATA_TYPE」的數量,以確保環總結它們。 我想知道是否有更好的方法來做到這一點? 或者,如果有聲明變量「民」動態地承擔起「DATA_TYPE」值量的方法嗎? 在此先感謝! AREA Sum loop, CODE, READONLY ENTRY num EQU 5

    2熱度

    3回答

    我有一個隨機數發生器,它在恆定時間內運行。 原型此功能如下: uint8_t rand(); 我希望能夠做的就是創建一個隨機返回一個uint8_t使得輸出爲0,最大值之間的函數,其中最大的是最大數量要退回。這種功能的原型將是: uint8_t randi(uint8_t max); 有算法在線做這個和堆棧溢出。例如,https://stackoverflow.com/a/6852396/1

    0熱度

    1回答

    我試圖理解爲什麼一些Cortex-M0代碼在鏈接與未鏈接時行爲不同。在這兩種情況下,它都被加載到0x20000000。儘管我盡了最大努力通過將-fPIC傳遞給編譯器來生成位置無關的代碼,但bl指令在代碼通過鏈接器後似乎有所不同。我是否正確閱讀這些內容,是否僅僅是ARM Thumb中鏈接器工作的一部分,並且有沒有更好的方法來生成位置無關的函數調用? 鏈接: 20000000: 20000000:

    1熱度

    2回答

    我正在爲需要鏈接到現有THUMB代碼的嵌入式核心(ARM7TDMI)編寫THUMB代碼。我正在使用GNU ARM嵌入式工具鏈(link)。我無法讓鏈接器將現有的外部代碼視爲THUMB;它似乎總是認爲它是ARM。我鏈接到的現有代碼絕對是靜態的,不能更改/重新編譯(基本上,它是一個位於ROM芯片上的普通二進制文件)。 下面是一個例子程序,multiply.c,演示該問題: extern int ext

    0熱度

    1回答

    在ARM/Thumb架構中,單個CPU中有16個(r0-r15)寄存器。此外,Thumb-Instruction-Set只能使用前8個(r0-r7)寄存器和r13,r14和r15寄存器。但最後5個(r8-r12)寄存器仍然在cpu中。我們如何使用這些Hi(r8-r12)寄存器? 最近,我在設計ARM Cortex-M0 CPU的保護方案。在我的項目中,我想用r9和r10來存儲一些信息。因爲其他指令

    0熱度

    1回答

    如何爲UWP Windows 10中的ScrollBar定製樣式? 我找到了this SO code。 只用WPF工程... 但我不能使用UWP ControlTemplate觸發器...

    0熱度

    1回答

    我對ARM很新,希望能夠將寄存器中的值與已知的十六進制值進行比較。 ;stuff CMP r2, #0x41 CMP r2, #0x45 CMP r2, #0x49 etc... 顯然這得到相當繁瑣了一段時間後,我想一定有辦法在R2的值比較:目前我使用單獨的CMP指令,因此代碼看起來像這樣這樣做一次同時顯示多個十六進制值。 新手問題的答案,感謝您提前的幫助。

    0熱度

    1回答

    我正在用Keil uV5使用STMF4。我寫了一個固件更新程序,它通過一個RS232將新的固件補丁複製到RAM中,然後將其寫入位於0x08020000的ROM位置,該位置位於應用程序代碼末尾以上的位置。 儘管是在低地址測試過的代碼副本完美副本,但0x08020000上的修補程序不會運行,並且會立即發生硬故障。我已經設置了分散文件以包含更高的ROM地址和mem映射ini文件。所有40kb的應用程序完