1
1

00:00:02,420  -->  00:00:08,460
你好，歡迎回來，讓我們總結一下
2

2

00:00:05,670  -->  00:00:10,020
我們達到目標時所展示的內容
3

3

00:00:08,460  -->  00:00:12,510
中斷處理程序
4

4

00:00:10,020  -->  00:00:16,350
我們保存了奧蘭治人和
5

5

00:00:12,510  -->  00:00:18,480
然後啟動了綻放功能
6

6

00:00:16,350  -->  00:00:20,699
唯一的問題是我們是在非常
7

7

00:00:18,480  -->  00:00:23,160
凌亂的時尚，我們剛剛玩過的把戲
8

8

00:00:20,699  -->  00:00:25,980
違反了
9

9

00:00:23,160  -->  00:00:28,380
處理器，我們很幸運
10

10

00:00:25,980  -->  00:00:31,259
運行這個非常簡單的blinky程序
11

11

00:00:28,380  -->  00:00:34,200
如果我們有一些更複雜的代碼，我們
12

12

00:00:31,259  -->  00:00:36,510
可能會導致系統崩潰，因為
13

13

00:00:34,200  -->  00:00:38,640
不允許處理器返回到
14

14

00:00:36,510  -->  00:00:41,190
恰好在之前
15

15

00:00:38,640  -->  00:00:43,890
在示例中發生中斷僅1
16

16

00:00:41,190  -->  00:00:46,890
當我們在
17

17

00:00:43,890  -->  00:00:50,550
堆棧框架，我們將回到手臂
18

18

00:00:46,890  -->  00:00:52,110
橙色的主要功能，但是之前
19

19

00:00:50,550  -->  00:00:54,660
發生中斷
20

20

00:00:52,110  -->  00:00:57,300
我們保存了藍色主體的寄存器
21

21

00:00:54,660  -->  00:00:59,430
功能在堆棧框架上
22

22

00:00:57,300  -->  00:01:03,450
我們不會回到過去
23

23

00:00:59,430  -->  00:01:05,189
在中斷發生之前
24

24

00:01:03,450  -->  00:01:07,979
解決這個問題，我們需要一套
25

25

00:01:05,189  -->  00:01:10,619
註冊橙色主線和另一個
26

26

00:01:07,979  -->  00:01:13,320
藍色主寄存器組，以便
27

27

00:01:10,619  -->  00:01:15,030
我們可以保存實際安排寄存器
28

28

00:01:13,320  -->  00:01:18,149
到我們分配的寄存器中
29

29

00:01:15,030  -->  00:01:20,670
用於橙色主線並恢復橙色主線
30

30

00:01:18,149  -->  00:01:23,069
來自這些相同寄存器的寄存器
31

31

00:01:20,670  -->  00:01:25,679
我們必須做同樣的綻放
32

32

00:01:23,069  -->  00:01:27,869
橙色主寄存器是指
33

33

00:01:25,679  -->  00:01:30,659
實際皮質的含量和
34

34

00:01:27,869  -->  00:01:33,030
當橙色主功能為
35

35

00:01:30,659  -->  00:01:35,700
運行此稱為上下文
36

36

00:01:33,030  -->  00:01:37,799
橙色主要我也應該注意
37

37

00:01:35,700  -->  00:01:39,899
實時系統的語言
38

38

00:01:37,799  -->  00:01:43,289
Orangemen和blue main被稱為
39

39

00:01:39,899  -->  00:01:45,450
因此，通過保存上下文
40

40

00:01:43,289  -->  00:01:48,090
橙色主線進入橙色主線
41

41

00:01:45,450  -->  00:01:50,880
註冊並通過還原橙色
42

42

00:01:48,090  -->  00:01:51,810
每當我們想要繼續時的主線程
43

43

00:01:50,880  -->  00:01:53,909
執行中
44

44

00:01:51,810  -->  00:01:56,039
橙人我們不違反
45

45

00:01:53,909  -->  00:01:58,350
處理器的操作方法和
46

46

00:01:56,039  -->  00:02:00,990
我們也保證不會有
47

47

00:01:58,350  -->  00:02:03,600
混合寄存器以創建一組
48

48

00:02:00,990  -->  00:02:06,630
為每個線程註冊，我們可以簡單地
49

49

00:02:03,600  -->  00:02:08,520
為每個線程聲明一個堆棧，並作為
50

50

00:02:06,630  -->  00:02:10,950
您可能知道堆棧真的沒什麼
51

51

00:02:08,520  -->  00:02:13,260
超過ROM中的一個區域和一個
52

52

00:02:10,950  -->  00:02:16,000
指向那個頂部的指針
53

53

00:02:13,260  -->  00:02:18,430
地區，我也應該
54

54

00:02:16,000  -->  00:02:21,670
請注意，寄存器是存儲空間
55

55

00:02:18,430  -->  00:02:23,860
單元我們真正想要的是內容
56

56

00:02:21,670  -->  00:02:26,830
因此，通過存儲
57

57

00:02:23,860  -->  00:02:29,920
特定寄存器r0的內容
58

58

00:02:26,830  -->  00:02:32,830
在ROM中的位置我們可以簡單地說
59

59

00:02:29,920  -->  00:02:34,690
已將r0存儲在ROM中以創建
60

60

00:02:32,830  -->  00:02:37,060
堆棧只是一個內存區域
61

61

00:02:34,690  -->  00:02:40,270
持有我們的寄存器，我們可以簡單地聲明
62

62

00:02:37,060  -->  00:02:44,140
一排排的人進入32，因為
63

63

00:02:40,270  -->  00:02:46,420
cortex-m寄存器的大小為32位，因此
64

64

00:02:44,140  -->  00:02:49,810
我就這樣在這裡聲明
65

65

00:02:46,420  -->  00:02:52,180
然後我要再拿一堆
66

66

00:02:49,810  -->  00:02:54,010
藍色主體的寄存器，所以我們
67

67

00:02:52,180  -->  00:02:56,920
還必須初始化堆棧
68

68

00:02:54,010  -->  00:02:59,260
指向堆棧正上方的指針
69

69

00:02:56,920  -->  00:03:01,750
所以我們創建一個堆棧指針
70

70

00:02:59,260  -->  00:03:04,450
將會是相同的數據類型或
71

71

00:03:01,750  -->  00:03:07,330
您在32中的堆棧內容
72

72

00:03:04,450  -->  00:03:10,000
所以我有一個這樣的堆棧指針
73

73

00:03:07,330  -->  00:03:14,860
我會為藍色做同樣的事情
74

74

00:03:10,000  -->  00:03:18,510
堆棧，讓我們清理主
75

75

00:03:14,860  -->  00:03:22,989
有點功能，我們不需要所有這些
76

76

00:03:18,510  -->  00:03:26,260
是的，我們將要控制
77

77

00:03:22,989  -->  00:03:28,180
LED穿過它們的堆棧，是的
78

78

00:03:26,260  -->  00:03:31,870
我會清楚地離開一個循環
79

79

00:03:28,180  -->  00:03:34,600
在這裡像這樣的權利，我們
80

80

00:03:31,870  -->  00:03:36,820
要做的是初始化我們的新
81

81

00:03:34,600  -->  00:03:40,269
創建的堆棧使其看起來像
82

82

00:03:36,820  -->  00:03:43,840
我們的皮質m的堆棧框架
83

83

00:03:40,269  -->  00:03:45,160
早先見過，所以要像你那樣做
84

84

00:03:43,840  -->  00:03:47,230
記住堆棧框有
85

85

00:03:45,160  -->  00:03:51,010
堆棧框架的圖像
86

86

00:03:47,230  -->  00:03:53,220
XPS的前半部分是我們的寄存器，因此我們
87

87

00:03:51,010  -->  00:03:56,560
必須初始化XPS我們的寄存器
88

88

00:03:53,220  -->  00:04:00,730
我就把XPS放出來
89

89

00:03:56,560  -->  00:04:03,670
在這裡我們需要將位設置為24
90

90

00:04:00,730  -->  00:04:05,350
XPS我們的寄存器為1，這是為了
91

91

00:04:03,670  -->  00:04:08,170
告訴處理器我們正在運行
92

92

00:04:05,350  -->  00:04:10,360
當然在拇指模式下，皮質-m
93

93

00:04:08,170  -->  00:04:14,890
可以僅以拇指模式運行
94

94

00:04:10,360  -->  00:04:18,310
仍然明確要求
95

95

00:04:14,890  -->  00:04:21,250
文檔說要設置第24位
96

96

00:04:18,310  -->  00:04:23,860
XPS r21只是告訴過程
97

97

00:04:21,250  -->  00:04:26,800
接下來我們以拇指模式運行
98

98

00:04:23,860  -->  00:04:28,470
在堆棧上的是PC程序
99

99

00:04:26,800  -->  00:04:30,990
櫃檯登記冊及
100

100

00:04:28,470  -->  00:04:32,730
櫃檯註冊，如你所知
101

101

00:04:30,990  -->  00:04:35,580
包含下一個的地址
102

102

00:04:32,730  -->  00:04:38,460
這樣要執行的指令
103

103

00:04:35,580  -->  00:04:41,490
情況下，我們要提供的地址
104

104

00:04:38,460  -->  00:04:43,500
該功能到PC，以便每當
105

105

00:04:41,490  -->  00:04:46,010
我們創建一個堆棧框架將返回
106

106

00:04:43,500  -->  00:04:48,360
這個特殊的功能橙色的主要
107

107

00:04:46,010  -->  00:04:50,880
功能，因為這是堆棧框架
108

108

00:04:48,360  -->  00:04:52,740
對於橙色主電源，因此PC始終
109

109

00:04:50,880  -->  00:04:55,170
帶我們去橙色的主要功能
110

110

00:04:52,740  -->  00:04:57,900
我們將為
111

111

00:04:55,170  -->  00:05:00,720
藍色主體也是如此，之後
112

112

00:04:57,900  -->  00:05:04,860
可以看到堆棧中的下一個項目
113

113

00:05:00,720  -->  00:05:06,780
他是UM，是鏈接寄存器，所以
114

114

00:05:04,860  -->  00:05:09,510
我們可以將鏈接寄存器初始化為
115

115

00:05:06,780  -->  00:05:11,820
好，除了前兩個
116

116

00:05:09,510  -->  00:05:14,460
寄存器，其他寄存器可以是
117

117

00:05:11,820  -->  00:05:17,130
用隨機值初始化
118

118

00:05:14,460  -->  00:05:19,890
我們將能夠識別這些
119

119

00:05:17,130  -->  00:05:22,470
內存中的其他寄存器
120

120

00:05:19,890  -->  00:05:24,240
您用於調試目的，所以我
121

121

00:05:22,470  -->  00:05:26,700
我要做的是初始化
122

122

00:05:24,240  -->  00:05:30,090
其他人隨便你註冊
123

123

00:05:26,700  -->  00:05:32,880
基本上知道隨機值，所以我只是
124

124

00:05:30,090  -->  00:05:36,870
要拼寫死這個詞，以便
125

125

00:05:32,880  -->  00:05:38,820
當我們看到死亡在
126

126

00:05:36,870  -->  00:05:41,460
內存視圖，我們知道哦，那是
127

127

00:05:38,820  -->  00:05:42,900
我們為之創建的堆棧框架
128

128

00:05:41,460  -->  00:05:44,640
奧蘭治人，然後當我們到達
129

129

00:05:42,900  -->  00:05:47,760
藍色的堆棧框表示我是
130

130

00:05:44,640  -->  00:05:49,169
要像那樣拼出牛肉
131

131

00:05:47,760  -->  00:05:50,100
當然沒有正確的拼寫
132

132

00:05:49,169  -->  00:05:53,630
死
133

133

00:05:50,100  -->  00:05:57,560
它的字母比要求的多
134

134

00:05:53,630  -->  00:06:01,590
但我知道你得到我想要做的
135

135

00:05:57,560  -->  00:06:03,600
所以我現在就轉移到這裡
136

136

00:06:01,590  -->  00:06:05,490
我們創建了堆棧框架，
137

137

00:06:03,600  -->  00:06:09,840
那就是我死了的意思
138

138

00:06:05,490  -->  00:06:12,930
初始化為由E ae ad進行
139

139

00:06:09,840  -->  00:06:15,000
我們將在印度看到印度
140

140

00:06:12,930  -->  00:06:18,090
記住你，然後我們知道哦
141

141

00:06:15,000  -->  00:06:21,419
是的，這是我們的老朋友
142

142

00:06:18,090  -->  00:06:23,940
橙色線的橙色的框架
143

143

00:06:21,419  -->  00:06:27,600
我們將做同樣的事情
144

144

00:06:23,940  -->  00:06:31,590
為我們開始的藍線做同樣的事情
145

145

00:06:27,600  -->  00:06:34,710
通過初始化XPS進行初始化
146

146

00:06:31,590  -->  00:06:36,600
r，然後我們將
147

147

00:06:34,710  -->  00:06:38,700
藍色主線程進入程序
148

148

00:06:36,600  -->  00:06:42,090
櫃檯登記所以我就繼續
149

149

00:06:38,700  -->  00:06:44,850
像這樣放在這裡
150

150

00:06:42,090  -->  00:06:48,389
是的，我們初始化X psi，然後
151

151

00:06:44,850  -->  00:06:50,400
正確初始化電腦，然後我們有
152

152

00:06:48,389  -->  00:06:53,700
其他註冊其他六個
153

153

00:06:50,400  -->  00:06:56,280
通過我們的鏈接註冊鏈接
154

154

00:06:53,700  -->  00:07:01,260
連載，我就拿過來
155

155

00:06:56,280  -->  00:07:04,680
這樣在這裡，然後你就走了
156

156

00:07:01,260  -->  00:07:07,950
現在我們有了藍色的堆疊框架
157

157

00:07:04,680  -->  00:07:11,370
我也會在這裡發表評論
158

158

00:07:07,950  -->  00:07:14,160
您的修訂，然後看到橘皮
159

159

00:07:11,370  -->  00:07:16,970
頭髮還好，所以這個抓住了我們
160

160

00:07:14,160  -->  00:07:16,970
堆疊框架
