韦东山嵌入式开发板小结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 = 头部+ 真正的内核

韦东山嵌入式开发板小结1相关推荐

  1. imx6ull 正点原子设备树适配韦东山的开发板 (一)顺利启动,配置led,button

    设备树在公司经常用到 有时候很多驱动编写也就是替换设备树,所以拿韦老师的板子练手设备树 这次尝试直接拿正点的设备书改成韦老师的板子能用 对比 正点原子的设备树结构图 韦东山的设备树结构图 从因为蓝色的 ...

  2. imx6ull 正点原子设备树适配韦东山的开发板 (二)适配lcd,背光,和触摸屏

    继续设备树的移植 适配lcd 查看内核文档 lcdif设备树 根据imx6ull.dtsi里面有的soc厂商设备树找到compile内容 compatible = "fsl,imx6ul-l ...

  3. 韦东山 Linux开发板,从零开始构建bootloader(基于韦东山JZ2440V3开发板)

    从零开始构建bootloader 项目步骤: 第一阶段: ​ 1.关看门狗: ​ 2.时钟初始化: ​ 3.内存初始化: ​ 4.NandFlash初始化: ​ 5.代码重定位(将flash中的代码复 ...

  4. 韦东山jz2440开发板重烧系统

    1. 使用op/eop烧写u-boot到nor/nand, 设置为nor/nand启动 2. 上电后马上在串口输入空格键,使板子进入UBOOT而不是启动板子上的内核 3. 连接PC---------- ...

  5. 韦东山JZ2440开发板之EOP在win10下驱动安装方法

    今天用win10安装EOP驱动时发现了两个问题,解决方法放在这里,供有需要的朋友借鉴 1.首先安装时一直提示无法找到驱动,后来经仔细观察发现,驱动文件少了一个ftd2xx.h的文件,重新下载,安装成功 ...

  6. 韦老师的开发板和嵌入式书籍赠送

    大家五一快乐! 我知道这个时候大家都没有什么心思学习,所以找了联合了几个朋友一起给大家送点东西.这几个技术号主都非常用心的给大家分享技术文章,我相信,跟他们一起,你们也能变得更加优秀. 奖品包括: 1 ...

  7. 嵌入式开发板硬件操作入门学习0——电路图概念 硬件接口的四大类

    电路图概念 术语: sch:schematic,原理图 PCB:Printed Circuit Board,印刷电路板 footprint:脚印.足迹,表示元件在电路板上的外形 component:元 ...

  8. 韦东山鸿蒙开发教程02 - 资料下载方法

    在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...

  9. ARM嵌入式开发板推荐

    arm嵌入式主板具有低成本.高性能.低功耗的特点,是一个嵌入在设备里面做控制.数据处理使用的CPU板,承担着"大脑"的角色,主要是作为工控主板使用.短短几年,ARM嵌入式的异军突起 ...

最新文章

  1. 阿里巴巴副总裁司罗:达摩院如何搭建NLP技术体系?
  2. git push 推送大文件失败的处理办法
  3. 页面浏览事件之 $AppViewScreen 全埋点
  4. python数据写入到excel不同sheet_Python3 pandas库 (32) 将数据写入Excel多个sheet
  5. c++11-type_traits类型萃取
  6. Kafka冷门知识——主题删除背后的秘密
  7. Ubuntu 配置swftools(Ubuntu14.04)
  8. B Graph(异或最小生成树)
  9. WinForm的App.config
  10. 【功能业务篇】APP获取用户定位、传参经纬度思考
  11. ARP欺骗原理详细介绍
  12. 月薪3万的python程序员都看了这本书
  13. 使用base64格式生成图片
  14. python编程器手机版ios_手机最强Python编程神器,在手机上运行Python
  15. 【无人机】【2017.10】无人机(UAV)在地学野外工作中建立增强型虚拟野外指南(EVFG)的作用研究
  16. 谈谈2018年技术趋势和架构规划
  17. Could not obtain connection to query metadata : Public Key Retrieval is not allowed
  18. Android 对ListView和RecyclerView的两个BaseAdapter封装分享
  19. Theos(二):NIC(New Instance Creator)
  20. 【牛客网】C/C++牛客网专项刷题(04)

热门文章

  1. 深入浅出Qt数据库编程:从基本操作到高级技巧
  2. Unix时间戳 怎么计算
  3. python发送邮件封装
  4. html网页logo属性link,html元素link标签rel=icon添加网站favicon.ico图标
  5. 重温线性代数(3)——正交、投影
  6. 数据埋点几种方式介绍
  7. 【SQL武林秘籍】零基础带你快速上手SQL语言
  8. D:\eclipse-workspace\.metadata\.plugins\org.eclipse.core.resources\.projects
  9. Qt的Q_UNUSED()函数的功能
  10. JS逆向瑞数4算法专题一