1
1

00:00:02,420  -->  00:00:08,460
xin chào chào mừng trở lại vì vậy hãy tóm tắt
2

2

00:00:05,670  -->  00:00:10,020
những gì chúng tôi đã chứng minh khi chúng tôi đạt được
3

3

00:00:08,460  -->  00:00:12,510
xử lý ngắt
4

4

00:00:10,020  -->  00:00:16,350
chúng tôi đã lưu các sổ đăng ký của Orangemen và
5

5

00:00:12,510  -->  00:00:18,480
sau đó ra mắt chức năng nở hoa
6

6

00:00:16,350  -->  00:00:20,699
chỉ có vấn đề là chúng tôi đã làm nó rất
7

7

00:00:18,480  -->  00:00:23,160
thời trang lộn xộn, mánh khóe chúng ta vừa chơi
8

8

00:00:20,699  -->  00:00:25,980
vi phạm phương thức hoạt động của
9

9

00:00:23,160  -->  00:00:28,380
chúng tôi thật may mắn
10

10

00:00:25,980  -->  00:00:31,259
chạy chương trình blinky rất đơn giản này
11

11

00:00:28,380  -->  00:00:34,200
nếu chúng ta có một mã phức tạp hơn một chút, chúng ta
12

12

00:00:31,259  -->  00:00:36,510
có thể làm sập hệ thống tại sao vì chúng ta
13

13

00:00:34,200  -->  00:00:38,640
không cho phép bộ xử lý quay trở lại
14

14

00:00:36,510  -->  00:00:41,190
chính xác nơi nó đã ở trước
15

15

00:00:38,640  -->  00:00:43,890
ngắt xảy ra trong ví dụ chỉ 1
16

16

00:00:41,190  -->  00:00:46,890
khi chúng tôi sửa đổi thanh ghi PC trong
17

17

00:00:43,890  -->  00:00:50,550
khung ngăn xếp chúng tôi sẽ trở lại cánh tay để
18

18

00:00:46,890  -->  00:00:52,110
chức năng chính màu cam tuy nhiên trước đây
19

19

00:00:50,550  -->  00:00:54,660
sự gián đoạn xảy ra
20

20

00:00:52,110  -->  00:00:57,300
chúng tôi đã lưu các thanh ghi của chính màu xanh
21

21

00:00:54,660  -->  00:00:59,430
Chức năng trên khung stack có nghĩa
22

22

00:00:57,300  -->  00:01:03,450
chúng tôi không trở lại nơi chúng tôi đã
23

23

00:00:59,430  -->  00:01:05,189
trước khi sự cố xảy ra
24

24

00:01:03,450  -->  00:01:07,979
sửa lỗi này chúng ta cần có một bộ
25

25

00:01:05,189  -->  00:01:10,619
đăng ký cho cam chính và khác
26

26

00:01:07,979  -->  00:01:13,320
bộ thanh ghi cho chính màu xanh sao cho
27

27

00:01:10,619  -->  00:01:15,030
chúng ta có thể lưu các thanh ghi sắp xếp thực tế
28

28

00:01:13,320  -->  00:01:18,149
vào sổ đăng ký mà chúng tôi đã phân bổ
29

29

00:01:15,030  -->  00:01:20,670
cho cam chính và khôi phục cam chính
30

30

00:01:18,149  -->  00:01:23,069
các thanh ghi từ các thanh ghi tương tự và
31

31

00:01:20,670  -->  00:01:25,679
chúng ta phải làm như vậy để nở hoa và
32

32

00:01:23,069  -->  00:01:27,869
bởi thanh ghi chính màu cam, ý tôi là
33

33

00:01:25,679  -->  00:01:30,659
nội dung của vỏ não thực tế và
34

34

00:01:27,869  -->  00:01:33,030
đăng ký khi chức năng chính màu cam là
35

35

00:01:30,659  -->  00:01:35,700
chạy này được gọi là bối cảnh của
36

36

00:01:33,030  -->  00:01:37,799
cam chính tôi cũng cần lưu ý rằng trong
37

37

00:01:35,700  -->  00:01:39,899
ngôn ngữ của hệ thống thời gian thực
38

38

00:01:37,799  -->  00:01:43,289
Cam và xanh chính được gọi là
39

39

00:01:39,899  -->  00:01:45,450
chủ đề như vậy bằng cách lưu bối cảnh của
40

40

00:01:43,289  -->  00:01:48,090
chủ đề chính màu cam vào chính cam
41

41

00:01:45,450  -->  00:01:50,880
đăng ký và bằng cách khôi phục cam
42

42

00:01:48,090  -->  00:01:51,810
chủ đề chính bất cứ khi nào chúng tôi muốn tiếp tục
43

43

00:01:50,880  -->  00:01:53,909
thi hành
44

44

00:01:51,810  -->  00:01:56,039
Orangemen chúng tôi không vi phạm
45

45

00:01:53,909  -->  00:01:58,350
phương pháp hoạt động của bộ xử lý và
46

46

00:01:56,039  -->  00:02:00,990
chúng tôi cũng đảm bảo rằng sẽ không có
47

47

00:01:58,350  -->  00:02:03,600
trộn các thanh ghi để tạo ra một bộ
48

48

00:02:00,990  -->  00:02:06,630
đăng ký cho mỗi chủ đề chúng ta có thể chỉ cần
49

49

00:02:03,600  -->  00:02:08,520
khai báo một ngăn xếp cho mỗi luồng và như
50

50

00:02:06,630  -->  00:02:10,950
bạn có thể biết một ngăn xếp thực sự không có gì
51

51

00:02:08,520  -->  00:02:13,260
nhiều hơn một khu vực trong ROM và một
52

52

00:02:10,950  -->  00:02:16,000
con trỏ trỏ đến đỉnh đó
53

53

00:02:13,260  -->  00:02:18,430
khu vực và tôi cũng nên
54

54

00:02:16,000  -->  00:02:21,670
lưu ý bạn rằng một đăng ký là một lưu trữ
55

55

00:02:18,430  -->  00:02:23,860
đơn vị những gì chúng tôi thực sự muốn là nội dung
56

56

00:02:21,670  -->  00:02:26,830
đăng ký như vậy bằng cách lưu trữ
57

57

00:02:23,860  -->  00:02:29,920
nội dung đăng ký r0 tại một cụ thể
58

58

00:02:26,830  -->  00:02:32,830
vị trí trong ROM chúng ta có thể nói đơn giản là chúng ta
59

59

00:02:29,920  -->  00:02:34,690
đã lưu trữ r0 trong ROM để tạo
60

60

00:02:32,830  -->  00:02:37,060
ngăn xếp chỉ là một vùng nhớ
61

61

00:02:34,690  -->  00:02:40,270
giữ sổ đăng ký của chúng tôi, chúng tôi có thể chỉ cần khai báo
62

62

00:02:37,060  -->  00:02:44,140
một mảng của bạn thành 32 vì
63

63

00:02:40,270  -->  00:02:46,420
Các thanh ghi cortex-m có kích thước 32 bit
64

64

00:02:44,140  -->  00:02:49,810
Tôi sẽ chỉ tuyên bố nó ở đây như thế này
65

65

00:02:46,420  -->  00:02:52,180
và sau đó tôi sẽ có một ngăn xếp khác để giữ
66

66

00:02:49,810  -->  00:02:54,010
Các thanh ghi của chính màu xanh vì vậy chúng tôi
67

67

00:02:52,180  -->  00:02:56,920
cũng phải khởi tạo ngăn xếp
68

68

00:02:54,010  -->  00:02:59,260
con trỏ để trỏ nó ngay phía trên ngăn xếp
69

69

00:02:56,920  -->  00:03:01,750
Vì vậy, chúng tôi tạo ra một con trỏ ngăn xếp đó là
70

70

00:02:59,260  -->  00:03:04,450
sẽ là cùng loại dữ liệu hoặc như
71

71

00:03:01,750  -->  00:03:07,330
nội dung của ngăn xếp đó là bạn trong 32
72

72

00:03:04,450  -->  00:03:10,000
vì vậy tôi có một con trỏ ngăn xếp như thế này
73

73

00:03:07,330  -->  00:03:14,860
Tôi sẽ làm tương tự cho màu xanh lam màu xanh
74

74

00:03:10,000  -->  00:03:18,510
ngăn xếp để làm sạch chính
75

75

00:03:14,860  -->  00:03:22,989
chức năng một chút chúng ta không cần tất cả điều này
76

76

00:03:18,510  -->  00:03:26,260
vâng, chúng tôi sẽ kiểm soát
77

77

00:03:22,989  -->  00:03:28,180
các đèn LED thông qua ngăn xếp của họ và yeah
78

78

00:03:26,260  -->  00:03:31,870
rõ ràng tôi sẽ rời khỏi một vòng lặp
79

79

00:03:28,180  -->  00:03:34,600
ở đó như thế này đúng và những gì chúng ta
80

80

00:03:31,870  -->  00:03:36,820
phải làm là khởi tạo cái mới của chúng tôi
81

81

00:03:34,600  -->  00:03:40,269
tạo ngăn xếp để làm cho nó trông giống như
82

82

00:03:36,820  -->  00:03:43,840
khung ngăn xếp của vỏ não-m mà chúng ta
83

83

00:03:40,269  -->  00:03:45,160
đã thấy trước đó để làm điều đó như bạn
84

84

00:03:43,840  -->  00:03:47,230
hãy nhớ khung stack có
85

85

00:03:45,160  -->  00:03:51,010
hình ảnh của khung ngăn xếp thấy rằng với
86

86

00:03:47,230  -->  00:03:53,220
nửa đầu XPS đăng ký của chúng tôi vì vậy chúng tôi
87

87

00:03:51,010  -->  00:03:56,560
phải khởi tạo XPS đăng ký của chúng tôi
88

88

00:03:53,220  -->  00:04:00,730
và tôi sẽ chỉ đưa nó ra XPS
89

89

00:03:56,560  -->  00:04:03,670
Ở đây như thế này, chúng ta cần thiết lập bit 24
90

90

00:04:00,730  -->  00:04:05,350
trong số XPS, đăng ký của chúng tôi là 1
91

91

00:04:03,670  -->  00:04:08,170
nói với bộ xử lý rằng chúng ta đang chạy
92

92

00:04:05,350  -->  00:04:10,360
trong chế độ ngón tay cái tất nhiên là vỏ não-m
93

93

00:04:08,170  -->  00:04:14,890
chỉ có thể chạy trong chế độ ngón tay cái
94

94

00:04:10,360  -->  00:04:18,310
nó vẫn được yêu cầu rõ ràng là
95

95

00:04:14,890  -->  00:04:21,250
tài liệu nói rằng để thiết lập bit 24 của
96

96

00:04:18,310  -->  00:04:23,860
XPS r21 chỉ để cho biết quá trình
97

97

00:04:21,250  -->  00:04:26,800
chúng tôi đang chạy ở chế độ ngón tay cái tiếp theo
98

98

00:04:23,860  -->  00:04:28,470
trên stack là chương trình pc
99

99

00:04:26,800  -->  00:04:30,990
đăng ký truy cập và
100

100

00:04:28,470  -->  00:04:32,730
đăng ký truy cập như bạn biết luôn
101

101

00:04:30,990  -->  00:04:35,580
chứa địa chỉ tiếp theo
102

102

00:04:32,730  -->  00:04:38,460
hướng dẫn được thực hiện để trong này
103

103

00:04:35,580  -->  00:04:41,490
trường hợp chúng tôi sẽ cung cấp địa chỉ của
104

104

00:04:38,460  -->  00:04:43,500
Chức năng cho PC để bất cứ khi nào
105

105

00:04:41,490  -->  00:04:46,010
chúng ta tạo một khung stack sẽ quay trở lại
106

106

00:04:43,500  -->  00:04:48,360
chức năng đặc biệt này là màu cam chính
107

107

00:04:46,010  -->  00:04:50,880
chức năng bởi vì đây là khung ngăn xếp
108

108

00:04:48,360  -->  00:04:52,740
cho chính màu cam nên PC luôn
109

109

00:04:50,880  -->  00:04:55,170
đưa chúng ta đến chức năng chính màu cam
110

110

00:04:52,740  -->  00:04:57,900
chúng ta sẽ làm một khung stack cho
111

111

00:04:55,170  -->  00:05:00,720
chính màu xanh cũng vậy sau đó như bạn
112

112

00:04:57,900  -->  00:05:04,860
có thể thấy mục tiếp theo trên ngăn xếp cho
113

113

00:05:00,720  -->  00:05:06,780
Anh ấy là UM, đó là thanh ghi liên kết
114

114

00:05:04,860  -->  00:05:09,510
chúng ta có thể khởi tạo thanh ghi liên kết như
115

115

00:05:06,780  -->  00:05:11,820
cũng vậy, ngoài hai người đầu tiên
116

116

00:05:09,510  -->  00:05:14,460
đăng ký các thanh ghi khác có thể được
117

117

00:05:11,820  -->  00:05:17,130
khởi tạo với các giá trị ngẫu nhiên
118

118

00:05:14,460  -->  00:05:19,890
rằng chúng ta sẽ có thể xác định những
119

119

00:05:17,130  -->  00:05:22,470
các thanh ghi khác trong bộ nhớ của
120

120

00:05:19,890  -->  00:05:24,240
bạn vì mục đích gỡ lỗi nên tôi là gì
121

121

00:05:22,470  -->  00:05:26,700
sẽ làm là tôi sẽ khởi tạo
122

122

00:05:24,240  -->  00:05:30,090
các thanh ghi khác với một số bạn ngẫu nhiên
123

123

00:05:26,700  -->  00:05:32,880
biết các giá trị ngẫu nhiên về cơ bản vì vậy tôi chỉ
124

124

00:05:30,090  -->  00:05:36,870
sẽ đánh vần từ chết để
125

125

00:05:32,880  -->  00:05:38,820
khi chúng ta thấy người chết kéo dài trong
126

126

00:05:36,870  -->  00:05:41,460
Chế độ xem bộ nhớ chúng ta biết rằng oh đó là
127

127

00:05:38,820  -->  00:05:42,900
khung ngăn xếp mà chúng tôi đã tạo cho
128

128

00:05:41,460  -->  00:05:44,640
Orangemen và sau đó khi chúng ta đến
129

129

00:05:42,900  -->  00:05:47,760
khung stack cho màu xanh có nghĩa là tôi
130

130

00:05:44,640  -->  00:05:49,169
sẽ đánh vần thịt bò như thế chưa
131

131

00:05:47,760  -->  00:05:50,100
Tất nhiên là không đúng chính tả
132

132

00:05:49,169  -->  00:05:53,630
đã chết
133

133

00:05:50,100  -->  00:05:57,560
nó có một bảng chữ cái nhiều hơn một chút so với yêu cầu
134

134

00:05:53,630  -->  00:06:01,590
nhưng tôi biết bạn có được những gì tôi đang cố gắng làm
135

135

00:05:57,560  -->  00:06:03,600
Vì vậy, tôi chỉ cần thay đổi điều này ở đây có và bây giờ
136

136

00:06:01,590  -->  00:06:05,490
chúng tôi đã tạo khung stack và
137

137

00:06:03,600  -->  00:06:09,840
ý tôi là chết
138

138

00:06:05,490  -->  00:06:12,930
đã khởi tạo cái này để làm bởi E ae ad vậy
139

139

00:06:09,840  -->  00:06:15,000
chúng ta sẽ thấy một Ấn Độ ở
140

140

00:06:12,930  -->  00:06:18,090
ký ức về bạn và sau đó chúng tôi biết oh này
141

141

00:06:15,000  -->  00:06:21,419
vâng đây là người bạn cũ của chúng ta
142

142

00:06:18,090  -->  00:06:23,940
khung màu cam của sợi màu cam
143

143

00:06:21,419  -->  00:06:27,600
và chúng ta sẽ làm như vậy chúng ta sẽ
144

144

00:06:23,940  -->  00:06:31,590
để làm tương tự cho các chủ đề màu xanh, chúng tôi bắt đầu
145

145

00:06:27,600  -->  00:06:34,710
bằng cách khởi tạo bằng cách khởi tạo XPS
146

146

00:06:31,590  -->  00:06:36,600
r và sau đó chúng tôi đặt địa chỉ của
147

147

00:06:34,710  -->  00:06:38,700
chủ đề chính màu xanh vào chương trình
148

148

00:06:36,600  -->  00:06:42,090
đăng ký truy cập để tôi sẽ tiếp tục
149

149

00:06:38,700  -->  00:06:44,850
xuống đây như thế này đặt đây
150

150

00:06:42,090  -->  00:06:48,389
vâng, chúng tôi khởi tạo X psi sau đó chúng tôi
151

151

00:06:44,850  -->  00:06:50,400
Khởi tạo PC ngay và sau đó chúng ta có
152

152

00:06:48,389  -->  00:06:53,700
cái kia đăng ký sáu cái kia
153

153

00:06:50,400  -->  00:06:56,280
đăng ký liên kết đăng ký thông qua của chúng tôi
154

154

00:06:53,700  -->  00:07:01,260
nối tiếp và tôi sẽ chỉ mang nó qua
155

155

00:06:56,280  -->  00:07:04,680
Ở đây như thế này và bạn đi như vậy sau đó
156

156

00:07:01,260  -->  00:07:07,950
Bây giờ chúng ta có khung stack cho màu xanh
157

157

00:07:04,680  -->  00:07:11,370
cũng như tôi sẽ chỉ nhận xét ở đây cho
158

158

00:07:07,950  -->  00:07:14,160
sửa đổi của bạn sau đó xem vỏ cam
159

159

00:07:11,370  -->  00:07:16,970
tóc không sao nên cái này bắt được chúng ta
160

160

00:07:14,160  -->  00:07:16,970
để xếp khung
