物联网之Z24400-linux

1.基本命令集

mkdit:新建目录
touch:新建文件
cp:复制
rm:删除文件
rmdir:删除目录
cat:将文件内容显示到终端中
clear:清除屏幕显示的内容

2.搭建环境变量,运行程序

book@www.:~$ export PATH=$PATH:/home/book
book@www.:~$ echo $PATH
/home/book/bin:/home/book/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin:/snap/bin:/home/book
book@www.:~$ pwd
/home/book
book@www.:~$ touch pwdabc
book@www.:~$ -l
-l: command not found
book@www:~$ ls -l
total 48
drwxrwxr-x 2 book book 4096 11月  5 22:04 100ask
drwxr-xr-x 2 book book 4096 4月  12  2018 Desktop
drwxr-xr-x 2 book book 4096 4月  12  2018 Documents
drwxr-xr-x 2 book book 4096 4月  12  2018 Downloads
-rw-r--r-- 1 book book 8980 4月  12  2018 examples.desktop
drwxr-xr-x 2 book book 4096 1月  17  2019 Music
drwxr-xr-x 3 book book 4096 1月  17  2019 Pictures
drwxr-xr-x 2 book book 4096 4月  12  2018 Public
-rw-rw-r-- 1 book book0 11月  6 23:48 pwdabc
drwxr-xr-x 2 book book 4096 4月  12  2018 Templates
drwxr-xr-x 2 book book 4096 1月  17  2019 Videos
book@www:~$ pwddabc
pwddabc: command not found
book@www:~$ pwd dabc
/home/book
book@www.:~$ pwdabc
bash: /home/book/pwdabc: Permission denied
book@www:~$ chmod +x pwdabc
book@www:~$ pwdabc

3.man的解释-原文

   1   Executable programs or shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages  and  conventions), e.g.
   man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

用途:

1. 生成可执行程序
2. 系统调用
3. 库调用
4. 特殊文件-/dev下的设备文件
5. 文件格式和约定
6. 游戏相关
7. 约定
8. 管理员内部命令
9. 内核文件

安装电脑烧录工具oflah之后.使用方法:

1. 执行cmd
2. 输入oflash
3. 退出操作按键 ctrl+scrolllock键

烧录程序硬件:OP/EOP

烧写文件要求:bin文件

Nand启动

内有4K RAM基地址为0 Nor Flash不可访问.

使用OP执行文件烧录-Nand flash prog(烧写速度快)-256MB

1. 系统开关指向内测
2. 进入cmd
3. 查询项目代码生成.bin文件的根目录-将其复制其目录
4. 执行输入跟目录所在盘符,另加":".目的 进入所在根目录的盘符
5. 输入"cd"+生成.bin文件的根目录.目的 进入其程序的根目录
6. 输入 "oflash" 生成的.bin文件全名
7. 选择程序烧录位置 输入 0--调用OpenJTAG器
8. 第二次输入 1--调用开发板
9. 第三次输入 0--输入到 Nand flash prog(程序烧录内存位置)
10. 第四次输入选择烧录地址 输入0--开发板内部内存的地址
11. 第五次输入0.
工作原理:
 1.2440硬件将Nand前4k内容复制进RAM,CPU从地址0开始读取第一条指令

Nor启动

内有flash RAM基地址为0 内RAM地址0*4000 0000.

使用OP执行文件烧录-Nor Flash prog(烧写速度慢)–2MB

1. 系统开关指向外测
2. 进入cmd
3. 查询项目代码生成.bin文件的根目录-将其复制其目录
4. 执行输入跟目录所在盘符,另加":".目的 进入所在根目录的盘符
5. 输入"cd"+生成.bin文件的根目录.目的 进入其程序的根目录
6. 输入 "oflash" 生成的.bin文件全名
7. 选择程序烧录位置 输入 0--调用OpenJTAG器
8. 第二次输入 1--调用开发板
9. 第三次输入 1--输入到 Nor Flash prog(程序烧录内存位置)
10. 第四次输入选择烧录地址 输入0--开发板内部内存的地址
工作原理:
 1.读取第一个指令(前4字节).
 2.CPU继续读取其他指令执行.  

打开linux串口软件

设置界面如下:

  1. 安装串口驱动
  2. 确保COM口与主机正常连接.
  3. 执行下图设置界面。
    在这里插入图片描述

开发板恢复出厂设置:

1. 连接另外USB,并打开linux串口软件.
2. 重启开发板.
3. 3s内按空格 进入设置BIOS.
4. 选择"[k] Download Linux kernel uImage".
  1. 查询编译软件:gcc -v.是否正常(不区分版本).
  2. gcc -o 输出文件名 源文件.
  3. windows平台下的source,insight,notepad.
  4. source insight在查看代码,编辑代码.(C,h,ARM)
  5. notepad:如Makefile(编译执行源文件)

查询本地IP

  1. win+R
  2. 输入cmd
  3. 输入ipconfig

查询虚拟机IP

  1. 输入term
  2. ifconfig

查询Linux开发板的IP

  1. 打开linux串口监控软件

  2. 执行串口监控

  3. 开机

  4. 不断按住空格键
    进入下图选择:

    100ask Bootloader for OpenJTAG
    [n] Download u-boot to Nand Flash
    [c] Re-scan Nor Flash
    [u] Copy bootloader from nand to nor
    [v] Copy bootloader from nor to nand
    [k] Download Linux kernel uImage
    [j] Download root_jffs2 image
    [y] Download root_yaffs image
    [d] Download to SDRAM & Run
    [z] Download zImage into RAM
    [g] Boot linux from RAM
    [f] Format the Nand Flash
    [s] Set the boot parameters
    [b] Boot the system
    [r] Reboot u-boot
    [q] Quit from menu
    
  5. 选择q 进入

  6. 输入print–查询Linux开发板IP

  7. 修改IP 方法:set ipaddr 设置IP

  8. 输入save–设置IP完成并保存

本地,虚拟机,LINUX开发板互握手IP

  1. 指定一个输入 ping
  2. LINUX开发板中显示 is alive 表示成功
  3. LINUX开发板只能去拼对方IP

通过网络连接虚拟机

  1. 确认三者网络互握手

  2. 通过ping-ip执行握手在这里插入图片描述

  3. 进入之后输入密码

  4. FTTP文件传输使用助手-软件推荐
    在这里插入图片描述

  5. 执行.c(源码)上传至虚拟服务器在这里插入图片描述

  6. 执行编译

        book@www.:/work$ mkdir hardware  创建该项目文件夹
        book@www.:/work$ ls 查询创建是否成功
        busybox  hardware  lost+found  nfs_root  system  tools
        book@www.:/work$ cd hardware 打开创建的项目文件夹
        book@www.:/work/hardware/01$ ls 审核通过TPP方式上传的代码是否完整
        led_on.S
        book@www.:/work/hardware/01$ arm-linux-gcc -c -o led_on.o led_on.S 执行GCC编译命令
        book@www.:/work/hardware/01$ arm-linux-ld -Ttext 0 led_on.o -o led_on.elf 执行.o文件得到.elf文件
        book@www.:/work/hardware/01$ arm-linux-objcopy -O binary -S led_on.elf led_on.bin 执行objcopy命令得到.bin文件
        //查询项目所需要的升级文件
        book@www.:/work/hardware/01$ ls -l
        total 20
        -rwxrwxr-x 1 book book36 11月 17 01:08 led_on.bin
        -rwxrwxr-x 1 book book 33637 11月 17 01:04 led_on.elf
        -rw-rw-r-- 1 book book   716 11月 17 00:59 led_on.o
        -rw-rw-r-- 1 book book   971 11月 17 00:53 led_on.S
    
  7. 维护:生成文件(.bin .elf .o .s)的所需目录的打包–注意TAB键的正确使用方法

  8. 将虚拟机linux生成的.bin文件用作烧录程序包,提取到主机中,执行普通的开发板烧录.

遇到问题

  • 主机ping虚拟机能够成功,但是虚拟机/开发板进行ping主机失败.
    解决方法:首先确保三者在同一网段,其次关闭主机(Windows10)控制面板-防火墙
    在这里插入图片描述

关于linux的编译(gcc)与makefile原理:

 gcc -M c.c//打印依赖
 gcc -M -MF c.d c.c//把依赖写入文件c.d
 gcc -c -o c.o c.c -MD -MF c.d//编译c.o 把依赖写入文件c.d

ping IP成功-实现FTP程序下载

  1. 打开Tftpd32软件 输入程序所在IP位置以及跟目录名称
  2. 通过串口阻止开发板进入Linux界面,进入调试界面
  3. 输入"tftp 30000000 uImage"等待下载完成

查询gcc编译器版本

gcc -v

gcc -c -o a.o a.c -v

-v:查询编译过程的步骤.

关于Linux的编译理解(makefile)理解认真查询《嵌入式linux应用开发完全手册》第三章,以及<<GUN_make中文手册-关于linux编译器gcc与makefile文档>>于凤昌第三章

技巧:

  1. 进入编译环境之后,再次进入源码环境 执行空格键退出.

添加编译参数(CFLAGS)

注:

  1. 软件免费,需要请留言邮箱.
  2. 学习阶段,不定期更新.请关注
  3. 本次同步时间:2020年12月21日02:11:25
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初上花样年华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值