我依然清晰的记得刚拿到Imx283 257的情景,兴奋中充满忧虑,对操作系统的概念只知一二,不知三四!!周立功出品的资料我一直觉得是比较精品的,同样这款iMX283配套的文档资料(v1.04)也是比较经典的,非常适合初学者使用。

作为一个初学者,我愿意把自己学习的经历分享出来,分享出自己对文档的理解和总结,以便自己为日后的学习总结出更好的学习方法,同时也让初学者少走自己走过的弯路,高手不要吐槽,可以指正。

1、关于文档的一、二章

第一章就是一个对283的简介,第二章的是关于在开发板中如何烧写linux系统,如果开发板上已经装载了linux系统,我建议先略过此章节,等学了一段时间之后再回过头来细看此章节。

论坛上有人问:为什么nand flash烧写不成功:

如果按照文档中烧写前准备那样做的:

l 请确认通讯线是否接好,通讯线连接好烧写工具:MfgTool-ZLG界面“正在监控”下会出现“HID-compliantdevice”字样。

l ubootloader.bat最好以管理员身份启动,每次启动都需要对开发板重新上电。

l 重新打开烧写工具。

当看完一二章节之后,先不要着急往下看了,找一本linux书,了解linux的一些基本概念,学一些linux常用的操作命令,再往下看吧。

2、关于文档的第三章

l 串口终端:

首先初学者需要明白,linux系统会有一个终端,开发板既然安装了linux系统,同样它也会有一个终端,叫做串口终端。介绍两个串口终端Xshell和secureCRT,百度下载一下就好了。

Xshell使用简介:

打开→新建→协议选择(SERIAL)→名称(随意输入一个名字)→左侧选择(SERIAL)→选择波特率(115200)和串口端口。

l 网络设置:

网络设置让我花了很长一段时间才搞定的,在此总结一下:

我选择的网线与与电脑直连的方式进行学习的,此种方式下,网络未设置正确时windows本地连接是打叉的。

a)        首先关闭防火墙(必须选择关闭),设置PC机网络:

iP:192.168.2.2

子网掩码:255.255.255.0

默认网关:192.168.2.1

b)       其次设置开发板网络:

root@EasyARM-iMX283~# ifconfig eth0 192.168.2.10  #此为开发板IP

注意:root@EasyARM-iMX283~#是开发板串口终端。

c)        其次设置linux主机网络(即虚拟机linux的):

vmuser@Linux-vmuser:~$sudo ifconfig eth0 192.168.2.15 设置linux主机iP地址。

vmuser@Linux-vmuser:~$ifconfig eth0                              查看设置的iP地址

vmuser@Linux-vmuser:~$ifconfig eth0 down                      关网卡

vmuser@Linux-vmuser:~$ifconfig eth0 up                          开网卡

注意:vmuser@Linux-vmuser:~$是linux主机终端。

l 测试网络连通:

Ping +ip地址测试网络连接

Eg:测试linux主机和开发板的联通性  ping 192.168.2.10

注:该IP是我测试学习用的IP,也可自己设定,只要保证三机(PC机、linux主机、开发板)三个网段在一起,就可以ping通。

总结:以上测试是网线直接连PC机,如果用交换机的话连接的话,会更加简单、稳定。

l 应用程序的开发模式:

对于初学者而言,会比较纠结上了linux操作系统,怎么下载程序进去啊,看来半天文档也不知道怎么下载程序,好尴尬啊。

对我而言,我之前学过51,、AVR、XS128,STM32单片机,总是爱拿单片机的思维来套用,现在想想是多大的错误。iMX283已经装载了操作系统,想想我们的PC机也是装了操作系统,只不过是windows而已,所以对于iMX283的学习开发而言,要清楚它是分许多层的:

a)        上层应用程序的开发(类似于windows中的各种软件)

b)       外设驱动的开发

c)        跨平台移植

d)       Bootloader代码分析和移植

e)        以太网烧写工具代码分析与移植

f)        BDM/JTAG工具代码的分析与移植

对于应用程序的开发我想说下自己的喜欢的开发模式

开发板中的linux系统是非常精简的,也就意味着它跟真正的linux系统有很大的差距,所以对于一般的应用程序开发,采用在linux主机下开发,用交叉编译器进行编译,再将编译好程序下载到开发板里运行。

a)        ssh模式:

在网络设置以后,可以相互ping通,在linux主机中,打开终端输入:

ssh root@192.168.2.10(//192.168.2.10为开发板IP地址),可以以ssh登入开发板,输入密码:root(不显示,输完回车即可)

在linux主机下设置NFS共享目录,并将该目录挂载到开发板中的某个目录下,这样在linux在NFS共享目录下编写的应用程序就可以在开发板中相应目录中找到。

注:如何NFS共享和挂载在文档第四章讲的有哈!

如果想将该应用程序固化(即保存到开发板里),可以用cp 命令保存到开发板目录下即可,同时要记得同步一下掉电才不会丢失。

Eg:root@EasyARM-iMX283 ~# cp hello/opt     //保存hello程序到opt目录下

root@EasyARM-iMX283 ~# sync            //记得同步操作哦

b)       串口终端模式

其实串口终端模式只不过是在Xshell里登陆开发板的同时,也登陆linux主机终端。也是通过挂载NFS,进而固化程序来实现应用程序的开发。

注意:ssh登陆linux,新建→协议默认(ssh)→名称(随意命名)→主机(linux IP地址),会提示输入linux主机密码,按照提示做即可。

这两种开发的模式只需要在一个工具里打开两个终端窗口就可以实现。省去两种工具里来回切换的麻烦。

EasyARM-iMX257 linux两年前的笔记的更多相关文章

  1. EasyARM-iMX257 linxu两年前的笔记

    第三章续:简单总结第三章中出现的命令! 1)  root@EasyARM-iMX257 ~# ddif=/dev/zero of=/dev/shm/disk bs=1024 count=10240 d ...

  2. Linux内核分析课程笔记(一)

    linux内核分析课程笔记(一) 冯诺依曼体系结构 冯诺依曼体系结构实际上就是存储程序计算机. 从两个层面来讲: 从硬件的角度来看,冯诺依曼体系结构逻辑上可以抽象成CPU和内存,通过总线相连.CPU上 ...

  3. Linux进程间通信IPC学习笔记之管道

    基础知识: 管道是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)没有名字: 2)用于共同祖先间的进程通信: 3)读写操作用read和write函数 #incl ...

  4. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  5. Linux系统运维笔记(四),CentOS 6.4安装Nginx

    Linux系统运维笔记(四),CentOS 6.4安装Nginx 1,安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool op ...

  6. Linux进程线程学习笔记:运行新程序

    Linux进程线程学习笔记:运行新程序                                         周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下 ...

  7. Linux下iptables学习笔记

    Linux下iptables学习笔记 在Centos7版本之后,防火墙应用已经由从前的iptables转变为firewall这款应用了.但是,当今绝大多数的Linux版本(特别是企业中)还是使用的6. ...

  8. linux 2.6 驱动笔记(一)

    本文作为linux 2.6 驱动笔记,记录环境搭建及linux基本内核模块编译加载. 环境搭建: 硬件:OK6410开发板 目标板操作系统:linux 2.6 交叉编译环境:windows 7 + v ...

  9. Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

    Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

随机推荐

  1. ql的python学习之路-day15

    前言:本节主要讲解的是文件路径 在实际的软件开发中会设计一个项目的文件目录,按照执行包bin.配置包config.核心包core等来设计,在执行包里面要运行核心包里的主程序mian,由于不在同一级的目 ...

  2. protus中出现invalid internal memory size ==NULL

    点击8086芯片,更改internal memory size的大小为0x10000

  3. 数据结构----双端队列Dque

    双端队列的概念与数据结构 deque(也称为双端队列)是与队列类似的项的有序集合.它有两个端部,首部和尾部,并且项在集合中保持不变. deque 特殊之处在于添加和删除项是非限制性的.可以在前面或后面 ...

  4. 存储系列之 RAID技术原理简介

    引言:RAID技术是现代大规模存储的基础,“基础(技术)是拿来革命的”.我查raid相关资料时,查布尔运算,竟然一路查到“香农原理”,这不是有个视频中HW的任总提到的吗,多基础的东西,任总却毫不含糊, ...

  5. JavaScript(对象的创建模式)

    JavaScript和其他语言略有不同,在JavaScript中,引用数据类型都是对象(包括函数).不过,在JavaScript中并没有“类”的概念,这决定了在JavaScript中不能直接来定义“类 ...

  6. poj1386有向图判断是否存在欧拉回路或者欧拉路

      有向图的图联通是指基图联通,也就是把有向图的边改成无向图然后看是否连通.判断联通可用dfs或者并查集. 题意就是给你n个由小写字母构成的字符串,问你能不能将这n个字符串连接起来,B能接在A后面的条 ...

  7. 树点分治入门题poj1741

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 24253   Accepted: 8060 Description ...

  8. UIAutomator2的API文档(三)

    1.UI对象识别器Selector 用法d(text='Clock', className='android.widget.TextView') 支持以下参数,详细信息可参考UiSelector Ja ...

  9. python之robotframework+pycharm测试框架

    一.robotframework简介 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式 ...

  10. Python学习之路【第一篇】:Python简介与入门

    Python简介 一.什么是Python Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言 ...