Linux学习笔记
文章平均质量分 84
嵌入式@hxydj
这个作者很懒,什么都没留下…
展开
-
Linux学习笔记---linux开发板常用环境变量设置
目录通过NFS挂在根文件系统设置从EMMC启动设置通过tftp 挂载设置IP地址相关创建自己的run命令通过NFS挂在根文件系统将镜像文件和设备树存在在Ubuntu系统中的rootfs目录下,然后通过网络在rootfs目录中下载文件。格式如下:root=/dev/nfs nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>] ip=<client-ip>:<server-ip&原创 2021-05-27 17:35:54 · 595 阅读 · 0 评论 -
将MfgTool工具改造为自己的烧写工具
以前通过MfgTool工具烧写,都是讲自己的文件名改成和官方要求的烧写文件名。这样虽然能烧写,但是终于不是真正意义上自己的烧写。那么能不能将MfgTool工具改造为烧写自己的文件名呢?当然是可以的,下面就开始将MfgTool工具改造为真正属于自己的烧写工具。目录给自己的烧写文件命名新建vbs脚本添加自己的烧写文件删除无关文件开始烧写设置网络相关环境变量设置环境变量bootcmd 和 bootargs源码中直接修改设备树名称设置环境变量手动配置网卡设置..原创 2021-05-25 09:13:24 · 992 阅读 · 0 评论 -
Linux学习笔记---记一次rootfs根文件系统下载时掉进的大坑
俗话说要想技术好,踩坑少不了。技术的好坏和踩坑的多少基本是成正比的。这次就大大的提升了一次技术(大大的踩了一次坑)。废话少说,直奔主题。 最近入手了一块正点原子的IMX6ULL开发板,跟着视频教程和开发指南一步步学习。虽然小坑不少,但是也基本顺利。大多数都是手误把命令敲错了。不过这两天在使用MfgTool工具烧写自己的系统时踩到了一个大坑,整整折腾了一天半才找到原因。特此记录一下。跟着文档一步步从uboot 到设备树到Linux内核移植,最后到根文件系统移植,都比较顺利...原创 2021-05-21 16:35:52 · 1485 阅读 · 0 评论 -
Linux学习笔记---使用MfgTool工具烧写自己的系统(二)
目录准备文件重命名文件替换firmware文件夹中的文件替换files文件夹中的文件修改cfg.ini配置文件烧写系统启动系统设置网络相关环境变量设置环境变量bootcmd 和 bootargs配置网络参数设置开机自动配置网络上一节中已经用MfgTool工具成功的烧写了NXP官方的系统,下面就按照同样的方法将官方的系统替换为自己的系统。如果要烧写我们的系统,就需要用我们编译出来的 zImage、u-boot.imx 和 imx6ull-alientek-e原创 2021-05-21 14:21:22 · 1269 阅读 · 0 评论 -
Linux学习笔记---使用MfgTool工具烧写官方系统(一)
目录MfgTool工具简单介绍软件烧写原理分析1 、firmeare 文件夹2 、files 文件夹3 、ucl2.xml 文件烧写步骤1.连接USB线2.开发板设置为USB模式3.开发板上电4.打开烧写软件5.开始烧写MfgTool工具简单介绍MfgTool 工具是 NXP 提供的专门用于给 I.MX 系列 CPU 烧写系统的软件,可以在 NXP 官网下载到。下载后解压 ...原创 2021-05-21 14:02:11 · 10452 阅读 · 1 评论 -
Linux学习笔记---使用BusyBox创建根文件系统(四)
软件运行测试进入到rootfs文件夹中新建一个drivers文件夹,用于存放编写的软件。新建hello.c文件输入以下代码保存退出这段代码需要在开发板上运行,也就是要在ARM架构上运行,所以需要使用交叉编译器去编译。使用arm-linux-gnueabihf-gcc 编译来编译。输入命令:arm-linux-gnueabihf-gcc hello.c -o hello使用“file”命令查看文件类型以及编码格式从上面的内容...原创 2021-04-30 17:12:57 · 374 阅读 · 2 评论 -
Linux学习笔记---使用BusyBox创建根文件系统(三)
目录创建/etc/init.d/rcS 文件创建/etc/fstab 文件创建/etc/inittab 文件创建/etc/init.d/rcS 文件通过nfs加载根文件系统成功后,在串口终端上有一个提示,不能打开'/etc/init.d/rcS'文件因为现在还没有创建这个文件呢,所以系统提示不能打开。现在就要手动去创建这个文件在rootfs文件夹中创建etc文件夹,然后在etc文件夹里面继续创建init.d文件夹,然后在init.d文件夹中常见 rcS文件..原创 2021-04-30 13:17:07 · 568 阅读 · 0 评论 -
Linux学习笔记---使用BusyBox创建根文件系统(二)
目录向 rootfs 的“/lib ”目录添加库文件向 rootfs 的usr/lib 目录添加库文件创建其他文件夹根文件系统初步测试向 rootfs 的“/lib ”目录添加库文件接下来就可以向根文件系统添加 lib库了在Ubuntu系统中在rootfs文件夹中新建一个lib文件夹接下来进入到gcc编译器中libc/lib文件夹中路径为 /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-lin...原创 2021-04-30 09:22:21 · 542 阅读 · 0 评论 -
Linux学习笔记---使用BusyBox创建根文件系统(一)
下载BusyBoxBusyBox 可以在其官网下载到,官网地址为:https://busybox.net打开官网后直接点击左边的Download Source按钮下载接下来在Ubuntu系统中创建一个文件夹用于存放根文件系统在linux/nfs目录中创建rootfs文件夹,以后生成的根文件系统就存放在在这个文件夹中,然后linux开发板启动时通过网络从这个目录中下载根文件系统。接下来在linux/IMX6ULL文件夹中创建一个tool文件夹,用于存放下载好的...原创 2021-04-29 15:36:00 · 718 阅读 · 0 评论 -
Linux学习笔记---修改CPU频率为自动调节模式
开发板默认的CPU频率模式为最高性能,这样的话CPU就会一直以最高频率运行,芯片摸起来比较热,为了降低CPU的功耗,需要将CPU的调频策略设置为根据负载自动调节。这里通过图形化配置界面来修改。在Ubuntu系统中,进入自己的lin文件夹中,使用make menuconfig 命令打开图形化配置界面。依次进入CPU Power Management -> CPU Frequency scaling -> Default CPUFreq governor...原创 2021-04-29 10:58:04 · 1923 阅读 · 0 评论 -
Linux学习笔记---移植官方linux步骤(二)
修改网络驱动修改 LAN8720 的复位 以及网络时钟 引脚驱动ENET1 复位引脚 ENET1_RST 连接在 I.M6ULL 的 SNVS_TAMPER7 这个引脚上。ENET2的复位引脚 ENET2_RST 连接在 I.MX6ULL 的 SNVS_TAMPER8 上。打开设备树文件 imx6ull-mylinux-emmc.dts,找到如下代码:将SNVS_TAMPER7 和 SNVS_TAMPER8 这两个引脚初始化代码删掉接着找到如下代码...原创 2021-04-28 16:26:09 · 787 阅读 · 0 评论 -
Linux学习笔记---移植官方linux步骤(一)
使用的开发板是正点原子IMX6U-MINI EMMC512M的开发板,这个板子也是移植的NXP官方linux,所以这里就直接从NXP官方的linux移植。 这里所说的移植,其实不是自己编写驱动文件等,只是简单的将官方linux中的相关配置文件和文件名修改为自己的名字而已。目录拷贝官方原文件重命名文件夹修改Makefile编译源码内核启动测试修改配置文件修改设备树文件修改Makefile 文件新建编译脚本文件修改CPU工作频率使能8...原创 2021-04-28 16:03:54 · 461 阅读 · 0 评论 -
Linux学习笔记---移植官方uboot步骤(二)
在上一篇Linux学习笔记---移植官方uboot步骤(一)自己的uboot已经编译成功了,接下来继续移植LCD驱动和网络驱动。修改LCD驱动修改配置参数打开my_uboot/board/freescale/mx6ull_myuboot_emmc/mx6ull_myuboot_emmc.c 文件,找到如下内容修改为:修改头文件打开my_uboot/include/configs/mx6ull_myuboot_emmc.h 头文件找到 panel=TFT43A...原创 2021-04-21 19:48:18 · 684 阅读 · 0 评论 -
Linux学习笔记---移植官方uboot步骤(一)
目录编写shell脚本修改MakeFile文件重命名shell脚本添加默认配置文件修改默认配置文件准备需要的板级文件夹重命名.C文件修改Makefile修改imximage.cfg配置文件修改Kconfig文件修改MAINTAINERS 文件修改uboot图形配置界面编译自己的uboot 使用的开发板是正点原子IMX6U-MINI EMMC512M的开发板,这个板子也是移植的NXP官方uboot,所以这里就直接从NXP官方的ubbot移植。...原创 2021-04-21 19:06:45 · 1085 阅读 · 1 评论 -
Linux学习笔记---boot命令的使用
boot 命令也是用来启动 Linux 系统的,只是 boot 会读取环境变量 bootcmd 来启动 Linux 系统,bootcmd 是一个很重要的环境变量!其名字分为“boot”和“cmd”,也就是“引导”和“命令”,说明这个环境变量保存着引导命令,其实就是启动的命令集合,具体的引导命令内容是可以修改的。比如我们要想使用 tftp 命令从网络启动 Linux 那么就可以设置 bootcmd 为“tftp 80800000 zImage; tftp 83000000 imx6ull-...原创 2021-04-19 14:44:15 · 4269 阅读 · 0 评论 -
Linux学习笔记---使用tftp命令下载文件
向开发板下载数据时,不仅可以通过nfs命令下载,还可以通过更简单的命令tftp下载。用网线将开发板和笔记本连接起来,设置好网络环境。网络的具体设置方法可以参考Linux学习笔记---网线直连电脑和开发板使用nfs下载文件和Linux学习笔记---Ubuntu虚拟机设置双网卡 这两篇文章。要使用tftp命令,还需要在Ubuntu系统中安装 tftp-hpa 和 tftpd-hpa服务。命令如下:sudo apt-get install tftp-hpa tftpd-hpasudo ..原创 2021-04-19 14:36:55 · 5494 阅读 · 0 评论 -
Linux学习笔记---Ubuntu虚拟机设置双网卡
在使用nfs命令时,为了不使用路由器,就直接使用了网线直接连接笔记本和开发板,这样开发板就可以通过网线直接从Ubuntu系统中下载文件了。 这样就存在了一个问题,就是Ubuntu系统不能上网了,由于笔记本使用的是无线网络,而有线网络连接的是虚拟机和开发板,相当于开发板和虚拟机是在一个局域网中,虚拟机不能连接互联网,这样Ubuntu·需要下载软件的时候就笔记麻烦,那能不能让虚拟机和笔记本一个,也弄两个网络,一个通过网线连接开发板,一个通过无网线上网。 经过一番测试,这个功能是...原创 2021-04-13 15:27:18 · 702 阅读 · 0 评论 -
Linux学习笔记---网线直连电脑和开发板使用nfs下载文件
在学习正点原子Linux开发板的时候,视频教程中电脑和开发板都接的是路由器,这样在使用nfs 命令时,虚拟机和开发板的网络是通的,nfs命令就可以直接使用。但是自己在使用的时候,没有路由器,只能用网线将开发板和电脑直接连起来,这样直接使用nfs命令时就会出现网络不通的情况。经过一番研究,终于调试成功了,现在记录下设置方法。 默认情况下都是在Windows系统中装一个虚拟机,然后在虚拟机中安装Ubuntu系统。由于目前大多数电脑都是笔记本,使用的是无线网络。这样在装虚拟机的时...原创 2021-04-13 14:36:10 · 2368 阅读 · 0 评论 -
Linux学习笔记---初次编译Uboot系统
在初次编译Uboot系统时,是按照正点原子开发指南操作的,但是开发指南上讲得不是很详细,又看了一遍视频教程才搞清楚完整步骤,为了方便学习,就将详细步骤记录下来,以便以后参考。Uboot初次编译 首先在Ubuntu系统中新建文件夹 alientek_boot 2.将正点原子提供的Uboot源码拷贝到Ubuntu系统中的alientek_uboot文件夹中。3.在Ubuntu系统alientek_uboot文件夹中解压4.使用命令编译源码,可以直接新建一个shel...原创 2021-04-12 16:30:06 · 1281 阅读 · 0 评论 -
Linux学习笔记---烧写bin文件分析
在看正点原子 I.MX6U 嵌入式 x Linux 驱动开发指南时,在第九章分析了启动文件的组成,但是通过文档中介绍的HEX文件查看器查看load.imx文件时感觉不是很方便,于是就在Notepad++软件上安装了HEX文件查看的插件,通过Notepad++来查看烧写的二进制文件内容。安装插件方法详见notepad++查看16进制文件这篇文章。 用Notepad++软件打开load.imx文件打开后文件时乱码,这时候点工具栏最右边的H图标这时就会用16进制...原创 2021-04-01 15:04:27 · 828 阅读 · 0 评论 -
Linux学习笔记---Cortex-A7 常用汇编指令
MOV指令 MOV R0,R1 @将寄存器R1中的数据传递给R0 MOV R0,#0X12 @将立即数0X12传递给R0寄存器MRS指令 MRS R0,CPSR @将特殊寄存器CPSR中的数据传递给R0MSR指令 MSR CPSR,R0 @将R0中的数据复制到CPSR中LDR指令 LDR R0,=0X0209C004 @将...原创 2021-03-30 17:06:56 · 347 阅读 · 0 评论 -
Linux学习笔记---VI编辑器常用快捷键
在Linux系统中编辑或者修改文件常用的编辑器为VI/VIM编辑器。在使用VI编辑器的时候,需要用特定的按键来实现某些功能。下面就整理一下常用的按键操作。如果要打开或者新建一个文件的话,在终端中直接输入 vi 文件名。比如输入vi test.txt 然后按回车键,如果这个test.txt这个文件不存在就会新建一个文件打开,如果这个文件存在就会直接打开。直接打开后是输入不了内容的,这是因为当前在一般模式下,如果需要输入的话需要切换到输入模式。那这两种模式有什么区别呢?一般...原创 2021-03-29 17:12:07 · 1909 阅读 · 1 评论 -
Linux学习笔记---更新软件源
在安装或者更新软件的时候,系统默认会从官方网站上下载数据。但是官方网站都是在国外,访问速度非常慢。为了是软件下载速度更快,可以将软件源的下载地址由国外改到国内,这样软件在更新或者下载的时候速度就会快很多。常用的国内镜像源有:• 清华大学镜像源:https://mirrors.tuna.tsinghua.edu.cn• 中国科技大学镜像源:https://mirrors.ustc.edu.cn• 阿里云镜像源:https://opsx.alibaba.com/mirror可以通过图原创 2021-03-24 15:13:37 · 1703 阅读 · 1 评论 -
Linux学习笔记---常用shell命令
目录目录信息查看命令ls清屏命令 clear目录切换命令 cd自动补全Tab键的妙用创建文件夹 mkdir删除文件夹 rmdir删除命令 rm查看路径命令pwd移动或修改命令 mv复制命令 cp显示创建文件命令 cat更新或创建文件命令 touch获取管理员权限命令 sudo修改文件拥有者命令 chown重复执行上次命令 !!修改文件权限命令 chmod关机命令 power off重启命令 reboot网络测试命令 ping显.原创 2021-03-24 15:07:26 · 446 阅读 · 1 评论