课堂练习2.1:外部中断

简介: 课堂练习2.1:外部中断

第1关:时钟中断的发生

cp /data/workspace/myshixun/exp1/1.tgz ~/os/
cd os/linux-0.11-lab
tar -zxvf ../1.tgz
rm -rf cur
ln -s 1 cur
cd 1/linux/
make
cd ../..
./run
出现如下画面表示加载完毕

6ce7fba6fd834aa488d36bc6cb87499b.png

关闭bochs虚拟机
./rungdb
打开另一个终端
cd os/linux-0.11-lab/
./mygdb
break do_timer //设置断点
display jiffies
c 回车 // 一直按到第一行被0覆盖

8d0975fa63924cbf82100fd60d4cbfa1.png


第2关:第一次时钟中断

quit //  退出gdb,保留第一关的环境
在一个终端里切换到目录~/os/linux-0.11-lab
cd os/linux-0.11-lab
./rungdb
打开另一个终端
cd os/linux-0.11-lab
./mygdb
break do_timer
c
p jiffies
bt
finish
disas
si
si
disas
b *0x77dd
c
si
disas
找到箭头对应的地址:0x0000769c


第3关:第六次时钟中断

quit //  退出gdb,保留第一关的环境
在一个终端里切换到目录~/os/linux-0.11-lab
cd os/linux-0.11-lab
./rungdb
打开另一个终端
cd os/linux-0.11-lab
./mygdb
break do_timer
c
p jiffies
c
p jiffies
c
p jiffies
c
p jiffies
c
p jiffies
c
p jiffies
bt
finish
disas
si
si
disas
b *0x77dd
c
si
disas
找到箭头对应的地址:

f496bac759ee4219b5f00d3f1e71b4c8.png


第4关:修改版本 1 内核源码,使得每次时钟中断发生时,都在屏幕上输出字符 ‘t’

cp /data/workspace/myshixun/exp1/1.tgz ~/os/
cd os/linux-0.11-lab
tar -zxvf ../1.tgz
rm -rf cur
ln -s 1 cur
cd 1/linux/
make
cd ../..
./run

9186cbe4455848df8dd01b3fda2b2e28.png

4448038784c74599bbac991b18f0a7b5.png

61a6923d92954472a96f13db01d8cae0.png8edc402b87fe496a8a7d8b06355beee9.png

fb75e4f027304653999cad122e901690.png

6980fb6e8e4f44cf921cca27b5038308.png

cd 1/linux/
make
cd ../..
./run

d43a48b8715443dabf28e4c7800abb65.png


第5关:修改版本 0 内核

cp /data/workspace/myshixun/exp1/1.tgz ~/os/
cd os/linux-0.11-lab
tar -zxvf ../1.tgz
rm -rf cur
ln -s 0 cur
cd 0/linux/
make

7e3808d8e45d4d2a835e34ee803f868e.png

e53fde726bb4490181d1e7a974d0a0bd.png

9402065fe54743558d203daa412b2dff.png

9498b82bb5b846b7b569ad8ff787bec4.png

e6f1f285ebcb4419a90c8ac5b168365e.png

7316963c81fe4d3b8007648c0c5d7d33.png

make
cd ../..
./run

d83fa83e9f144ffebfc9e50af6449e8f.png



目录
相关文章
|
8天前
|
传感器
STM32标准库外部中断和定时器知识点总结-1
STM32标准库外部中断和定时器知识点总结
|
8天前
|
传感器
STM32标准库外部中断和定时器知识点总结-2
STM32标准库外部中断和定时器知识点总结
|
8天前
|
传感器 监控 C++
外部中断的使用方法
这篇文章介绍了中断的概念,以一个生动的故事比喻,说明中断是如何打断主程序执行并调用中断函数的。文章提到了Arduino控制器和"吃货"模型,展示了如何编写处理吃和开门的代码,并介绍了设置中断的函数`attachInterrupt`。接着,列举了不同Arduino型号的外部中断引脚,并详细解释了中断函数、中断触发模式。最后,提供了一个官方的外部中断例程和其可能的应用场景,如使用旋转编码器或构建监控装置。
31 4
|
8天前
|
C语言
###51单片机学习-----如何通过C语言运用延时函数设计LED流水灯
###51单片机学习-----如何通过C语言运用延时函数设计LED流水灯
87 0
|
8天前
中断编程实验
中断编程实验
31 0
|
9月前
|
存储
TM4C123库函数学习(3)---串口中断
TM4C123库函数学习(3)---串口中断
105 0
|
9月前
|
调度
TM4C123库函数学习(2)--- LED闪烁,滴答定时器精准延时
TM4C123库函数学习(2)--- LED闪烁,滴答定时器精准延时
138 0
|
9月前
【单片机期中测试】3.按键控制流水灯循环
【单片机期中测试】3.按键控制流水灯循环
124 0
|
10月前
|
C语言 Windows
C语言课设项目-51单片机-定时器和计数器
C语言课设项目-51单片机-定时器和计数器
172 0

热门文章

最新文章