最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

(基于ARM的)微機原理與接口技術(shù)筆記(3)

2021-09-26 22:01 作者:會整活的劍人  | 我要投稿

咕了幾天,不好意思.先說個題外話,專欄不能插入markdown有億些難受.樹莓派pico可以整活,國慶節(jié)考慮整個好活.

下面言歸正傳.先從一些計算機的存儲系統(tǒng)說起.

某個A/D手冊輸出24位

這樣的問題需要使用位運算去解決.假設(shè)輸入A/D的數(shù)據(jù)存到變量a里面了,先檢查符號位,然后去取原碼,最后輸出.

  • 一個數(shù)用什么類型表示是個嚴肅的問題,它影響了計算機如何存儲,數(shù)據(jù)范圍,精度.

  • 注意字符串求長strlen求的東西是什么.如果是寬字符wchar_t型的,求長wcslen

  • 一組固定大小的bit稱為字(WORD)

    在《微機》中先默認一個字WORD字長32位

    但是Windows.h中有下面的定義typedef unsigned short WORD;即1個字16位)

  • 大小端

    • Big-Endian 高字節(jié)放低地址,低字節(jié)放高地址

    • Little-Endian 低字節(jié)放低地址,高字節(jié)放高地址

  • 查看內(nèi)存:

    • 首地址是0x20002000地址從上到下增長.一個地址里面是一個byte

    • 如果在0x20002008取個東西.設(shè)想是下面C語言定義

    • 先看地址,再看地址增長方向,然后看一個格子多大.

    • 地址,可以靈活的折騰它.字節(jié)是什么樣的先不變

    • 拿下面的內(nèi)存片段舉例:


內(nèi)存片段


vs2019查看二進制文件,不是所有的二進制文件都能正常打開.

ARM概述

1.ARM及其應(yīng)用

  • 處理器架構(gòu)包括指令集,寄存器,處理器時序.

  • ARM (Advanced RISC Machines)公司成立于1990.11 ARM不生產(chǎn)處理器只生產(chǎn)IP,授權(quán)給生產(chǎn)商.

  • 還開發(fā)軟件工具,調(diào)試器,總線結(jié)構(gòu),外設(shè)等.

  • 900片ARM/秒 700萬片ARM/天

2.處理器體系

  • 《微機》用的ARM7/ARM7TDMI STR710F

  • STM32: ARM Cortex M3/M4

  • 樹莓派4B: ARM Cortex A72

  • A系列追求高性能可以運行操作系統(tǒng)(android,linux等),R系列追求實時和性能,M系列低功耗用于單片機

  • 智能手機有>=10片ARM

ARM天梯圖
轉(zhuǎn)載某個公眾號

同樣是32位單片機,ST R710F的核是個比較老的ARM7TDMI. STM32和樹莓派pico是相對比較新的Cortex-M核.樹莓派4B則是4個64位Cortex-A72核.

3.ARM的工作狀態(tài)

  • 32位架構(gòu)

  • byte(字節(jié))?8bit

  • halfword(半字) 16bit

  • word(字) 32bit

  • ARM狀態(tài) 32位ARM指令集 處理32位

  • Thumb狀態(tài) 16位Thumb指令集(是ARM指令集的子集)

  • ARM狀態(tài)和Thumb狀態(tài)可以互相切換 區(qū)別是指令長度不一樣

  • 7個基本工作模式

    • User:非特權(quán)模式(其它的稱為特權(quán)模式)

    • FIQ:快中斷模式

    • IRQ:中斷模式

    • Supervisior:管理模式 操作系統(tǒng)調(diào)用 復(fù)位/軟中斷 上電復(fù)位

    • Abort:存取異常

    • Undef:未定義指令異常

    • System:系統(tǒng)模式

4.ARM的寄存器

31個通用寄存器 6個狀態(tài)寄存器

實際用的是16+2

r0到r7是共用的

r8-r12除了快中斷以外通用,快中斷有專用的r8-r12目的是加速快速響應(yīng)

r13,r14有6組

r13 棧指針(stack pointer)表示當前執(zhí)行

r14 鏈接寄存器 保存返回的地址

r15 程序計數(shù)器 正在"取指"的指令 要考慮三級流水線的問題

cpsr 當前程序狀態(tài)寄存器

spsr 程序狀態(tài)保存寄存器(異常狀態(tài)時用于恢復(fù))

ARM7TDMI的寄存器表


  • 程序狀態(tài)寄存器(cpsr)

    • 31位到28位 條件位

    • 7位中斷禁止位

    • 6位快中斷禁止位

  • 程序計數(shù)器(pc)

    • 16位指令 按半字對齊

    • pc值bit[31:1]決定

    • bit[0]未定義

    • 32位指令 按字對齊

    • pc值bit[31:2]決定

    • bit[1:0]未定義

    • ARM狀態(tài)

    • Thumb狀態(tài)

  • 異常處理

    • 改變arm狀態(tài)

    • 改變異常模式

    • 屏蔽中斷

    • copy cpsr到spsr

    • 設(shè)置cpsr相應(yīng)位

    • 存儲返回地址

    • 修改pc指向終端入口

  • 異常后返回

    • 從spsr恢復(fù)cpsr

    • 恢復(fù)pc值


(基于ARM的)微機原理與接口技術(shù)筆記(3)的評論 (共 條)

分享到微博請遵守國家法律
封丘县| 辉县市| 丰原市| 玛纳斯县| 许昌市| 扎囊县| 江山市| 宣汉县| 赤城县| 仁寿县| 周至县| 商都县| 秦皇岛市| 澄城县| 岫岩| 九龙县| 南涧| 中江县| 留坝县| 时尚| 万州区| 墨竹工卡县| 肥西县| 遵化市| 蒲江县| 灌阳县| 武汉市| 嘉善县| 旬阳县| 永德县| 贵州省| 始兴县| 东至县| 洛隆县| 清涧县| 海口市| 常山县| 苏尼特右旗| 靖西县| 伊春市| 武汉市|