1、ARM微处理器有7种工作模式,它们分为两类非特权模式、特权模式。其中用户模式属于非特权模式
2、ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM 、Thumb,状态寄存器CPSR的T 位反映了处理器运行不同指令的当前状态
3、ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15 寄存器用于存储PC,R13通常用来存储SP 。ARM处理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼,数据和指令分开使用不同接口的是哈佛结构
4、ARM微处理器复位后,PC的地址通常是0x0 ,初始的工作模式是Supervisor 。
5、ARM微处理器支持虚拟内存,它是通过系统控制协处理器CP15 和MMU(存储管理部件)来进行虚拟内存的存储和管理。当系统发生数据异常和指令领取异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。
6、编译链接代码时,有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是大端对齐。
7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU工具链,ARM公司提供的工具链是ADS工具链计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于RISC类型,其指令长度是定长的
8、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
9、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?
答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。
10、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?
答:RS-232,以太网口、并口在Windows主机上使用超级终端软件,在Linux主机上使用Minicom软件
11、嵌入式开发环境主要包括哪些组件?
嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括
●目标机(评估电路板)
●基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE
●运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境
12、在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:
这四个参数通过什么方式从调用程序传入被调函数?
根据A TPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入,arg2, 通过R1传入,arg3通过R2传入,arg4通过R3传入
13、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。
一、经典的启动——“启动”文件夹
单击“开始→程序”,你会发现一个“启动”菜单,这就是最经典的Windows启动位置,右击“启动”菜单选择“打开”即可将其打开,如所示,其中的程序和快捷方式都会在系统启动时自动运行。最常见的启动位置如下:当前用户: 所有用户:
二、有名的启动——注册表启动项
注册表是启动程序藏身之处最多的地方,主要有以下几项:
Run键是病毒最青睐的自启动之所,该键位置是[HKEY_CURRENT_
输入msinfo32
回车即可看到下面这些详细信息了【很有用,可以查看系统是不是EFI,装系统的时候还是看下为好】
输入systeminfo
回车即可看到下面这些详细信息了
shutdown /参数
—— 关闭或重启本地或远程主机。
参数说明:/S
关闭主机,/R
重启主机,/T
数字 设定延时的时间,范围0~180
秒之间,/A
取消开机,/M //IP
指定的远程主机。
我们可以把上面的命令以bat脚本的方式执行,我们可以把关机或重启的命令放在一个文档里面,以bat脚本形式放在桌面,需要的时候直接双击就可以执行(关机,重启),很方便。
CMD命令打开方式:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本)
查看某个命令的参数等帮助信息,直接在cmd面板,命令后面加上 /?
即可
因为下面内容过于多,如果你想获取啥功能快捷键,直接按:Ctrl+f ,打开搜索栏,输入关键字就可以了。
-g 取消全局文件名。 help [命令] 或 ?[命令] 查看命令说明 pwd 列出当前远端主机目录 put 或 send 本地文件名 [上传到主机上的文件名] 将本地一个文件传送至远端主机中 get 或 recv [远程主机文件名] [下载到本地后的文件名] 从远端主机中传送至本地主机中 mput local-files 将本地主机中一批文件传送至远端主机 ascii 设定以ASCII方式传送文件(缺省值) bin 或 image 设定以二进制方式传送文件 bell 每完成一次文件传送,报警提示 cdup 返回上一级目录 close 中断与远程服务器的ftp会话(与open对应) delete 删除远端主机中的文件 system 显示远端主机系统类型 prompt 交互提示模式 lcd 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录 chmod 改变远端主机的文件权限 case 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母 cdup 进入远程主机目录的父目录 mysql -h主机地址 -u用户名 -p密码 连接MYSQL;如果刚安装好MYSQL,超级用户root是没有密码的。 注:u与root可以不用加空格,其它也一样) grant select on 数据库.* to 用户名@登录主机 identified by "密码"; 增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符) show databases; 显示数据库列表。刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。 describe 表名; 显示数据表的结构 win2003系统下新增命令(实用部份): shutdown /参数 关闭或重启本地或远程主机。 参数说明:/S 关闭主机,/R 重启主机, /T 数字 设定延时的时间,范围0~180秒之间, /A取消开机,/M //IP 指定的远程主机。 taskill /参数 进程名或进程的pid 终止一个或多个任务和进程。 参数说明:/PID 要终止进程的pid,可用tasklist命令获得各进程的pid,/IM 要终止的进程的进程名,/F 强制终止进程,/T 终止指定的进程及他所启动的子进程。 tasklist 显示当前运行在本地和远程主机上的进程、服务、服务各进程的进程标识符(PID)。 参数说明:/M 列出当前进程加载的dll文件,/SVC 显示出每个进程对应的服务,无参数时就只列出当前的进程。 Linux系统下基本命令 注:要区分大小写 dir 显示当前目录文件,ls -al 显示包括隐藏文件(同win2K的 dir) pwd 查询当前所在的目录位置 cd cd ..回到上一层目录,注意cd 与..之间有空格。cd /返回到根目录。 cat 文件名 查看文件内容 more 文件名 以一页一页的方式显示一个文本文件。 rm 文件名 删除文件,rm -a 目录名删除目录及子目录 mkdir 目录名 建立目录 rmdir 删除子目录,目录内没有文档。 chmod 设定档案或目录的存取权限 grep 在档案中查找字符串 diff 档案文件比较 find 档案搜寻 date 现在的日期、时间 who 查询目前和你使用同一台机器的人以及Login时间地点 w 查询目前上机者的详细资料 whoami 查看自己的帐号名称 history 查看自己下过的命令 ps 显示进程状态 kill 停止某进程 gcc 黑客通常用它来编译C语言写的文件 su 权限转换为指定使用者 1:for命令及变量 基本格式 批处理每次能处理的变量从%0—%9共10个,其中%0默认给批处理文件名使用,%1默认为使用此批处理时输入的的第一个值,同理:%2—%9指输入的第2-9个值;例:net use ipipc$ pass /user:user 中ip为%1,pass为%2 ,user为%3 command:指定对第个文件执行的命令,如:net use命令;如要执行多个命令时,命令这间加:& 来隔开 参数:/L 指用增量形式{ (set)为增量形式时 };/F 指从文件中不断取值,直到取完为止{ (set)为文件时,如(d:pass.txt)时 }。 /L指用增量形式(即从1-254或254-1);输入的IP前面三位:*.*.*为批处理默认的 %1;%%G 为变量(ip的最后一位);& 用来隔开echo 和net use 这二个命令;| 指建立了ipc$后,在结果中用find查看是否有"命令成功完成"信息;%1.%%G 为完整的IP地址;(1 1 254) 指起始值,增长量,结止值。 存为:ok.exe 说明:输入一个IP后,用字典文件d:pass.dic来暴解d:user.dic中的用户密码,直到文件中值取完为止。%%i为用户名;%1为输入的IP地址(默认)。 2:if命令及变量 基本格式 IF [not] errorlevel 数字 命令语句 如果程序运行最后返回一个等于或大于指定数字的退出编码,指定条件为“真”。 例:IF errorlevel 0 命令 指程序执行后返回的值为0时,就值行后面的命令;IF not errorlevel 1 命令指程序执行最后返回的值不等于1,就执行后面的命令。 0 指发现并成功执行(真);1 指没有发现、没执行(假)。 IF [not] 字符串1==字符串2 命令语句 如果指定的文本字符串匹配(即:字符串1 等于 字符串2),就执行后面的命令。 例:“if "%2%"=="4" goto start”指:如果输入的第二个变量为4时,执行后面的命令(注意:调用变量时就%变量名%并加" ") IF [not] exist 文件名 命令语句 如果指定的文件名存在,就执行后面的命令。 注:系统外部命令(均需下载相关工具) 瑞士军刀:nc.exe -h 查看帮助信息 -e prog程序重定向,一但连接就执行[危险] -l 监听模式,用于入站连接 -L 监听模式,连接天闭后仍然继续监听,直到CTR+C -n IP地址,不能用域名 -p[空格]端口 本地端口号 -r 随机本地及远程端口 -v 详细输出,用-vv将更详细 -z 将输入,输出关掉(用于扫锚时) nc -L -p 80 作为蜜罐用1:开启并不停地监听80端口,直到CTR+C为止 本机上用:nc -l -p 本机端口 本机上用:nc -d -l -p 本机端口 < 要传送的文件路径及名称 在对方主机上用:nc -vv 本机IP 本机端口 > 存放文件的路径及名称 传送文件到对方主机 -active 检测主机是否存活 -os 检测远程操作系统类型(通过NETBIOS和SNMP协议) -port 检测常用服务的端口状态 -pub 检测FTP服务匿名用户写权限 -iis 检测IIS编码/解码漏洞 -all 检测以上所有项目 -i 适配器编号 设置网络适配器, <适配器编号>可通过"-l"参数获取 -l 显示所有网络适配器 -v 显示详细扫描进度 -p 跳过没有响应的主机 -o 跳过没有检测到开放端口的主机 -t 并发线程数量,并发主机数量 指定最大并发线程数量和并发主机数量, 默认数量为100,10 -log 文件名 指定扫描报告文件名 (后缀为:TXT或HTML格式的文件) xscan -file hostlist.txt -port -cgi -t 200,5 -v -o 检测“hostlist.txt”文件中列出的所有主机的标准端口状态,CGI漏洞,最大并发线程数量为200,同一时刻最多检测5台主机,显示详细检测进度,跳过没有检测到开放端口的主机 -pass 过滤密码信息 -host 解析主机名 -port 端口 过滤端口 -log 文件名 将输出保存到文件 -hex 以16进制形式输出 -h 显示使用帮助 -v 显示版本信息 -s 在屏幕上打出解密能力 -b 密码错误时发出的声音 -t 同是发出多个连接(多线程) -f 使用-f后面的密码 -F 间隔时间(频率) -l 使用-l后面的用户名 -w 使用-w后面的密码字典 -p 使用-p后面的密码 fpipe.exe (TCP端口重定向工具) 在第二篇中有详细说明(端口重定向绕过防火墙) Fpipe -l 23 -s 88 -r 23 目标IP 把本机向目标IP发送的23端口Telnet请求经端口重定向后,就通过88端口发送到目标IP的23端口。(与目标IP建立Telnet时本机就用的88端口与其相连接)然后:直接Telnet 127.0.0.1(本机IP)就连接到目标IP的23端口了。 opentelnet.exe IP 帐号 密码 ntlm认证方式 Telnet端口 (不需要上传ntlm.exe破坏微软的身份验证方式)直接远程开启对方的telnet服务后,就可用telnet ip 连接上对方。 NTLM认证方式:0:不使用NTLM身份验证;1:先尝试NTLM身份验证,如果失败,再使用用户名和密码;2:只使用NTLM身份验证。 resumetelnet.exe IP 帐号 密码 用Telnet连接完对方后,就用这个命令将对方的Telnet设置还原,并同时关闭Telnet服务。 FTP命令是Internet用户使用最频繁的命令之一,熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。 FTP的命令行格式为: -v 显示远程服务器的所有响应信息 -n 限制ftp的自动登录,即不使用;.n etrc文件; -d 使用调试方式; -g 取消全局文件名。版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。