Linux之跟着正点原子学习记录

0 前言

既然选定了正点原子开发板与教程,那就一步一步的跟着正点原子教程学习。在学习过程中记录重点、疑惑点。

1.1 常用指令

make clean // 清理工程
mkdir lcd  // 新建lcd目录
cp 01_chrdevbase/* lcd/ // 复制01_chrdevbase目录下的所有内容到lcd目录下
cp 01_chrdevbase/.vscode/ lcd -r  // 复制01_chrdevbase目录下 .vscode/的所有内容到lcd目录下
mv 1_chrdevbase.code-workspace lcd.code-workspace // 修改文件名
cp arch/arm/boot/zImage /home/yixi/linux/tftpboot/ -f  //从指定文件夹下复制文件到指定文件夹下
cp arch/arm/boot/dts/imx6ull-alientek-emmc.dtb /home/yixi/linux/tftpboot/ -f //从指定文件夹下复制文件到指定文件夹下

1.1.1 文件相关命令

  1. 创建新文件命令— —touch
    touch 不仅仅可以用来创建文本文档,其它类型的文档也可以创建,命令格式如下:

    touch  [参数]  [文件名]
    

    使用 touch 创建文件的时候,如果[文件名]的文件不存在,那就直接创建一个以[文件名]命名的文件,如果[文件名]文件存在的话就仅仅修改一下此文件的最后修改日期,常用的命令参数如下:
    -a 只更改存取时间。
    -c 不建立任何文件。
    -d< 日期> 使用指定的日期,而并非现在日期。
    -t< 时间> 使用指定的时间,而并非现在时间。
    举例:

    touch test
    
  2. 文件夹创建命令— —mkdir
    创建文件夹使用命令 mkdir,命令格式如下:

    mkdir [参数] [文件夹名目录名]
    

    主要参数如下:
    -p 如所要创建的目录其上层目录目前还未创建,那么会一起创建上层目录。
    举例:

    mkdir temp
    
  3. 文件及目录删除命令 — — rm
    要删除一个文件或者文件夹可以使用命令 rm,此命令可以完成删除一个文件或者多个文件及文件夹,它可以实现递归删除。对于链接文件( 类似Windows 下的快捷方式文件),只删除链接,原文件保持不变。此命令格式如下:

    rm [参数]  [目的文件或文件夹目录名]
    

    命令主要参数如下:
    -d 直接把要删除的目录的硬连接数据删成 0,删除该目录。
    -f 强制删除文件和文件夹(目录)。
    -i 删除文件或者文件夹(目录)之前先询问用户。
    -r 递归删除,指定文件夹(目录)下的所有文件和子文件夹全部删除掉。
    -v 显示删除过程。
    举例:

    rm temp -rf 
    
  4. 文件夹( 目录) 删除命令— —rmdir
    使用“rm”删除文件夹,需要加上参数“-rf”,其实 Linux 提供了直接删除文件夹(目录)的命令—rmdir,它可以不加任何参数的删除掉指定的文件夹(目录),
    命令格式如下:

    rmdir [参数] [文件夹(目录)]
    

    命令主要参数如下:
    -p 删除指定的文件夹(目录)以后,若上层文件夹(目录)为空文件夹(目录)的话就将其一起删除。
    举例:

    rmdir temp
    
  5. 解压缩命令 tar
    压缩和解压使用命令tar,tar 将压缩和解压缩集合在一起,使用不同的参数即可,命令格式如下:

    tar [参数]  [压缩文件名] [被压缩文件名]
    

    常用参数如下:
    -c 创建新的压缩文件。
    -C< 目的目录> 切换到指定的目录。
    -f< 备份文件> 指定压缩文件。
    -j 用 tar 生成压缩文件,然后用 bz2 进行压缩。
    -k 解开备份文件时,不覆盖已有的文件。
    -m 还原文件时,不变更文件的更改时间。
    -r 新增文件到已存在的备份文件的结尾部分。
    -t 列出备份文件内容。
    -v 显示指令执行过程。
    -w 遭遇问题时先询问用户。
    -x 从备份文件中释放文件,也就是解压缩文件。
    -z 用 tar 生成压缩文件,用 gz 压缩。
    -Z 用 tar 生成压缩文件,用 compress 压缩。
    使用 tar 如下两个命令将 test1 文件夹压缩为 .bz2.gz 这两个格式。下面两行命令中,-vcjf 表示创建 .bz2 格式的压缩文件,-vczf 表示创建 .gz 格式的压缩文件:

    	tar -vcjf test1.tar.bz2 test1
    	tar -vczf test1.tar.gz test1
    

    使用tar 如下所示两行命令完成 .bz2.gz 格式文件的解压缩。下面两行命令中,-vxjf 用来完成 .bz2 格式压缩文件的解压,-vxzf 用来完成 .gz 格式压缩文件的解压。

    	tar -vxjf test1.tar.bz2
    	tar -vxzf test2.tar.gz
    

1.2 常用操作

1.2.1 查看SD卡在设备

ls /dev/sd*

1.2.2 .bin文件烧录到SD卡

正点原子专门编写了一个软件来将编译出来的.bin 文件烧写到 SD 卡中,这个软件叫做 imxdownload,软件存放在开发板光盘中,路径为:开发板光盘->5、开发工具->2、Ubuntu 下裸机烧写软件->imxdownload,imxdownlaod 只能在 Ubuntu 下使用,使用步骤如下:

  1. 将 imxdownload 拷贝到工程目录下
    使用FileZilla软件将Windows下的imxdownload 拷贝到Ubuntu相应的工程目录下。

  2. 给予 imxdownload 可执行权限

    chmod 777 imxdownload  //给予 imxdownload 可执行权限,执行该命令后imxdowanload由白色变为绿色
    
  3. 将.bin文件烧录到SD卡

    ./imxdownload u-boot.bin /dev/sdd  //烧写到 SD 卡中(注意查看自己的SD卡号),不能烧写到/dev/sda 或 sda1 里面
    

1.2.3 在VScode工程中排除不需要的文件或文件夹

参考教程《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5.2.pdf》第三十一章 VScode工程创建

1.2.4 修改 bootargs 变量

参考《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.8》 38.3 根文件系统初步测试

1.2.5 修改 bootcmd 变量

参考《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.8》 33.4.2 从网络启动 Linux 系统

1.2.6 将Linux镜像文件zImage和设备树文件 xxx.dtb 复制到开发板网络启动目录

cp arch/arm/boot/zImage /home/yixi/linux/tftpboot/ -f
cp arch/arm/boot/dts/imx6ull-alientek-emmc.dtb /home/yixi/linux/tftpboot/ -f

3 系统移植篇

第三十章 U-Boot使用实验

30.4.4 网络操作命令

  1. tftp命令
    在Ubuntu中安装并配置好环境后,在开发板串口测试,出现如下问题
    在这里插入图片描述
    使用print命令可以得到如下
    在这里插入图片描述
    说明开发板配置的服务器IP地址是192.168.3.122
    在ubuntu中查看IP地址
    在这里插入图片描述
    所以该问题是开发板配置的服务器IP地址不对,需要重新配置
    在这里插入图片描述
    最后操作成功

第三十三章 U-Boot 移植

33.2.7 网络驱动修改

在完成前面的移植修改后,网络驱动也修改后,进行测试时,有如下问题:

  1. 教程中只启动了u-boot,而我的开发板不仅启动了u-boot,还启动了linux内核zImage,这可能时我之前做测试时遗留的,该如何不启动zmage?

  2. 启动u-boot后,网络分配是DHCP模式,如何修改

4 第四篇 ARM Linux驱动开发篇

第四十章 字符设备驱动开发

40.4.4 运行测试
在执行 modprobe chrdevbase.ko 指令时出现如下问题
在这里插入图片描述
原因是教程 Linux 内核版本是4.1.15,但开发板烧录的 Linux 内核版本是4.1.15+,从开发板启动时的信息可以看到,

在这里插入图片描述
所以,最后将文件夹4.1.15改为4.1.15+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 正点原子是一家专注于物联网技术的公司,其提供的正点原子 Linux系统是一款基于开源的嵌入式操作系统。学习正点原子 Linux可以为我们深入了解物联网技术提供一个很好的机会。 首先,学习正点原子 Linux可以让我们了解嵌入式操作系统的原理和应用。正点原子 Linux是专门为嵌入式设备设计的操作系统,它具有小巧、高效和低功耗的特点。通过学习正点原子 Linux,我们可以掌握嵌入式操作系统的底层原理,了解如何进行系统调度、资源管理和设备驱动等方面的开发。 其次,学习正点原子 Linux可以帮助我们掌握物联网应用的开发和部署。正点原子 Linux提供了一系列的开发工具和开发框架,能够方便地进行物联网应用的开发和调试。同时,正点原子 Linux支持网络通信、传感器数据采集和云平台集成等功能,这些都是物联网应用的核心技术。 最后,学习正点原子 Linux可以提升我们的就业竞争力。随着物联网技术的迅猛发展,对于掌握嵌入式系统和物联网开发的人才需求也越来越大。通过学习正点原子 Linux,我们可以拥有丰富的物联网开发经验和技能,提高自己的就业竞争力。 总之,学习正点原子 Linux是一个有价值的选择。它不仅能够让我们深入了解嵌入式操作系统和物联网技术,还能够帮助我们开发和部署物联网应用,提升自己的就业竞争力。在未来物联网技术的发展中,正点原子 Linux学习将为我们打下坚实的基础,为我们的职业发展提供更多的机会。 ### 回答2: 正点原子 Linux 学习是一门学习如何使用和管理 Linux 操作系统的课程。Linux 是一种开源的操作系统,广泛应用于服务器、嵌入式设备和个人电脑等领域。正点原子 Linux 学习着重于培养学生的 Linux 操作和管理技能,帮助他们熟练应用 Linux 系统。 在正点原子 Linux 学习中,学生将学习如何安装 Linux 操作系统,配置和管理用户账户,以及如何使用命令行界面进行系统管理。学生还将学习如何配置网络连接、安装和升级软件包,以及备份和恢复系统数据。此外,学生还将学习如何处理文件和目录、使用文件权限和访问控制,以及如何使用 shell 脚本自动化任务。 通过正点原子 Linux 学习,学生将获得丰富的实践经验,掌握在 Linux 系统中工作的常用工具和技术。这将为他们在未来的职业发展中提供重要的竞争优势。Linux 是许多 IT 公司和组织中广泛使用的操作系统,在云计算、大数据和网络安全等领域有着广泛的应用。掌握 Linux 技术将为学生提供更多就业机会和发展空间。 总之,正点原子 Linux 学习是一门重要的课程,它为学生提供了学习和掌握 Linux 操作系统的机会。通过系统学习 Linux 技术,学生能够提高自己的技能水平,为将来的职业发展打下坚实的基础。 ### 回答3: 正点原子 Linux正点原子推出的一款基于 Linux 系统的教学与学习工具,它提供了一种学习 Linux 操作系统的全新方式。 正点原子 Linux 具有以下特点: 1. 极简的界面设计:正点原子 Linux 的界面设计简洁明了,让用户可以快速上手,不需要繁琐的配置和安装步骤。 2. 完整的实验环境:正点原子 Linux 提供了完整的实验环境,方便学习者进行实践操作。用户可以在虚拟机中完成各种 Linux 系统的实验,实践所学知识。 3. 丰富的教学资源:正点原子 Linux 拥有丰富的教学资源,如教程、实验指导以及参考资料等,可以帮助学习者更好地掌握 Linux 知识和技能。 4. 具备自主学习能力:正点原子 Linux学习方式注重培养学习者的自主学习能力,通过实践和探索,激发学习者的学习兴趣,培养他们独立解决问题的能力。 通过学习正点原子 Linux学习者可以深入了解 Linux 操作系统的原理和应用,掌握 Linux 的基本操作和高级配置,提升自己的技术水平。Linux 是一种常用的操作系统,广泛应用于服务器、网络设备、移动设备等领域,掌握 Linux 技能对于从事相关行业的人员来说至关重要。正点原子 Linux学习将帮助学生更好地适应未来的学习和工作需求,为他们的职业发展打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值