已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式Linux:一、单选 10*2 (1)linux常见命令:常用指令ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent)pwd 显示当前路径ln 创建链接文件cd 切换目录touch 创建空文件echo 创建带有内容的文件。(回显一个字符串或环境变量到屏幕)cat 查看文件内容cp 拷贝mv 移动或重命名rm 删除文件 -r 递归删除,可删除子目录及文件 -f 强制删除find 在文件系统中搜索某文件grep 在文本文件中查找某个字符串(查找文件内容)tar: 打包压缩 -c 归档文件 -x 压缩文件 -z gzip压缩文件 -j bzip2压缩文件 -v 显示压缩或解压缩过程 v(view) -f 使用档名vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。命令模式下::q 退出:q! 强制退出:wq 保存并退出:set number 显示行号:set nonumber 隐藏行号useradd 用户名userdel 用户名adduser 用户名groupadd 组名groupdel 组名passwd root 给root设置密码 (2)创建节点文件mknod -m 666 device_name(可以写路径) 设备选项(c:字符设备 b:块设备) 主设备号 次设备号 (3)下载内核的地址(根据内核映像文件的大小动态手工的修改地址)二、多选 18(1)驱动入口出口(2)配置函数(3)哪个是busybox支持的功能(busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小.我们平时用的那些linux命令就好比是分立式的电子元件,而busybox就好比是一个集成电路,把常用的工具和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小很多倍,)(4)嵌入式开发流程题三、5*6 Bootloader(1)超级终端 mini-com:Linux下的Minicom的功能与Windows下的超级终端功能相似,可以通过串口控制外部的硬件设备.适于在linux通过超级终端对嵌入式设备行管理.同样也可以使用minicom对外置Modem或者其他硬件设备进行控制.minicom -s 启动 CTRL+A,然后按Z,启动串口命令界面,按S键,选择zmodem传输方式;按回车(2)启动参数boot parameters (3)假如修改成nfs来启动文件系统 应该修改哪些参数内核支持NFS分区(即编译时在File system中选中* Root file system on NFS), 以及支持内核IP_PNP(即编译时在Networking中选中* IP: kernel level autoconfiguration)File systems - Network File Systems - NFS file system support # 必选* Provide NFSv3 client support # 可选* Root file system on NFS # 必选Networking - * Networking support Networking options - * IP: kernel level autoconfiguration # 必选需要打开IP:Kernel level autoconfiguration以及下面所有的选项包括DHCP, BOOTP, RARP,而且NFS Client Support不能是模块,必须编译进内核进入bootoption 选项(也可以修改.config)添加如下参数console=ttyS0 root=/dev/nfs nfsroot=1:/home/bz/nfsd ip=2:1::::eth0:off其中那个IP参数的意思是:板子的地址:主机的地址:网关:子网掩码:主机名:网卡:off主机名意义不大,重要的是板子的ip地址,和主机的地址一定要在同一网段。接着在bootloader中设置ip地址为以上的板子ip。:四、bootloader调试题16(1)解释bootloader的命令/Bootloader的常见命令:help查看相应Bootloader命令的信息load把存放在Flash中的映像文件拷贝到SDRAM中BootP(重要)获取主机发送的BootP数据包,解析其数据包,获取本机的IP地址TFTP(重要)通过以太网下载主机的数据或文件到目标平台上flash(重要)把SDRAM中的数据烧录到Flash中的特定区域boot在SDRAM中运行kernel,通过参数中指定的地址运行kernelerase擦除Flash中的相应区域set(重要)设置IP地址,MAC地址以及autoboot参数ping(重要)检查目标平台和主机平台的网络连接reboot软件复位(2)嵌入式系统搭建过程中,对于系统平台搭建工程师最初的一步通常是移植Bootloader,当然移植有几个级别,通常最常见的是参考的EVM的硬件有了修改(如更改了FLASH ,更改了SDRAM 、DDR SDRAM 等),并且是初次调试硬件,更大的困难是公司为节省成本不打算买上万的VM开发板,或者EVM 开发板需要license 才能购买,这时移植Bootloader 是比较难做的,不过也不是没有方法,最有效的有两个-点灯和串口打印 。Bootloader 调试技术- 点灯 当烧写好Bootloader,启动Bootloader,肯定是从一个固定的地址开始执行程序,最初的程序是从FLASH中读取执行的,有些处理器是直接使用FLASH地址,有些会映射到FLASH 地址,此时SDRAM可以认为没用到,如何确认程序有没有直接执行,通常用点灯来验证,在Bootloader 入口代码段尽量靠前初添加点灯代码(使用GPIO 控制),跟踪代码的执行,如果确认点灯代码没问题,程序没执行,那可能是启动地址没有指向FLASH地址,硬件晶振没起振,硬件IC电源供电问题,硬件IC引脚接地问题,CPU 配置字问题(如启动模式),CPLD 时序调节问题等等,当所有的问题排查和解决之后,点灯成功是种必然。Bootloader 调试技术- 串口打印 点灯成功之后就可以对重要的配置参数跟踪调试,比较重要的是程序跳转到SDRAM执行(重点是SDRAM时序参数和clk 配置正确) ,而后就需要打通串口,打通串口需要对UART参数进行正确配置,测试用输出字符函数(这里可没printf()函数可用),通常点灯成功之后打通串口相对容易,这里重点是使用串口调试程序,在printf() 函数可用之前使用低级别的串口输出函数实现程序的跟踪调试(通常是调试汇编代码),在printf()函数可用之后使用printf()调试代码。五、简答题 tftp出错时 会给出一些提示信息,怎么解决(下载内核kernel或者文件系统file system时发生的问题)1、timed out:可能是由于目标平台ip与主机平台配置的ip不一致或者是两者之间网线没有连接造成的(1)修改目标平台的ip使其与主机平台设置的目的ip一样,在主机平台下通过ping命令检查目标平台和主机平台是否正常连接 (2)修改主机平台的ip使其与目标平台设置的目的ip一样,在主机平台下通过ping命令检查目标平台和主机平台是否正常连接 (3)插上网线,在主机平台下通过ping命令检查目标平台和主机平台是否正常连接 2、file not found:有可能是文件名不一致,或者是文件并不存在于目标服务器所对应的目录下(1)修改文件名,使得目标平台和主机平台对应的映像文件名一样(2)将对应的映像文件放在服务器所配置的目录下3、file is too big:这个问题是由于自身制作的内核或者文件系统映像文件的大小比Bootloader设置的对应地址空间大造成的(1)裁剪掉不需要的功能使得映像文件本身大小在Bootloader所设置的地址空间范围内(2)修改Bootloader设置的地址空间配置,使之能容纳你所制作的映像文件4、六、驱动题(1)遵循GNU规范(2)用户进程是通过设备文件同硬件打交道的,对设备文件操作不外乎就是一些系统调用,那么如何将系统调用和驱动程序关联起来呢?就是每种设备,都有对应的统一文件接口,比如说字符设备是struct file_operations 块设备是block_file_operations等static struct file_operationsseek,read,/write,/readdir,select,ioctrl,/open,/realse,close,/是字符设备常见的,每一个成员都对应了一个系统调用,用户进程利用系统调用在对设备文件(使用mknod建立的文件)进行诸如read/write的操作时,系统调用通过设备文件的主设备号找到对应种类的驱动程序,在根据次设备号找到具体设备的设备驱动(主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备),然后读取这个数据节后相应的函数指针,接着将控制权此函数(在这个函数中,可能处理用户传过来的数据,需要注意的是,用户空间和内核空间之前的数据是完全分开的,也就是说两部分之间的地址是分开的,对于这两部分的数据通信,都有相应的内核函数来处理,诸如copy_to_user等),这就是linux设备驱动的原理(2)驱动的入口和出口:module_init(Led_init);module_exit(Led_exit);(3)编写驱动程序的主要工作在用户编写这些子函数,并填写这个结构体,同时makefile的修改或者书写(4)驱动程序的编译:分为静态加载和动态加载,也就是直接编译进内核和模块加载方式静态加载:kernel的文件大小增加,会改动内核源代码文件,不能动态的卸载,不利于调试动态加载:使用insmod进行动态的加载,用dmesg或lsmod命令检查一下模块加载是否成功,在不使用的时候可以rmnod来动态卸载?linux常见命令:ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent)pwd 显示当前目录ln 创建链接文件cd 切换目录touch 创建空文件echo 创建带有内容的文件。cat 查看文件内容cp 拷贝mv 移动或重命名rm 删除文件 -r 递归删除,可删除子目录及文件 -f 强制删除find 在文件系统中搜索某文件grep 在文本文件中查找某个字符串tar: 打包压缩 -c 归档文件 -x 压缩文件 -z gzip压缩文件 -j bzip2压缩文件 -v 显示压缩或解压缩过程 v(view) -f 使用档名vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。命令模式下::q 退出:q! 强制退出:wq 保存并退出:set number 显示行号:set nonumber 隐藏行号useradd 用户名userdel 用户名adduser 用户名groupadd 组名groupdel 组名passwd root 给root设置密码/wc 统计文本中行数、字数、字符数/rmdir 删除空目录/tree 树形结构显示目录,需要安装tree包/more、less 分页显示文本文件内容/head、tail 显示文件头、尾内容/ctrl+alt+F1 命令行全屏模式系统管理命令stat 显示指定文件的详细信息,比ls更详细who 显示在线登陆用户whoami 显示当前操作用户hostname 显示主机名uname 显示系统信息top 动态显示当前耗费资源最多进程信息ps 显示瞬间进程状态 ps -auxdu 查看目录大小 du -h /home带有单位显示目录信息df 查看磁盘大小 df -h 带有单位显示磁盘信息ifconfig 查看网络情况ping 测试网络连通netstat 显示网络状态信息man 命令不会用了,找男人 如:man lsclear 清屏alias 对命令重命名 如:alias showmeit=ps -aux ,另外解除使用unaliax showmeitkill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。打包压缩相关命令gzip:bzip2:tar: 打包压缩 -c 归档文件 -x 压缩文件 -z gzip压缩文件 -j bzip2压缩文件 -v 显示压缩或解压缩过程 v(view) -f 使用档名例:tar -cvf /home/abc.tar /home/abc 只打包,不压缩tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。关机/重启机器shutdown -r 关机重启 -h 关机不重启 now 立刻关机halt 关机reboot 重启Linux管道将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。例:grep -r close /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。Linux软件包管理dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件sudo dpkg -r tree 卸载软件注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。依然以tree为例sudo apt-get install tree 安装treesudo apt-get remove tree 卸载treesudo apt-get update 更新软件sudo apt-get upgrade 将.rpm文件转为.deb文件.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。sudo alien abc.rpmvim使用vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。命令模式下::q 退出:q! 强制退出:wq 保存并退出:set number 显示行号:set nonumber 隐藏行号/apache 在文档中查找apache 按n跳到下一个,shift+n上一个yyp 复制光标所在行,并粘贴h(左移一个字符)、j(下一行)、k(上一行)、l(右移一个字符)用户及用户组管理/etc/passwd 存储用户账号/etc/group 存储组账号/etc/shadow 存储用户账号的密码/etc/gshadow 存储用户组账号的密码useradd 用户名userdel 用户名adduser 用户名groupadd 组名groupdel 组名passwd root 给root设置密码su rootsu - root /etc/profile 系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州安顺镇宁县总工会招聘工会社会工作者2人历年真题汇编带答案解析
- 2026中央纪委国家监委机关直属单位招聘24人模拟试卷带答案解析
- 2026陕西省面向北京师范大学招录选调生历年真题汇编带答案解析
- 2025山东菏泽市公安局招录警务辅助人员心理素质测评备考题库附答案解析
- 2025重庆三峡学院招聘4人参考题库附答案解析
- 中国水利水电第四工程局招聘模拟试卷附答案解析
- 甘孜州人民政府国防动员办公室关于2025年公开选调事业单位工作人员历年真题库带答案解析
- 2025四川宜宾市高县事业单位下半年考核招聘工作人员37人备考题库附答案解析
- 贵州国企招聘:2025贵州省盘州市物资贸易总公司招聘历年真题汇编带答案解析
- 安远县2025年公开遴选乡镇敬老院院长参考题库带答案解析
- 尿管集束化护理实施规范
- 村支书新年工作报告
- 水利水电工程建设征地移民补偿估算与预算编制规范解读
- 税收返还合同协议书范本
- 交通事故和解协议书范文与交通事故和解协议书范本7篇
- 香港合作合同范本格式
- 胚胎着床失败的原因及应对策略:了解失败原因制定应对策略
- 软组织肿瘤的护理
- 《喜看稻菽千重浪》《心有一团火温暖众人心》《“探界者”钟扬》课件高中语文必修上册
- 2025年9月社区居委会实习总结模版(三篇)
- 广州市智能网联汽车创新实践年度报告(2024年)
评论
0/150
提交评论