操作电脑系统记不住流程-如何系统记忆
1.怎样破解还原卡?
2.嵌入式方向要学习什么课程?
3.求攒电脑全流程
4.工作培训期间记不住产品功能、参数等。
怎样破解还原卡?
破解三茗还原卡
还原卡及还原精灵的破解还原卡及还原精灵的破解 学生:今天上机我发现了一个重大
问题:在网吧的计算机上保存不住任何文件!发现这个情况也是偶然的:明明在计算机
上安装了很多软件,突然间机了,重启之后刚才安装的软件一个也找不到了,系统就
象被网管重新安装了一遍那么干净。我决心找出其中的原因,不然的话,我每次上机都
要为自己安装一些习惯使用的软件如Netants(网络蚂蚁),这也太烦人了吧。哈哈,
还真叫我发现其中的奥妙,因为计算机操作系统容易受错误操作、非法关机、病毒入
侵、恶意破坏等问题的影响,所以网管在每台计算机上安装了叫做硬盘还原卡(也叫做
数据保护卡)的硬件设备,其界面为 如图1-13-1 。硬盘还原卡被制作成可以插入计算
机扩展插槽的外置插卡形状 如图1-13-2 ,下面的这一种是三合一的卡(网卡+保护卡+
数据克隆)如图1-13-3 ,只要将此卡插入计算机,并指定其保护的磁盘区域,以后即
使用户任意重新分区,格式化、修改配置、删除文件、感染病毒等等,只要重新启动计
算机,一切就象什么也没有发生过,硬盘自动恢复成了系统的初始状态。正因为还原卡
有如此神奇功效,网吧、学校机房等场所都纷纷安装了此类还原卡,认为从此天下太平
了。其实可害“哭”了象我们这样的网吧上网族,比如正在运行着程序突然当机了,没
办法,RESET重启吧,原先辛辛苦苦下载的数据一下子就没了。损失惨重、教训惨痛啊
!并且在还原卡的保护下,我们想修改计算机的配置信息都改不了。那还提什么系统入
侵呀,破解还原卡的工作是势在必行了。不知道大家注意过没有,网吧的计算机因为经
常坏需要维修,所以机箱盖板的螺丝基本是不上的,壳子就松松垮垮的套在机箱上。因
为还原卡是块插卡,又没有螺丝上着,赤手空拳的就可以对付它了。我就瞅机会把还原
卡拽下来了。如图1-13-4 瞧这只黑手,在高速的拔卡过程中被看到了,哈哈!注意:
千万不要在机器通电的时候这么干,要不然主板冒烟可不是闹着玩的。哈哈,卡子移出
了看你还能有什么本事!这样做有些品牌的还原卡会在引导的时候提示“移出还原卡”
,回车确定以后还原卡功能就被彻底从系统中清除了。还有些还原卡被拔下来后,根本
没有什么提示,还原功能就失效了。这样等我们安装完了软件、修改够了系统再把它插
上,呵呵,还原功能就又回来了,当然了计算机在没装还原卡时你所有的操作都会保留
下来的。 网管:千万不能为了自己维修方便而不上机箱的螺丝,我的网吧机箱螺丝上
地紧紧的都被有些来上网的家伙拔掉几块CPU、内存和还原卡了。后来没办法,只好做
个箱子把机箱锁起来。 学生:最近,网吧机箱不光上了螺丝,而且还贴了封条,加了
锁,装了箱。我的“物理”破解法只有告一段落了。其实很多种类的还原卡,跟BIOS设
置存在某种关联,如果在BIOS设置界面的 “BIOS Features Setup”中存在“Boot
From LAN First”项目,就要求将其设置为“Enable”(将引导顺序设为网络最优先)
,如图1-13-5 假设我们将这个选项设置为“Disable”,那么这块还原卡将不再工作。
这是真的,我就在几个网吧不同牌子的还原卡上测试成功过。如果还原卡的版本比较老
,更是绝对没有问题的。那么这里禁止还原卡就等同于破解BIOS密码了。 破解BIOS密
码我们可以使用操作系统自带的DEBUG程序来清除密码。因为BIOS设置程序存在厂商、
版本的不同,所以就有如下表所示的多种破解方法: 方法一方法二方法三方法四方法
五 -O 70 11-O 70 23-O 70 10-O 70 10-O 70 16 -O 71 FF-O 71 34-O 71 FF-O 71
00-O 71 16 -Q-Q-Q-Q-Q 看一下具体的破解步骤吧:在DOS下输入“DEBUG”并回车,
DOS提示符显示为“--”表示现在进入了DEBUG状态,然后依次输入“O 70 10”回车,
“O 71 FF”回车,最后输入“Q”并再次回车。如图1-13-6 重启计算机以后,BIOS提
示出错,按BIOS的热键(一般是“DEL”按键,注意屏幕上一般有提示)进入BIOS设置界
面的时候并不要求我们输入密码,说明我们已经破解成功了。上述方法的含义就是向
BIOS中写入代码,迫使BIOS自身校验出错,这样再重启计算机时,会要求进入BIOS重新
配置参数,而此过程是不需要密码的。 网管:看来删除DEBUG程序是势在必行了。 学
生:如果DEBUG程序被删除怎么办呢?我们先想办法进入DOS环境(双击运行“
c:\command.com”文件就可以进入DOS状态)。在DOS状态下,没有DEBUG程序不要紧,
还可以自己现场制作个破解BIOS的.com文件,实现对BIOS密码的清除工作。这听起来是
不是很神奇呢? 在DOS环境下输入:“COPY CON CMOS.COM”(引号不输入,以下同)
后回车,如图1-13-7 系统会自动另起一行,我们继续输入以下内容:“ALT+176
ALT+17 ALT+230 p ALT+176 ALT+20 ALT+230 q ALT+205 <空格>”,然后按键盘上的“
F6”键,再按回车键保存。如图1-13-8 注意:输入以上数据时候先按键盘的ALT按键
,再按下数字小键盘区的数字按键,这里不能使用主键盘区的数字按键,输完一段数字
松开ALT按键,然后再按下ALT按键输入下一段最后运行得到的cmos.com文件 如图
1-13-9 ,重新启动计算机BIOS提示出错,就可以不需要密码进入BIOS设置界面啦。 不
过有些还原卡在BIOS修改以后,会提示“发现CMOS有修改,是否存储CMOS资料?”这样
的信息,如图1-13-10 那么这块还原卡就不能通过这种方式进行破解了。 看了一些还
原卡说明书,也找了一些还原卡资料,我还知道了还原卡一般是有初始化的管理员口令
的,部分还原卡的默认密码如下:小哨兵:manager,远志:12345678,三茗:
12345678。如果网管没有另外设定密码的话,我们就可以输入这些默认密码来控制还原
卡了。如图1-13-11 其实很多还原卡还有我们所不知道的超级管理员密码或者是管理员
密码清除程序。这个密码或者程序从生产还原卡的公司宣传材料或者网站上是找不到
的。你要是对某款还原卡发生了兴趣,不妨冒充还原卡的最终用户向此还原卡代理商索
取破解办法,相信代理商会有可靠的办法让你满意的。(这又叫做社会工程学入侵)我
在使用U盘(USB闪存盘)如图1-13-12 的时候发现了另外一个绕过还原卡保护功能的方
法。当U盘接在计算机上时,被识别成“移动硬盘”,如图1-13-13 还原卡是不保护这
上面的数据的,我们可以任意的修改U盘中的数据。小知识:使用USB接口的活动硬盘
如图1-13-14 也可以突破还原卡保护,我们把QQ聊天记录存放在活动硬盘上,以后到哪
家网吧都不会忘记和MM说过的每一句话了;我们把收集的黑客工具拷贝到活动硬盘,网
吧的计算机可能没有软驱、光驱,但主板一般是有USB接口的,这些工具就可以照旧使
用! 还原卡提供保护功能的是卡上面的那块硬件芯片中保存的小程序,它和硬盘的
主引导记录MBR协同工作,将系统中断Int13H 小知识:进制:H代表16进制,以十六
为基数,有十六个符号0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示,逢十
六进一。Q代表8进制,以八为基数,有八个符号0,1,2,3,4,5,6,7表示,逢八进
一。B以二为基数,有两个符号0,1表示,逢二进一。中断:程序运行过程中出现了某
种紧急事件,必须中指现行程序而去转去执行一个处理该事件的程序,处理完成该事件
后再恢复并继续运行原有的程序,这个过程称作中断。中断向量表:中断服务程序的起
始地址称为中断入口,将中断程序的入口地址放在一起就组成中断向量表。进行底层
拦截,这样WIN98引导后使用的就是由还原卡修改过的中断了。想破解还原卡的保护功
能,只要恢复Int13H的BIOS中断向量就可以了,简单过程就是:找到Int13H的原始BIOS
中断向量值,填入中断向量表 补充知识:DEBUG命令简单解释: 命令用途格式 汇
编汇编语句A[address] 显示显示内存D[address] 修改修改内存E address [lise] 执
行用任选断点执行G[=address] [address…] 传送传送内存块内容M range address 终
止退出DEBUGQ 输出发送输出的字节O portaddress byte 寄存器显示寄存器/标示R
[register name] 检索检索字符S rang list 跟踪执行并显示T [=address][value] 在
DOS下运行DEBUG程序: Debug -a 100 -xor ax,ax -int 13 -int3 然后输入T回车,并
不断的重复,直到显示的地址如F000:xxxx。记下这个地址,按Q键回车退出。这里假设
出现的第一个F000:1234就是要使用的。实际可能是在第2、3、4个才出现,通常认为就
是第一个,在(0:13H*4)=0:4cH处填入这个地址,运行Debug,输入如下命令 -e
0:4c34 12 00 f0 -q 如果在跟踪过程中发现了如下代码:CMP DL,80(判断是否操作
硬盘),可以修改成不存在的硬盘号如:CMP DL,FF,然后试试硬盘可写吗?可写的话
就OK了。 现在有些较新的还原卡经过上述操作,还是不能写盘,出现操作机的情
况。一般是因为Int8H、Int1CH、Int15H等中断对Int13H进行了向量保护。想办法将这
些中断修改为原始中断入口地址就可以了。如果想获得还原卡管理员密码的话,因为有
些还原卡的密码是存放在硬盘上某个空闲磁盘空间中的,与还原卡无关,我考虑了以下
几个步骤: 1.恢复系统中断向量并读取磁盘的MBR记录信息 2.分析MBR,这里建议结合
磁盘在安装还原卡前后各扇区数据变化情况 3.找到密码存放扇区并破解其加密算法不
过我感觉这实在是太深奥了,不是我这种笨脑瓜想明白的,就此作罢了。 网管:要注
意还原卡的安全问题,使用了还原卡固然可以减轻计算机系统维护的工作量,但是使用
还原卡的计算机并不是安全得像进了保险箱,针对还原卡的保护和破解,就像矛与盾之
争一样。一方面不断有新的破解技术出现,另一方面也不断的有抵御破解手段的新的还
原卡生产出来。想更好的保护好计算机,那就只有不断的更新手中还原卡的版本,同时
,禁止用户进入DOS模式或者干脆删除DEBUG命令也是一个折中的办法。 学生: 还原精
灵的破解 我今天到另外的一家网吧上网,发现他们的硬盘也是受“还原卡”保护的,
重启计算机一切修改都还原了,破解它这还不好办!我的眼睛就不住地往桌下没扣盖的
主机上打量。却看见这些计算机并没有安装什么插卡,真让我大吃一惊,莫非是用什么
软保护措施?还真让我猜中了。看 就是这个叫“还原精灵”的软件在捣鬼。我想删除
“还原精灵”,在“添加删除程序”中找不到这款软件,在硬盘上也查找不到这款软件
的安装文件。右击任务栏右下角的图标,却被要求输入操作密码。 看来想办法破解此
软件的密码,是控制这台计算机的关键。如果仅仅是因为安装了一个新程序,提示要求
重启计算机,那就不要点击“确定”(,选择“以后重启”。在“开始>关闭系统”选
择“重新启动计算机” 注意此时一定要按住键盘shift按键不放,这样计算机将跳过初
始化等操作,直接重新加载系统程序,从而绕过了还原精灵的保护。以下为cy07添加
如果想长期保存自己的文件,就必须卸掉还原精灵或者取得还原精灵的管理员密码,
要卸掉还原精灵其实不难,网上有专门清除还原精灵的程序, 可以到它的老家 下载,运行以后直接清除,就可以清除还原精灵了,不过需要注
意,由于还原精灵是在硬盘最重要的主引导记录MBR( 来自网络!)
关于破解还原卡(通用) 请大家先看看后面的(可以穿透还原卡和还原软件的代码)
方法一:
开机时(也就是在你曾经进入cmos的时刻),同时按住ctrl+home,这样你就进入了 还原卡的密码输入窗口,只要输入正确的密码即可获得admin,以后随你怎样设置. 关于是密码的问题:一般还原卡都有默认密码的,默认密码怎么找,很简单,到网上搜索QQ:9750406 关键词"还原卡"就行了,找到你用的那个牌子的还原卡,进入站点,在一个比较偏僻的角落 一般可以找到默认密码的.
而一般机房管理员是不会修改其默认密码的,比如俺学校的
台湾远志牌的还原卡的默认密码是12345678,
小哨兵的是manager, 机房管理员一个也没改,好爽!!!!!!!!!!
不过我可没破坏任何东东,一旦惹怒了俺,嘿嘿....俺也不会破坏的,
恶意破坏计算机就是对自己的不尊重!!!!
如果管理员把密码改了呢?那就拿出宝刀---
方法二:
此法实施过程看起来挺麻烦,不过熟悉了*作起来超不过15秒的-
高手sinister曰:
其实所谓硬盘保护卡就是在ROM中写了一段HOOK INT 13的程序,屏蔽了
一些功能调用如AH=3,5等,在中断向量表中INT 13的SEG,OFFSET
描述为[13h*4+2],[13h*4],将此中的程序先保存后,再替换为自己的代码,
当你AH=2的时,它便会call原始INT 13地址来完成*作.
只要找到原始INT 13入口便可以为所欲为.
不知看了这段感觉如何?慢慢消化吧.
主要矛盾:关键是要找到原始的int 13入口.
测试*作系统:win98
测试对象: 台湾远志还原卡
测试地点: 学校机房
测试目的: 控制还原卡,但不破坏.
注:本篇文章不对其实施过程中出现的任何不可预料的情况负责!!!!!
具体过程如下:
开机过程按住F8键,进入纯dos环境, 注";"后为注释.
出现提示符c:,
键入c:\debug,
- a100
- xor ax,ax
- int 13
- int3
; 寻找原始的int 13入口.
然后输入t回车,不断的重复,直到显示的地址形如 F000:xxxx
,后面的指令为:mov dl,80 (练练眼力-。按q退出.
记下这一地址, 在(0:13H*4)=0:4cH 处填入这个地址。
例如俺的得到的地址是F000:9A95
再次运行debug ,键入:
-e 0:4c 95 9A 00 F0 ;e的作用将数据表"95 9A 00 f0",写入地址0:4c开始的字节中.
-q
注: 填的时候要仔细,填错的话会机。ok,破解完成.
这时在提示符c:\键入
c:\win
进入win98系统即可,那么这次你在win98系统中的一切*作,随着下一次
的启动都会被还原卡存储起来。
不过下一次进入系统的的时候,你还是需要重写地址0:4c,才可以让还原卡存储你的东东。
这时只需要在纯dos下进入debug,键入
-e 0:4c 95 9A 00 F0
-q 即可。
哈哈。。。这样也挺好,只有你才是这台computer的真正的主人 -。
别人还是受还原卡的限制的except--you 。
下面是找Int13入口的方法,我常用的几种:
1。手工运行Debug,最好在纯DOS下:
Debug
- a100
- xor ax,ax 注意: 前面要加上功能号以选择Int13H内部的流程,避免进入其他不经过原始入口的流程
- int 13
- int3
然后输入t回车,不断的重复,直到显示的地址形如 F000:xxxx。记下这一地址,按q 回车退出。
这里假设了第一个F000:xxxx就是要找的入口,实际上可以在第2,3,4,。。。。出现,要自己判断一下,通常认为就是第一个。在(0:13H*4)=0:4cH 处填入这个地址。
例如得到的地址是F000:1234
运行debug
-e 0:4c 34 12 00 F0 =======>把得到的原始入口填入Int13H的中断向量表
-q
注意:
填的时候要仔细,填错的话会机。有些经过针对性处理的机器,要进一步鉴别。
如在Int13内部调用Int1ch.
如果在trace过程中发现如下代码 CMP DL,80[意思是判断是否针对硬盘操作] ,可以尝试修改成不存在的硬盘号,比如改成CMP DL,FF。其他的都不要修改.
试试 硬盘可写吗?如果可以的话就万事大吉了。另外,不能在Windows的虚拟DOS窗口中使用这种方法。
如果在Windows的虚拟DOS窗口运行的话,请使用下一种方法。
2。Debug
- s F000:0 ffff 80 fa 80 强行搜索BIOS区,通过比较入口代码找到原始入口点
你可能会发现有好几处。根据我的多次破解经验,通常这个地址在F000:8000以后。
试验一下: 如果U F000:xxxx地址后发现代码类似 -u F000:xxxx
PUSHF
CMP DL,80
JZ ....
.
.
.
[有些不是这样,要注意鉴别。]
的话,填入向量表试试。通常破解就完成了。
嵌入式方向要学习什么课程?
1.1 有哪些设备使用单片机或Linux
所有的电子产品,所用技术都可以认为要么是单片机,要么是Linux;GUI方面主要是QT/Android,它们都是运行于Linux之上的。我们说的单片机不使用操作系统,但是使用单片机设备肯定远远超过Linux。很多人也是先学习单片机,从单片机进入电子工程师行业,日常生活中,有哪些产品使用单片机、Linux呢?下面举一些例子:
我们设计一个产品时,是使用单片机还是Linux,取决于成本:硬件成本、软件成本、维护成本、升级成本。而不应该根据个人偏好来选择:我喜欢单片机,所以就排斥使用Linux;我喜欢Linux,就排斥使用单片机。为了有更多的选择,我们需要既懂单片机,又懂Linux。
1.2 在硬件操作上单片机和Linux是类似的以点灯为例,
无论是单片机还是Linux,我们要做的事情都一样:
看原理图,确定引脚是哪一个,确定它输出什么电平才可以
看芯片手册,确定要怎么操作寄存器
写程序
但是,怎么编写程序,单片机和Linux有很大不同。
1.3 在单片机中点灯、使用LCD使用单片机开发程序时,我们一上来就写一个main函数,下面是一些简化的代码:
LED程序里面的init_led、led_on、led_off函数是你一个人写的,爱取什么名就取什么名,爱怎么写就怎么写。
LCD程序里的函数也是你写的,完全是自由发挥。
很多单片机项目不是很复杂,2、3个人从上到下统统搞定,里面的函数大多时间是直接去读写寄存器。
很多单片机项目严重依赖于硬件,换一个芯片后怎么办?重写一套代码呗。
在单片机程序里,没有应用程序、驱动程序的概念,很可能一个人包揽了硬件设计、模块调试(或称之为驱动)、功能开发(或称之为应用)的全部活。
1.4 在Linux中点灯、使用LCD在Linux中,不允许应用开发人员直接去操作硬件,比如你想点个灯,不好意思,你无法直接访问寄存器;你需要通过驱动程序来访问寄存器。
为什么?有几大原因:
Linux系统中运行着众多程序,必须保证质量差的程序无法破坏系统:假设你写的程序比较烂,那我不能让你去随便访问寄存器,把系统搞崩溃了怎么办?你本意是去点灯,但是你看错了寄存器,你把电源关了怎么办?所以这些操作硬件的活,还是交给信得过的人来做吧:交给驱动工程师,他既懂硬件又懂软件。
保证程序的可移植性:编写应用程序时,大家都使用统一的函数,以后换一个芯片时,应用程序不用变;只需要根据这个接口提供驱动程序就可以了。
团队协作:使用Linux系统的项目一般比较大,术业有专攻,一个人不太可能从上到下都全部掌握。比如做人脸识别项目,有擅长做图像处理的,他可不管你要用多少种摄像头,有图像给他就可以。而多种摄像头的硬件操作方法各有不同,这些交给驱动程序工程师。
所以,在Linux中应用程序和驱动程序是分开的。
以LED、LCD程序为例,简化的代码如下
请点击输入描述
也许你已经大概猜出来了,应用程序怎么调用驱动程序?通过标准的接口:
open:打开驱动程序。
read/write:读、写数据。
ioctl:传入各种参数,获得各种参数。
mmap:内存映射,比如映射之后,应用程序可以直接读写LCD的显存。
你看!从这些接口里,我们根本看不到寄存器的操作。底层的程序驱动会根据这些调用,去设置寄存器、操作硬件。
所以,我高大上的应用工程师,干嘛苦哈哈地去看原理图、看在片手册、读写寄存器,搞不好还要去调试硬件BUG。这些脏活、累活就交给驱动工程师吧。客户的需求千变万化,我996时间都不够用了。
我上懂软件、下懂硬件的驱动工程师,肯定不能把这么重要的活交给你去做了,把我的系统搞崩溃了怎么办。
开玩笑、开玩笑、开玩笑的,有应用工程师、驱动工程师的优劣之分,大家都是为了做出产品。现在有一个趋势,一个任务从上到下你都需要懂,这就是所谓的全栈工程师。
还是以LED为例,应用程序和驱动程序的协作如下图所示:
在Linux中,“一切皆文件”,要访问某个硬件,也是要打开文件、读写文件。应用程序要根据标准的文件接口:open/read/write/ioctl/mmap等来访问驱动程序。
既然如此,怎么写驱动程序呢?最简单的方法就是:APP要调用open来打开驱动程序,那驱动‘程序里就提供一个xxx_open函数来初始化硬件;APP要调用write来写数据,驱动程序里就提供一个xxx_write函数来接收数据并操作硬件。
用xxx_open、xxx_write来构成一个驱动程序,这就是驱动框架。
怎么实现这些xxx_open、xxx_write函数?我们要做的事情跟单片机是类似的,一样要去看电路图、看芯片手册,然后在这些函数里读写寄存器:这称为硬件操作。
所以,Linux驱动程序= 驱动框架 + 硬件操作。
有单片机基础的人,对硬件操作比较熟悉了,把重点放在驱动框架上就可以。
高能预警:驱动框架可不简单,对于LED来说是简单,但是还有更复杂的驱动程序,它要考虑“通用”,这很要命。
第2章 嵌入式Linux快速入门这几天在群里跟学员聊天,有一位学员的学习方法很好:先观其广,再究其深。有时候要“不求甚解”,很多时候保持疑问先学下去,这些疑问就自然解决了。
比如课程中涉及汇编知识,如果你要彻底弄清楚,你需要去学习《ARM架构与编程》;当你学完这本书,你的同学搞不好已经可以上手工作了。
2.1 短期的目标是什么我们先把学习目标定下来:快速了解嵌入式Linux开发的流程,知道要学什么,具备跟从业者交流的能力。
2.2 一个嵌入式Linux系统的组成下面我们用类比和逻辑推导出嵌入式Linux系统的组成,没错,“推导”。
从上图可以知道:
组成:嵌入式Linux系统= bootloader + linux内核 + 根文件系统(里面含有APP)。
bootloader:它的目的是启动内核,去哪等读内核?读到哪里?去Flash等外设读内核,存到内存里去。所以需要有Flash里外设的驱动能力,为了调试方便还会有网络功能。所以,可以认为 booloader = 裸机集合,它就是一个复杂的单片机程序。
Linux内核:Linux内核的最主要目的是去启动APP,APP保存在哪里?保存在“根文件系统”里。“根文件系统”又保存在哪里?在Flash、SD卡等设备里,甚至可能在网络上。所以Linux内核要有这些Flash、SD卡里设备的驱动能力。
不仅如此,Linux内核还有进程调度能力、内存管理等功能。
所以:Linux内核 = 驱动集合 + 进程调度 + 内存管理等。
2.3 要学习bootloader吗Bootloader有很多种,常用的叫u-boot。
在实际工作中,对于u-boot基本上是修修改改,甚至不改。但是u-boot本身是很复杂的,比如为了便于调试,它支持网络功能;有些内核是保存在FAT32分区里,于是它要能解析FAT32分区,读FAT32分区的文件。
花那么多精力去学习u-boot,但是工作中基本用不到,这对初学者很不友善。
所以,对于初学者,我建议:理解u-boot的作用、会使用u-boot的命令,这就可以了。
如果你的工作就是修改、完善bootloader,那么再去研究它吧。
2.4 要学习Linux内核、要学习驱动程序吗之前我们说过Linux内核 = 驱动集合 + 进程调度 + 内存管理等,如果要学习Linux内核,从驱动程序入手是一个好办法。
但是人人都要学习Linux内核、人人都要学习Linux驱动吗?显然不是。
作为初学者,懂几个简单的驱动程序,有利于工作交流;理解中断、进程、线程的概念,无论是对驱动开发、应用程序开发,都是很有好处的。
所以对于初学者,建议前期只学习这几个驱动:LED、按键、中断。
LED驱动程序:这是最简单的驱动程序。
按键驱动程序:它也比较简单,从它引入“中断”。
中断:从“中断”它可以引入:休眠-唤醒、进程/线程、POLL机制、异步通知等概念。这些概念无论是对驱动开发,还是对应用开发,都很重要。
所以,对于初学者,我建议必须学习这几个驱动:LED、按键、中断。
入门之后,如果你想从事内核开发、驱动开发,那么可以去钻研几个驱动程序(输入系统、I2C总线、SPI总线等),掌握若干个大型驱动程序后,你对内核的套路就有所了解了,再去研究其他部分(比如进程管理、文件系统)时你会发现套路是如此通用。
摄像头(VL42)、声卡ALSA驱动是Linux中比较复杂的2类驱动,它们是很难的,如果工作与此相关再去研究。
2.5 要学习Linux应用程序吗?先学一些基础技能要学,即使以后你只想研究内核,一些基本的应用开发编写能力也是需要的:
基本设备的访问,比如LCD、输入设备
进程、线程、进程通信、线程同步与互斥
休眠-唤醒、POLL机制、信号
网络编程
①②③部分的知识,跟驱动有密切的关系,它们是相辅相承的。
掌握了基本驱动开发能力、基本应用开发能力之后,在工作中你就可以跟别人友好沟通了,不至于一脸懵逼。
2.6 应用程序是怎么启动的?要了解一下根文件系统你辛辛苦苦写出了应用程序,怎么把它放到板子上,让它开机就自动启动?
你写的程序,它依赖于哪些库,这些库放到板子上哪个目录?
怎么做一个可升级的系统?即使升级中途断电了,也要保证程序至少还可以运行老的版本?
这些都需要我们了解一下根文件系统。
先了解一下init进程:它要读取配置文件,根据配置文件启动各个APP。
了解了init进程,你就了解了根文件系统的组成,就可以随心所欲裁剪系统,为你的项目制作出最精简的系统。
第3章 学习方法3.1 先不要打破砂锅问到底嵌入式涉及的东西太多太杂了,如果心里没有主线,碰到什么都要去研究个透彻,最终反而忘记自己要学什么了。
嵌入式涉及硬件知识、软件知识,软件里涉及汇编、ARM架构、C语言、Makefile、Shell;又分为bootloader、内核、驱动、基本的APP、GUI。
比如我们会用到Makefile,了解它的基本规则,会用我们提供的Makefile就可以。
不需要深入研究那些make函数,因为在工作中都有现成的Makefile给你使用,不需要自己去编写一套Makefile。何必花上好几天去深入研究它呢?
比如我们会用到bootloader,难道又要花上几个月来深入研究u-boot吗?工作中基本不需要改u-boot,会用那几个命令就可以。
甚至有些学员先去买本shell的书来学习shell命令,何必?我们在视频中用到什么命令,你不懂时再去百度一下这些命令就可以了。
不要脱离初学者的主线:应用基础、驱动基础。有了这2个基础后,你想深入研究某部分时,再去花时间吧。
3.2 思路要清晰,不怕抄代码视频里的代码,请你一定要自己去写一次、写多次。为什么我现在写驱动那么熟?我2009年在华清远见上课时,
每次上课我都要给学生写一次那些驱动,十几次下来闭着眼睛都知道内核的套路了。
记不住那些函数?我也记不住,我都是去参考同类的驱动程序,这又不是闭卷考试。
但是要理清楚思路,你写这个程序要完成什么功能、怎么实现这些功能?这个要弄清楚。
有了思路后再写代码,不知道怎么写?没关系,看看视频,看看示例,然后关闭视频看看能否自己写出来。
3.3 对自己的方向很了解,我只能带你到这里了我的专长是操作系统,是快速地带领大家掌握一些项目开发的基础知识。
如果你决定深入研究某方面时,我并不能带你多久。你要去看源码,去看这方面的专业书籍。
比如想深入钻研内核的内存管理时,它有页表映射(你需要阅读ARM架构的手册)、SLAB分配器、vmalloc/malloc实现、mmap实现、缺页中断、父进程子进程之间的页面管理等等,内容非常多。有时候连书籍都没有,你需要直接啃代码。
当你想从事某个行业时,就需要深入研究行业相关的知识。
比如CAN总线,它可以写成一本书:CAN协议、CAN报文、Socket CAN、车身网络拓扑结构,CAN应用报文,CAN网络管理报文,CAN诊断报文。
想做物联网网关,需要深入研究MQTT,MQTT协议相对简单,但是MQTT英文原版协议有130多页,中文版有近100页,是一本小书了。
每个行业都有自己的业务逻辑,在掌握基本的编程能力之一,你需要结合具体的业务去深入学习。
求攒电脑全流程
你好。
用U盘安装系统
1、制作启动盘。(W7系统4G U盘,XP系统2G U盘)下载老毛桃U盘制作软件,安装软件,启动,按提示制作好启动盘。
2、下载一个你要安装的系统,压缩型系统文件解压(ISO型系统文件直接转到U盘)到你制作好的U盘,启动盘就做好了。
3、用U盘安装系统。插入U盘开机,按DEL或其它键进入BIOS,设置从USB启动-F10-Y-回车。按提示安装系统。
4、安装完成后,拔出U盘,电脑自动重启,点击:从本地硬盘启动电脑,继续安装。
5、安装完成后,重启。开机-进入BIOS-设置电脑从硬盘启动-F10-Y-回车。以后开机就是从硬盘启动了。
6、安装完系统后,用驱动人生更新驱动程序。
参考资料:
工作培训期间记不住产品功能、参数等。
多看几次就差不多记住了
职业培训,也称职业技能培训,是指对准备就业和已经就业的人员,以开发其职业技能为目的而进行的技术业务知识和实际操作能力的教育和训练。职业培训的具体涵义是: 1.职业培训的对象是劳动者。职业培训的对象是劳动法意义上的劳动者。在这里,劳动者是广义的,即包括即将成为工薪劳动者的(人谋求职业的人),也包括已经成为劳动关系一方当事人的劳动者。前者可以是具有劳动能力的人,也可以是尚未具有劳动能力的人(如技工学校的学生)。
2.职业培训的目的是开发受训者的职业技能。职业培训的目的是使受训者获得或提高某个方面的职业技能,而不是培训受训者的文化水平。当然,有些与文化素质教育有联系的职业培训方式(如职业技术学校培训方式),在职业培训的同时也进行高中阶段的文化课程教学,但这只是职业培训与普通教育相结合的事物,并不改变职业培训的目的。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。