新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM Cortex-M3 學習筆記(4-5)

        ARM Cortex-M3 學習筆記(4-5)

        作者: 時間:2016-11-20 來源:網絡 收藏
        最近在學ARMCortex-M3, 找了本號稱很經典的書“An Definitive Guide to The ARM Cortex-M3”在看。這個系列學習筆記其實就是在學習這本書的過程中做的讀書筆記。

        Barrier 指令

        DMB, DSB, ISB

        本文引用地址:http://www.104case.com/article/201611/318833.htm

        這三個指令的區別如下表所示。

        指令名

        功能描述

        DMB

        數據存儲器隔離。DMB指令保證: 僅當所有在它前面的存儲器訪問操作都執行完畢后,才提交(commit)在它后面的存儲器訪問操作。

        DSB

        數據同步隔離。比DMB嚴格: 僅當所有在它前面的存儲器訪問操作都執行完畢后,才執行在它后面的指令(亦即任何指令都要等待存儲器訪問操作——譯者注)

        ISB

        指令同步隔離。最嚴格:它會清洗流水線,以保證所有它前面的指令都執行完畢之后,才執行它后面的指令。

        其他一些有用的指令

        Cortex-M3中支持的指令很多。這里不可能全都介紹到。下面就再提幾個我認為比較有特色的指令來介紹。

        REV, REVH,REV16以及REVSH

        REV反轉32位整數中的字節序,REVH則以半字為單位反轉,且只反轉低半字。

        REVSH在REVH的基礎上,還把轉換后的半字做帶符號擴展。

        這幾條指令主要用于大端系統與小端系統相互通訊時的字節序轉換。

        RBIT指令

        RBIT是按位反轉的,相當于把32位整數的二進制表示法水平旋轉180度。其格式為:

        RBIT.W Rd, Rn

        看到按位反轉,我就想到了FFT計算的蝶形運算。那里是最需要這種指令的。

        TBB,TBH 指令

        可以用于C語言中的switch case 結構的匯編。具體的用法這里不詳細介紹了,需要用的還是看書吧。



        關鍵詞: ARMCortex-M

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 义乌市| 云阳县| 平泉县| 三亚市| 宜良县| 穆棱市| 金平| 江源县| 仙桃市| 攀枝花市| 淳安县| 济阳县| 资阳市| 奉节县| 淮阳县| 宜宾县| 通城县| 桂东县| 高唐县| 新余市| 昆山市| 德化县| 观塘区| 乃东县| 顺昌县| 且末县| 唐河县| 丹江口市| 同江市| 田阳县| 黄骅市| 封丘县| 治多县| 开鲁县| 台山市| 泸州市| 墨竹工卡县| 巴林右旗| 福建省| 会泽县| 镇康县|