1
1

00:00:01,989  -->  00:00:06,860
所以讓我們在這裡保持狂野的一圈
2

2

00:00:05,359  -->  00:00:10,010
防止主要功能
3

3

00:00:06,860  -->  00:00:14,750
終結者，對，我要去
4

4

00:00:10,010  -->  00:00:19,910
重建我的項目，我要
5

5

00:00:14,750  -->  00:00:22,910
正確下載到我的Pod上，這樣我們就不會
6

6

00:00:19,910  -->  00:00:24,949
希望看到任何東西閃爍或剛剛
7

7

00:00:22,910  -->  00:00:30,439
讓我們通過單擊進入調試視圖
8

8

00:00:24,949  -->  00:00:33,949
好吧，這是開放的，你很熟悉
9

9

00:00:30,439  -->  00:00:36,019
現在可以使用調試視圖或調試器
10

10

00:00:33,949  -->  00:00:42,199
我要做的實際上是
11

11

00:00:36,019  -->  00:00:44,030
暫時運行代碼
12

12

00:00:42,199  -->  00:00:46,069
然後我要停止它，而我
13

13

00:00:44,030  -->  00:00:48,699
導航到的開始
14

14

00:00:46,069  -->  00:00:51,350
ROM記在cortex-m中
15

15

00:00:48,699  -->  00:00:55,519
ROM的結構從地址開始
16

16

00:00:51,350  -->  00:01:00,260
0 X 2 0 0 0 0 0所以我要去
17

17

00:00:55,519  -->  00:01:02,209
在此處更改，然後導航到
18

18

00:01:00,260  -->  00:01:04,430
ROM的最開始，然後按Enter
19

19

00:01:02,209  -->  00:01:08,240
現在我要做的就是
20

20

00:01:04,430  -->  00:01:11,060
驗證我們的堆棧是否已初始化
21

21

00:01:08,240  -->  00:01:13,430
記得我們已經創建了兩個堆棧
22

22

00:01:11,060  -->  00:01:15,289
為橙色均值，另一個為
23

23

00:01:13,430  -->  00:01:16,280
藍色的主要，所以我只想看看我
24

24

00:01:15,289  -->  00:01:20,390
可以看到
25

25

00:01:16,280  -->  00:01:23,380
感覺在記憶中或死在這裡
26

26

00:01:20,390  -->  00:01:28,189
在內存中，所以我只會尋找
27

27

00:01:23,380  -->  00:01:30,229
如您所見，這就是
28

28

00:01:28,189  -->  00:01:32,810
是那堆橙色的手臂
29

29

00:01:30,229  -->  00:01:36,049
您可以看到它主要從這裡開始
30

30

00:01:32,810  -->  00:01:38,240
然後像這樣去這裡，所以我們
31

31

00:01:36,049  -->  00:01:42,289
可以尋找藍色主體的堆棧
32

32

00:01:38,240  -->  00:01:46,549
就像牛肉，我認為還可以
33

33

00:01:42,289  -->  00:01:50,929
就像我們看到的bf
34

34

00:01:46,549  -->  00:01:53,899
初始化我的BEF所以是的
35

35

00:01:50,929  -->  00:01:57,109
這樣就完成了接下來我們要做的是
36

36

00:01:53,899  -->  00:01:58,969
是我們必須將堆棧指針添加到
37

37

00:01:57,109  -->  00:02:00,619
監視窗口以及我要去的東西
38

38

00:01:58,969  -->  00:02:04,189
我要做的就是雙擊
39

39

00:02:00,619  -->  00:02:06,469
在這裡右鍵單擊並轉到我們觀看
40

40

00:02:04,189  -->  00:02:12,709
一個，我將為
41

41

00:02:06,469  -->  00:02:14,660
藍色SP藍色右鍵單擊以觀看1
42

42

00:02:12,709  -->  00:02:17,800
我要去
43

43

00:02:14,660  -->  00:02:20,690
您將監視窗口與
44

44

00:02:17,800  -->  00:02:27,610
從另一個窗口locos窗口
45

45

00:02:20,690  -->  00:02:27,610
並看到將整個窗口放在這裡
46

46

00:02:28,090  -->  00:02:33,940
抱歉，我會解決這個問題
47

47

00:02:33,970  -->  00:02:40,070
所以這個
48

48

00:02:37,730  -->  00:02:43,760
奧蘭治人和是卡特彼勒
49

49

00:02:40,070  -->  00:02:47,270
藍色主記住的堆棧指針
50

50

00:02:43,760  -->  00:02:50,630
皮質微控制器總是指向
51

51

00:02:47,270  -->  00:02:53,980
到堆棧的頂部，所以當我們運行時
52

52

00:02:50,630  -->  00:02:56,450
我們之前說過的代碼，
53

53

00:02:53,980  -->  00:02:58,340
中斷服務程序或
54

54

00:02:56,450  -->  00:03:01,840
例外或幸福
55

55

00:02:58,340  -->  00:03:05,360
處理器將值存儲為八
56

56

00:03:01,840  -->  00:03:07,820
註冊到內存中
57

57

00:03:05,360  -->  00:03:10,640
這就是所謂的
58

58

00:03:07,820  -->  00:03:13,640
堆棧框，一旦我們退出
59

59

00:03:10,640  -->  00:03:15,980
中斷服務程序，然後這些
60

60

00:03:13,640  -->  00:03:18,830
相同的八個寄存器被裝回
61

61

00:03:15,980  -->  00:03:20,630
進入各自的寄存器和
62

62

00:03:18,830  -->  00:03:23,930
Kotex名稱的堆棧指針
63

63

00:03:20,630  -->  00:03:26,840
寄存器用於指向頂部
64

64

00:03:23,930  -->  00:03:29,660
堆棧，所以堆棧點就是點
65

65

00:03:26,840  -->  00:03:31,370
到堆棧框架的頂部，這樣
66

66

00:03:29,660  -->  00:03:34,520
我們要進行的實驗是什麼
67

67

00:03:31,370  -->  00:03:37,280
現在是製作實際的cortex-m堆棧
68

68

00:03:34,520  -->  00:03:38,810
指向我們新堆棧的指針以及什麼
69

69

00:03:37,280  -->  00:03:40,910
我們要做的是，我們要
70

70

00:03:38,810  -->  00:03:43,790
替換實際的cortex-m堆棧
71

71

00:03:40,910  -->  00:03:47,060
指針，這是我們要去的13
72

72

00:03:43,790  -->  00:03:50,120
將其值替換為
73

73

00:03:47,060  -->  00:03:52,640
我們的堆棧指針，因為我們的SP橙色
74

74

00:03:50,120  -->  00:03:55,670
堆棧指針指向
75

75

00:03:52,640  -->  00:03:59,180
橙色主螺紋和我們的SP藍星
76

76

00:03:55,670  -->  00:04:03,350
指針指向藍色主棧
77

77

00:03:59,180  -->  00:04:05,270
線程，這樣做我要運行
78

78

00:04:03,350  -->  00:04:08,120
該程序，我要去Cystic
79

79

00:04:05,270  -->  00:04:11,510
一旦棍子被擊中，我將採取
80

80

00:04:08,120  -->  00:04:14,930
堆棧中SP的值
81

81

00:04:11,510  -->  00:04:16,570
橙色並將其存儲到UM我們的13
82

82

00:04:14,930  -->  00:04:20,390
的堆棧指針寄存器
83

83

00:04:16,570  -->  00:04:23,510
cortex-m註冊銀行，所以我要去
84

84

00:04:20,390  -->  00:04:25,940
前往這裡運行，它正在運行
85

85

00:04:23,510  -->  00:04:27,560
我要去尋找囊腫並放
86

86

00:04:25,940  -->  00:04:30,350
這裡的斷點
87

87

00:04:27,560  -->  00:04:33,110
對，所以有堆棧指針
88

88

00:04:30,350  -->  00:04:36,020
不知道卡住了指向我們新的指針
89

89

00:04:33,110  -->  00:04:39,110
堆棧是橙色的堆棧
90

90

00:04:36,020  -->  00:04:41,990
主線程，該值以0 9結尾
91

91

00:04:39,110  -->  00:04:49,430
4，所以我要替換SP值
92

92

00:04:41,990  -->  00:04:52,460
以0 9 4 1 2 3 0 9 4結束
93

93

00:04:49,430  -->  00:04:56,030
一旦完成，是的，我要
94

94

00:04:52,460  -->  00:04:58,280
單擊此處退出中斷
95

95

00:04:56,030  -->  00:05:00,260
如您所見，我們已經被帶到
96

96

00:04:58,280  -->  00:05:02,720
我們帶到的橙色主管
97

97

00:05:00,260  -->  00:05:04,940
橙色的主要功能，因為現在
98

98

00:05:02,720  -->  00:05:07,610
我們已經改變了皮質微
99

99

00:05:04,940  -->  00:05:10,010
處理器堆棧指針指向
100

100

00:05:07,610  -->  00:05:13,450
我們創建的橙色主棧
101

101

00:05:10,010  -->  00:05:16,430
自己，所以如果我單擊此處運行
102

102

00:05:13,450  -->  00:05:19,760
橙色LED亮著就必須取出
103

103

00:05:16,430  -->  00:05:23,060
Cystic，我會和你一樣再次運行
104

104

00:05:19,760  -->  00:05:25,669
可以看到橙色LED閃爍，因此
105

105

00:05:23,060  -->  00:05:27,830
與操縱器一起使用的堆棧指針
106

106

00:05:25,669  -->  00:05:31,000
指向我們已經擁有的新堆棧
107

107

00:05:27,830  -->  00:05:33,800
我們已經創建了一個註釋，我們沒有
108

108

00:05:31,000  -->  00:05:36,350
違反這裡的任何規則，我們只是指出
109

109

00:05:33,800  -->  00:05:39,650
放入我們自己的堆棧中
110

110

00:05:36,350  -->  00:05:41,600
為cortex-m處理器創建的
111

111

00:05:39,650  -->  00:05:43,640
它的上下文仍然保存在
112

112

00:05:41,600  -->  00:05:47,419
我們只是在指針中說的位置
113

113

00:05:43,640  -->  00:05:50,560
不同的地址，現在就切換
114

114

00:05:47,419  -->  00:05:54,919
到藍色LED（藍色線）
115

115

00:05:50,560  -->  00:05:57,530
我們必須採用
116

116

00:05:54,919  -->  00:06:00,770
藍色堆棧並將其放入實際
117

117

00:05:57,530  -->  00:06:03,200
皮質和堆棧指針，但在我們之前
118

118

00:06:00,770  -->  00:06:06,289
這樣做我們必須更新堆棧
119

119

00:06:03,200  -->  00:06:10,430
橙色線程的指針，因為
120

120

00:06:06,289  -->  00:06:12,950
因為它一直在其上下文中工作
121

121

00:06:10,430  -->  00:06:15,590
已經改變，所以棧頂有
122

122

00:06:12,950  -->  00:06:17,539
實際上發生了變化，並且堆棧頂部
123

123

00:06:15,590  -->  00:06:20,479
橙色線是包含的
124

124

00:06:17,539  -->  00:06:22,640
現在在實際的皮質M星指針中
125

125

00:06:20,479  -->  00:06:24,620
所以進行實驗以移動
126

126

00:06:22,640  -->  00:06:27,229
向前，我們必須保存這個
127

127

00:06:24,620  -->  00:06:31,220
這裡的值是堆棧頂部
128

128

00:06:27,229  -->  00:06:33,710
橙線的橙色
129

129

00:06:31,220  -->  00:06:36,159
橙色堆棧指針，然後取
130

130

00:06:33,710  -->  00:06:39,260
藍色堆棧指針並放在皮質中
131

131

00:06:36,159  -->  00:06:40,940
我希望皮質M的實際起點
132

132

00:06:39,260  -->  00:06:43,640
你明白我的意思
133

133

00:06:40,940  -->  00:06:45,890
如果您不喜歡，請觀看視頻
134

134

00:06:43,640  -->  00:06:48,530
再次非常簡單，就是
135

135

00:06:45,890  -->  00:06:50,360
有很多活動部件，您可以
136

136

00:06:48,530  -->  00:06:53,870
仍然給我發消息，我會給
137

137

00:06:50,360  -->  00:06:56,240
您的響應非常個性化
138

138

00:06:53,870  -->  00:06:58,250
我要做的就是
139

139

00:06:56,240  -->  00:07:02,090
將在囊性中設置一個斷點
140

140

00:06:58,250  -->  00:07:04,400
再次輸入例外權，然後
141

141

00:07:02,090  -->  00:07:07,310
現在那是堆棧頂部
142

142

00:07:04,400  -->  00:07:09,710
橙色線程中的橙色正在運行
143

143

00:07:07,310  -->  00:07:12,620
它以零九零零結束，所以我
144

144

00:07:09,710  -->  00:07:17,170
要在這裡複製此值，然後
145

145

00:07:12,620  -->  00:07:20,750
將其放入此值中，粘貼
146

146

00:07:17,170  -->  00:07:23,030
好的，現在我們已經更新了，現在
147

147

00:07:20,750  -->  00:07:25,700
將採取藍色的堆棧指針
148

148

00:07:23,030  -->  00:07:28,460
並將其置於實際環境中
149

149

00:07:25,700  -->  00:07:32,930
堆棧指針，我要粘貼
150

150

00:07:28,460  -->  00:07:36,080
這樣在這裡，現在我退出時
151

151

00:07:32,930  -->  00:07:37,970
我期望被納入例外
152

152

00:07:36,080  -->  00:07:40,730
藍色的線，因為現在我們
153

153

00:07:37,970  -->  00:07:42,920
指向頂部
154

154

00:07:40,730  -->  00:07:45,860
藍色堆棧在那里卡住緬因州藍色
155

155

00:07:42,920  -->  00:07:48,830
我們創建的，所以我將點擊此處，
156

156

00:07:45,860  -->  00:07:53,060
如您所見，我們結束了藍色緬因州，所以
157

157

00:07:48,830  -->  00:07:54,500
如果我單擊此處運行，那當然可以
158

158

00:07:53,060  -->  00:07:56,060
是的，我會起飛的
159

159

00:07:54,500  -->  00:07:59,240
囊腫，然後我將繼續運行
160

160

00:07:56,060  -->  00:08:01,300
如您所見，藍色LED是
161

161

00:07:59,240  -->  00:08:01,300
眨眼
162

162

00:08:07,470  -->  00:08:09,530
you
