韦东山嵌入式开发板小结1

韦东山嵌入式开发板小结1

一、连接[开发板-win10-虚拟机]

1、播放虚拟机VMware的ubuntu 16.04,设置win10和 虚拟机处于同一网段
>>>ipconfig
在这里插入图片描述
>>>ifconfig
在这里插入图片描述

2、将win10防火墙关闭,否则无法访问WIN10网络
在这里插入图片描述

3、使用cmd命令行ping虚拟机的IP
在这里插入图片描述

4、同时可以使用虚拟机(或使用远程登录工具(MobaXtermPersonal 、FinalShell、SecureCRT)登录虚拟机)ping win10的IP;
在这里插入图片描述

5、嵌入式开板利用网线连接到笔记本的有线网口。
6、设置有线网口的IP地址和嵌入式开发板的IP地址处于同一网段。
设置命令:

print   //答应开发板的参数
set ipaddr 192.168.0.2	//设置开发板IP
set serverip 192.168.0.1	//设置电脑端IP
save  //保存参数

在这里插入图片描述
在这里插入图片描述

7、可以通过串口工具和嵌入式开发板串口通信,可以ping通开发板:
在这里插入图片描述

8、通过FTP传输文件。
出现的问题:
如果远程登陆有错误:
一方面是双方ping不通,主机和虚拟机不在同一个网段,设置到同一网段即可。
另一方面是如果双方可以ping通,但无法登录,先看主机和虚拟机的网络是否勾选桥接网络:
在这里插入图片描述

在这里插入图片描述

再使用命令ps –e|grep ssh检查虚拟机端是否安装openssh-server,或者安装ssh时出现如下问题:
在这里插入图片描述

说明没有安装依赖项openssh-client=1:7.2p2-4
执行命令:sudo apt-get install openssh-client=1:7.2p2-4
之后执行:sudo apt-get install openssh-server
查询命令:ps –e|grep ssh
在这里插入图片描述

启动服务:service ssh start
停止服务:service ssh stop
重启服务:service ssh restart

二、编码[win10(编辑)->虚拟机(编译、调试、烧写)->开发板(运行)]

1、GCC编译器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、Makefile:

  1. Windows上编辑[sourceinsight]代码

  2. 通过传输工具 传输到虚拟机进行编译[gcc –o name hello.c]和调试[./name],其中3、编译和调试的命令可以放在makefile脚本中统一执行

  3. Makefile 规则:
    makefile执行条件:目标不存在、依赖已更新(1、没有hello 2、hello.c或a.c被修改)

  4. 格式1:
    目标:依赖1 依赖2
    hello:hello.c a.c …
    [TAB] gcc –o hello hello.c a.c …
    格式2:-c”编译不链接”
    hello:hello.o a.o …
    [TAB] gcc –o hello hello.o a.o …
    hello.o:hello.c
    [TAB] gcc –o hello.o -c hello.c
    a.o:a.c
    [TAB] gcc –o a.o -c a.c
    在这里插入图片描述

  5. 在当前目录下执行命令make即可。

3、关于安装交叉编译器:
韦东山老师安装arm-linux-gcc交叉编译器讲解

rz   
sudo apt-get install lrzsz    
win传输文件到虚拟机:arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 
sudo mkdir –p /usr/local/arm   //创建目录
sudo tar jxvf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 –C/usr/local/arm//解压 并复制到刚创建的目录下
cd /usr/local/arm //切换目录
sudo mv gcc-3.4.5-glibc-2.3.6/ 3.4.5  //移动文件
cd 3.4.5/bin/
pwd #复制当前目录
sudo vi /etc/environment	//编辑修改环境变量
按照格式 粘贴刚复制的目录
source /etc/environment   //
sudo apt-get install lib32ncurses5 lib32z1
sudo apt-get install lib32stdc++6
arm-linux-gcc –v		//查询版本

三、u-boot打补丁

u-boot:打补丁
1、将system文件夹中的下面这两个上传到虚拟机的ubuntu端system文件夹下
执行解压命令:tar xjf u-boot-1.1.6_jz2440.tar.bz2
在这里插入图片描述

2、打补丁
进入解压出来的u-boot-1.1.6目录:cd u-boot-1.1.6/
执行打补丁命令:patch -p1 < …/u-boot-1.1.6_jz2440.patch
3、切换目录到system目录下:cd …
将打好的补丁文件进行压缩:tar cjf u-boot-1.1.6_jz2440.tar.bz2 u-boot-1.1.6
4、上传到windows端解压后可以通过Source Insight阅读源码
5、在解压出来的u-boot-1.1.6目录下配置文件:make 100ask24x0_config
6、编译源码:make
7、完成后会生成一个u-boot.bin的文件,上传到windows端,可以通过oflash下载烧写到开发板。

四、内核打补丁

1、将system文件夹中的下面这两个上传到虚拟机的ubuntu端system文件夹下
执行解压命令:tar xjf linux-2.6.22.6.tar.bz2
在这里插入图片描述

2、打补丁,进入linux-2.6.22.6目录执行命令patch -p1 < …/linux-2.6.22.6_jz2440_v2v3.patch
3、切换目录到linux-2.6.22.6目录下ls会看到 这个文件;
4、在system目录下将打好的补丁文件进行压缩方便以后使用:
tar cjf linux-2.6.22.6_jz2440.tar.bz2 linux-2.6.22.6
5、上传到windows端解压后可以通过Source Insight阅读源码
6、cp config_ok .config
7、make uImage
8、编译完 会生成一个image的文件,上传到windows端,可以通过oflash下载烧写到开发板

五、制作根文件系统

自己写bootloader:
NOR flash 启动:把NOR Flash上的代码复制到SD RAM 的链接地址后,从0地址(NOR Flash 0地址处[可读不可写])开始执行。
NAND Flash 启动:上电时,会自动的把NAND Flash上的前4K复制到2440内部的0地址开始的4K RAM,然后从0地址(片内的内存[可读可写])开始执行。缺陷:位反转 需校验
NOR FLASH、NAND FLASH、SDRAM三者关系
简单的u-boot编写步骤:启动内核
① 初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化NAND FLASH
② 如果BootLoader比较大,要把他重定位到SDRAM
③ 从NAND FLASH上把内核读入SDRAM内存(1:读flash:2:初始化内存/时钟/其他)
④ 设置要传给内核的参数
⑤ 启动(1:[0X30000100]设置启动参数TAG 2:跳到入口地址去执行)
改进方法:启动ICACHE或DCACHE
uImage = 头部+ 真正的内核

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小捷同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值