linux开发中必学的命令,linux常用命令reboot
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。uboot的通用命令1.a与Linux相似的终端行缓冲命令行线缓冲意味着:当我们输入命令到终端命令行时,这些指令不会立即被系
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。
uboot的通用命令 1.a与Linux相似的终端 行缓冲命令行 线缓冲意味着:当我们输入命令到终端命令行时,这些指令不会立即被系统识别,相反,它被缓存(即系统认为我们还没有进入它),当我们按下返回键时,系统认为我们已经完成输入,然后将缓冲区的所有输入作为分析和处理的命令. 在Linux端口设计中,有三个类型的缓冲机制:没有缓冲,线性缓冲,完全缓冲 一些命令具有简化异名,例如 printenv命令可以简化为 print,例如 setenv可以简化为 set (4)有些命令有参数(注意格式是固定的),每个boot命令都有预定义的格式。有些命令没有参数。例如, printenv/print命令;有些命令有可选参数(可以拖动或不拖动,当然,执行结果是没有参数的,有些命令有必要的参数(例如setenv/set命令)。 (5)使用"help+command name"查询命令的细节,只在输入帮助时打印命令列表。 1.命令中的特殊符号(例如单个引用) (1)一些uboot命令条的参数非常长,为了告诉uboot一个非常长且有大量中间空间的参数是他的整个参数,一个单个参数被用来引起一个非常长且有中间空间的参数。 其他符号也可能存在,并具有特殊意义。当您遇到在boot命令行中的一个特殊符号时,请小心不要弄错,但要有一个特殊意义。 1.有些命令是命令的家族(例如movi) (1)命令家族意味着许多命令都以相同的命令键开始,但后面的参数是不同的,这些命令的函数和功能是不同的。 (2)同一指令家族的所有命令都高度相关,例如从movi开始的命令与moviNand(EMMC,iNand)操作有关。 1.第一项命令: printenv/print (1)打印命令没有参数,该函数是打印系统中的所有环境变量。 (2)环境变量就像程序的全球变量。在程序中的任何地方都可以根据需要调用或更改环境变量(通常是所有调用),环境变量和全球变量之间的区别是:一个全球变量的生命周期是在一个程序运行期间,出生计划结束时死亡,开始运行时死亡,程序的下一个运行从开始开始开始;但环境变量存储在Flash的另一个专门区域(Flash有一个环境变量区),一旦我们在程序中保存了环境变量,然后,环境变量的值将与下一次启动时为最后更改保存的值保持一致。 Uboot的通用指令2 2.1,设置(添加/更改)环境变量: setenv/set 使用:设置名称值 2.2.保存环境变量的变化: saveenv/save saveenv/save命令没有参数,直接执行,该函数是将内存环境变量值同步到Flash中的环境变量段。注:环境变量的保存是整体覆盖物的保存,这意味着所有内存的环境变量将被整个覆盖,在Flash中将环境变量的原始内容分开。 摘要:要完全改变环境变量的值,需要两个步骤: 第一步: 设置命令以更改内存环境变量 第二步: 将它与保存命令同步到Flash中的环境变量的一个分区 。 有时我们只是想测试这个环境变量而不影响下一个启动,所以我们只是设置未保存,这样当前运行的启动会在设置后被激活,下一个启动会恢复到原来的状态,而不保存。 2.网络测试指南:针 g (1)说明使用: ping IP地址 注意: ping是测试开发板与主机之间的网络连接。请注意以下步骤: 1)首先插入互联网线路。 请注意,线路网络卡的地址设置在Windows(设置本地连接)中。设置主机窗口的本地连接IPv4地址为 步骤3确认在开发板上启动中的几个与网络有关的环境变量值是错误的。最重要的是,ipaddr(这个环境变量代表当前开发板的IP地址),它必须与主机窗口的IP地址在同一网络段。 网络分段的概念:IP地址分为两个部分,一部分是网段地址,另一个部分是网络段中的主机地址(分层网 masking以区分哪个部分是网络段地址,该部分是IP地址。如果子网是加密的,本IP地址(192).1.)的头三个部分属于网络分段地址,第4(10)部分属于主机地址。 开发板和主机 ping连接器 3.1,开发板运行Linux和主机Windows pings (1)首先将开发板刷转换为Linux+QT镜子(见裸机刷 Tutorial第3节),然后启动到Linux命令行端口。 (2)在Linux下使用 ifconfig命令将Linux系统在开发板上的IP地址设置到与主机窗口相同的网络段(为类的方便,之后修正:主机窗口地址,开发委员会的地址:boot或Linux,虚拟机ubuntu地址(为) (三)在这个点,开发板最终会 ping 窗口。 (4)在窗口中的 ping 开发板也是可能的。 注意:首先,开发板和主机的网络硬件良好,网络连接良好,主机窗口的网络软件设置良好。 3.开发板在虚拟机上运行Linux和Ubuntu的 ping通 虚拟机的网络卡设置可以通过多种方式配置, 最常见的是NAT和桥接. (2)虚拟机和开发板只能通过桥梁通过网络进行通信。 (三)如想由平通开发虚拟机,请设置以下步骤: 步骤1:虚拟机设置为桥梁。 步骤2:虚拟机菜单中有一个虚拟网络编辑器。这个是为桥梁接收一个有线网络卡而设置的. (默认是自动的,自动化通常影响 ping 。因为计算机现在一般有两个网络卡:一个有线和一个无线。 如果选了自动,因此虚拟机会自动连接到无线网络卡,但是我们通过一个有线网络卡连接到开发板上,自然ping不通) 步骤3:在虚拟机器ubuntu中设置IP地址(可以通过/etc/network/interfaces文件设置静态,然后重新启动;也可以直接设置命令行 ifconfig) 这时开发版的虚拟机器ubuntu应该运行. (5)在虚拟机器ubuntu中的 ping 开发板也是目前可能的。 3.3,开发板在boot和主机Windows pinging下运行 当开发板运行Linux时,主机窗口和虚拟机ubuntu被拨号,表明硬件和连接以及主机设置是正确的。 (2)在此点,开发板重新启动boot,设置ipaddr, gatewayip,然后进入png窗口查明它是否不正常。 (3)然后在同样的案例中尝试拨打虚拟机ubuntu,理论分析不应该有效,事实上发现它有效。 3.开发板在uboot下运行,并 ping到虚拟机ubuntu上 uboot和虚拟机ubuntu互相拨号(前提是虚拟机ubuntu设置为桥,桥接收有线网络卡,IP地址设置正确) 结论:在开发板上运行的uboot是一个小错误, Ping窗口不正常, Ping虚拟机ubuntu不正常。 uboot常规命令3 4.下载tftp的指令:tftp (1)boot本身的主要目标是启动内核,为了完成内核的初始化,必须能够部署内核,为了部署内核,boot需要从主机下载内核镜子,然后将其烧成本地闪光。如何启动从主机(窗口或虚拟机ubuntu)下载镜子到开发板? 有很多种方式,主要方法是:快速启动和tftp。 快速启动方法是通过USB线传输数据. tftp的实现方式是通过一个有线网络。一个典型的方式是通过网络。 (二)在Tftp模式下下载时, uboot实际上扮演Tftp客户端程序的角色,在主窗口或虚拟ubuntu中必须有一个tftp服务器,然后您要下载的镜像文件将放在服务器的下载目录中,然后使用开发板上的uboot tftp命令下载它。 有些人习惯于在窗口中建立Tftp服务器,它通常由一些软件(例如tftpd32,一些人习惯于在Linux下建立tftp服务器,你可以在磁盘上的虚拟机下载目录中参阅教程「集成开发环境建设-基于14」这包含了一个关于如何在ubuntu建立一个tftp服务器的教程,你也可以尝试自己搜索教程。如果你直接使用我的虚拟机,那就已经搭建好了,不要再创建它;如果它是新的,那将是一个参考文档构建;如果它与我的版本不同,则构建过程可能不同) (4)在虚拟机构建时设置的tftp下载目录是/tftpboot,下载的镜子将被复制到这个目录中。 (5)检查开发板上boot的环境变量,注意 serverip必须设置到虚拟机ubuntu的ip地址。 (serverip指主机tftp服务器的ip地址) (六)然后在开发板的boot下先 ping一下虚拟机ubuntu,然后尝试下载: tftp 0x300 zImage-qt(即,在服务器上下载zImage-qt的文件到开发板内存储器的0x300地址。 ) (7)在图像被下载到开发板的DDR后,uboot可以用movi命令烧掉图像。 注意: 如果您在窗口下使用tftp服务器,uboot serverip将设置在窗口下与windwos serverip相同的IP地址(在窗口下设置tftp服务器软件时的一个步骤是允许您设置服务器的IP地址,这个ip地址和主机窗口必须在一个行。 Uboot的通用指令 5.1,SD卡/iN及操作指示 (1)开发板使用SD卡/EMMC/iN和Flash,boot中运行Flash的命令是movi(或mmc) (2) movi命令是一个包含许多子命令的命令集,具体使用可以帮助movi查看它们。 莫维命令是莫维阅读和莫维写的集合,movi读取用于读取iN和 DDR,Movi write是用于在DDR中写入iNand的内容。理解这些指令需要注意两个有关的硬件:iNand和 DDR内存。 (4)movi read {u-boot | kernel} {addr} 这个命令使用通用描述方法来描述: 没有在movi 之外的标签,表示每个使用这个命令是可选的; bracket {} 的一个部分是可选的; bracket 中的垂直表是可选的; middle bracket [] 表示一个可选参数 (五)手册有多种用途,例如, movi读取u-boot 0x300,这意味着在iN中读取u-boot分区到DDR的0x300启动位置。( uboot代码将iNand分成许多分区,每个分区都有其地址范围和分区名称,在boot程序操作中,您可以使用直接地址操作iNand分区,也可以使用分区名称来操作分区。注意,0x300也可以直接写在这里。所有boot命令行中的数字按默认处理为16位。无论你添加0x还是不加0x,都是一样的。 5.nandFlash操作指令 理解方法和操作方法完全类似于Movi指令 5.记忆操作说明:mm,mw,md (1) DDR中没有分离(我只听说了硬盘和闪光分离,我没听说过记忆的分区。但使用记忆时要小心,你不能越过别人的边界。因为boot是一个裸体的计算机程序,与整个系统管理所有内存的操作系统不同,该系统负责分配和管理,系统将确保内存不会超出限度.然后在裸机程序上,boot不管理所有的内存,记忆是一个离散的工具,因此,如果程序员(使用uboot)不注意自己,那么他可能掩盖自己的数据。(所以你想知道为什么我们把 uboot放在23E00地址上) (2)md是用于显示内存内容的内存显示器。 mw是写内容到记忆的内存书 修改存储器是修改存储器的一部分,无论是写还是写(如果需要修改每个批量存储器的单位,最好使用mm) 5.启动内核命令:bootm,go (1)boot的最终目标是启动内核,内核在boot中被表示为命令,并且在boot命令行中调用将启动内核(因此这个命令是死线,不管成功还是失败)。 (2)差异:bootm启动内核并同时发送到内核,Go命令不会通过内核启动。bootm实际上是普通的启动内核命令,这是常用的;“去”命令不是专门用来启动内核的,内部的“去”命令实际上是一个函数指向存储地址,然后直接调用该函数。执行命令的本质是PC直接跳到一个运行的内存地址。该命令可以用于执行任何裸程序在boot中(有一个方法去调试裸程序是先启动boot,然后在boot中下载裸机程序,使用“去”命令执行裸机程序) uboot1的通用环境变量 (英译汉)如何使环境变量参与程序的运行 (一)有两个环境变量,闪电中一个,另一份在DDR中。Uboot将从Flash到DDR的所有环境变量读取为启动时环境变量的初始值,然后在 DDR 中使用这个,用户可以使用saveenv命令在Flash中重写DDR中的环境变量来更新Flash中的环境变量。下次打开它, 你就会从Flash上读一遍. (二)环境变量在boot中的字符串中被表示,即boot根据字符的匹配区分了各种环境变量。所以当使用时,请小心不要打错字。 1.自动运行计数时间:启动延迟 网络设置:ipaddr serverip (1)ipaddr是开发局的本地IP地址 (2)serverip是developerboard通过tftp命令下载到tftp服务器时的tftp服务器的IP地址。 门户是开发局的本地门户地址 (四)网络面具是一个子网面具 (5)ethaddr是开发板上的本地网络卡的MAC地址。 Uboot的通用环境变量2 7.1.自动运行命令设置:bootcmd (1)启动后自动计数启动延迟秒,如果没有人按重新启动按钮来中断启动,boot将自动执行启动命令启动内核。 当uboot启动器自动启动时,它实际上执行了一个与环境变量bootcmd的值相符的指令集: bootcmd=movi读取内核300800; bootm 300800 意思是: 读取iN的内核分区到 DDR内存的0x300800地址,并使用bootm从0x300800内存启动内核。 (3)设置 bootcmd printenv,然后 saveenv;然后重新启动,查看 printenv命令打印环境变量在重新启动后自动执行。 (4)设置 bootcmd环境变量:设置 bootcmd'movi读取内核300800; bootm 300800' 7.2,boot到内核:bootargs (1)在Linux内核启动时,可以接收boot发送的启动参数,这些启动参数是uboot和内核商定的格式和内容,在这些启动参数的指导下,Linux内核完成启动过程。这种设计设计具有灵活性,内核可以以不同的方式启动,而不需重新编译。 (2)我们需要做的是:在boot环境变量中设置bootargs,bootm命令在启动内核时将自动传递bootargs到内核。 (3)环境变量 bootargs=console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3 意义解释: console=ttySAC2,115200 控制面板使用串行端口2,频率为115200。 root=/dev/mmcblk0p2 rw root文件系统可以在SD卡端口0设备(iNand)的第二分区中读取和写入。 init=/linuxrc linux进程的路径1(init进程) rootfstype=ext3 根文件系统类型是ext3 (4)核内部传输非常重要。在核移植过程中,新来者往往忘记将核传递给核,或者对核传递的参数不正确,导致核无法启动。 7.创建、修改和删除环境变量的方法 (一)使用set var值创建一个新的环境变量 (二)使用集合var值更改环境变量 (三)用setvar删除环境变量 注意:在环境变量完成后必须保存更改,否则将丢失下一个启动器的更改。 在boot中管理Flash和DDR 8.boot阶段闪光的分离 (1)所谓的分区是Flash中的块管理。 (二)在PC机器等产品中,因为每个人都在操作系统下使用硬盘,整个硬盘由操作系统管理。操作系统将使用文件系统来帮助我们管理磁盘空间。(管理确保文件不会重叠)因此用户不必对分区问题太担心。 在boot中没有操作系统,所以我们必须事先使用分区定义来管理Flash(相当于硬盘)(事实上,在boot和内核都有分区表,分区表是系统移植时Flash的整体管理分配方法. 有了这个界定后,当我们部署一个系统时,我们按照划分方法部署它,Uboot和内核软件也根据这个分区工作,就不会错。 (四)分离方法不确定,不固定,而且可以改变。然而,在移植中,必须在死亡前设计好,通常是在设计系统移植时做。标准是: uboot: uboot必须从Flash启动地址开始储存(可能为0,也许是扇区1,也许是其他,取决于SOC的启动设计),uboot分区的大小必须确保 uboot一定被删除,一般设计为512KB或1MB(因为通常的boot绝对低于512KB,事实上,你也可以为那些更大的人工作。但是浪费); 环境变量:环境变量存储在通常连接到boot的分区中,其大小为32KB或以上。 内核:内核可以粘贴到环境变量存储器,通常是3MB或5MB以上。 rootfs: ······ 其余部分是自由分区,通常在 kernel 启动时使用,并被上传到 rootfs 总 则 : 一般 规则 如下 : 每个分区是相互连接的,第一分区的结尾是第二分区的开始。 整个闪光从头到尾都充分利用它. (三)boot必须在Flash上启动,其他分区的相对位置是变的。 (4)分区的大小由系统移植工程师自己决定,通常是适当的大小(不太小,不太小以容易溢出;不太大,不太多以浪费空间) (五)在系统移植之前,要确定分区,在boot和内核中使用相同的分区表。在将来部署系统时,系统代码中的分区方法必须是相同的。 8.boot阶段 DDR的 विभाजन (一) DDR 和 Flash 之间 的 区别 主要 是 因为 Flash 是 无价 的, DDR 是 无价 的, 所以 可以 说, 只有 当 系统 开始 部署 时 才 使用 DDR 。 存储区分主要是在Linux内核启动前进行的,在Linux内核启动后,内核的存储管理模块接管了整个存储空间,然后我们不需要处理它。 注意,对内存分区的关键是内存的哪个部分被用来分配好,为了避免使用相同的记忆来进行不同的功能,使彼此相互走动。例如,如果我们 tftp 0x23E00 zImage下载zImage到0x23E00的内存,它将是错误的,因为这个记忆实际上是uboot的镜子。这会使下载的zImage在内存中删除boot。 本文转载: (129个消息)为什么有uboot?_embedded Linux,博客-CSDN博客 https://blog.csdn.net/weiqifa0/article/details/102381430XTw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com
相关推荐
-
jdk环境变量配置win7,windows7pe系统
2024-07-16 12:49:49 -
windows11jdk下载,jdk安装教程及环境变量配置win10
2024-07-13 15:37:31 -
windows系统安装软件,windows系统安装linux虚拟机
2024-07-13 14:13:44 -
linux开发中必学的命令,linux常用命令reboot
2024-07-13 13:35:18 -
windows配置adb环境,windows配置界面无法进入系统
2024-07-13 12:49:01 -
windows10环境变量存储在哪儿的,windows10环境组件
2024-07-13 12:26:53