一. 嵌入式软件层次

1) Bootloader->引导加载程序

  整个嵌入式系统的加载启动任务完全交给Bootloader完成,它的主要任务是将内核映象从硬盘读到RAM中,然后跳转到内核入口启动内核(操作系统)!通俗来讲,Bootloader的作用就是初始化硬件,启动操作系统。

U-BOOT是Bootloader最常用的一种,将uboot下载至开发板的nand flash(ROM)中,即可通过仿真软件Secure CRT对开发板进行初始设置。       包括开发板的环境变量、IP等设置项,为后面下载内核、加载文件系统做基础。

2)Linux内核

  实现不同的硬件、软件需求配置不同的系统内核。一般基于已有的内核进行修改

配置内核 -> 编译内核 -> 安装内核 -> 清理内核过程文件(make clean)

配置内核: make menuconfig ARCH=arm   菜单式交互界面选择所需的驱动、协议文件

编译内核:make uImage(内核名)  ARCH=arm CROSS_COMPILE=arm-linux-

安装内核:通过tftp服务器,在基于uboot下下载uImage至 20000fc0(210开发板启动地址)  "tftp uImage 20007fc0"

3)文件系统

  文件系统简单说就是一种目录结构,由于linux操作系统的设备在系统中是以文件的形式存在,将这些文件分类管理以及提供和内核交互的接口,就形成了一定的目录结构也就是文件系统。  

基本流程:a.设置根文件系统目录rootfs及内部存储文件目录bin、dev、lib、sbin、sys、usr、mnt等;

     b.文件系统添加内核模块,在linux内核目录下"/home/S4-Driver/linux-smart210/";

        " make modules ARCH=arm CROSS_COMPILE=arm-linux- "   内核编译

        " make modules——install ARCH=arm INSTALL_MOD_PATH=/home/S5-/rootfs "   内核文件复制到根文件目录下

c.根目录"/.../rootfs"下安装交叉编译器busybox,配置内核->编译内核->安装拷贝make install;

     d.挂载根文件系统,使用nfs方式,可实时在线根文件系统rootfs;

  SecureCRT -> 通过uboot对开发板进行参数配置(nfs配置项) -> tftp服务器下载Linux内核 -> bootm 20007fc0运行挂载即可!

二.偶遇问题

1. 开发板ping的系列问题

1) 模型结构搭建:PC机 -> 有线网卡 -> 路由器 -> 直连网线 -> 开发板网口;

2)a. 设置虚拟机为桥接模式,以保证外网可寻找到Linux虚拟机ip;

   b. PC机使用的是有线网卡,则PC机及Linux虚拟网络适配器觉选择Realtak USB(有线网口);

   c. 保证Linux虚拟机、PC机、开发板三者ip处于同一网段;

3)关闭Linux虚拟机、PC机的防火墙,使得PC可ping通Linux和开发板

  再排除硬件接口问题,即可通讯。

2.nfs挂载问题

  nfs挂载出现如:"Server is not responding"、" unable to mount root"等问题,其主要原因是nfs的挂在设置参数、下载地址有问题。如smart210下载地址为20007fc0(并非20008000),nfs默认是使用udp通信协议,挂载参数网上都可哟搜索到,多试一试就没问题,前提是保证Linux的nfs服务器能正常使用。

    

嵌入式Linux开发环境搭建,问题ping、nfs的解决的更多相关文章

  1. 00.嵌入式Linux开发环境搭建

     3.虚拟机上网配置 虚拟机如果要从网上获取资源,就要能够访问外网.虚拟机有三种上网方式:桥接上网,NAT上网,单主机模式[没用过].本节从原理和操作2个方面讲了NAT方式和桥接方式这2种不同的虚拟机 ...

  2. 用Windows+VirtualBox搭建嵌入式Linux开发环境

    Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...

  3. 一步步学习Linux开发环境搭建与使用

    00.Linux开发环境搭建与使用1--Linux简史 01.Linux开发环境搭建与使用2--Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3--通过虚拟机安装系统(ub ...

  4. Django Python MySQL Linux 开发环境搭建

    Django Python MySQL Linux 开发环境搭建 1.安装Python 进行Python开发,首先必须安装python,对于linux 或者Mac 用户,python已经预装. 在命令 ...

  5. Linux开发环境搭建与使用系列教程

    00.Linux开发环境搭建与使用1——Linux简史 01.Linux开发环境搭建与使用2——Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3——通过虚拟机安装系统(ub ...

  6. Android开发环境搭建时遇到问题的解决方法

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/linux_loajie/article/details/33823637 Android开发环境搭建 ...

  7. 嵌入式linux开发环境构建

    2.1硬件环境构建 2.1.1主机与目标板结合的交叉开发模式 在主机上编辑.编译软件,然后再目标办上运行.验证程序. 对于S3C2440.S3C2410开发板,进行嵌入式Linux开发时一般可以分为以 ...

  8. 基于AM3352/AM3354/AM3358/AM3359的Linux 开发环境搭建(上)

    遇到不少人新手小白问,前辈如何搭建一个优良的Linux 开发环境?之前一直都是在用win开发,现在想要尝试用Linux做开发等等一系列的问题.开源一直是给电子行业工作者提供了一种向技术更深处进发的机遇 ...

  9. 嵌入式ARM开发环境搭建

    1. 安装,配置,启动FTP服务 安装FTP: sudo apt-get install vsftpd 修改vsftpd的配置文件/etc/vsftpd.conf,将下面两行的'#'去掉#local_ ...

随机推荐

  1. MSYS2 瘦身小攻略(使用junction)

    MSYS2, 吃硬盘的大神 MSYS2,集成了 x86 x64两个开发环境,且可以使用 pacman 进行包管理,可谓方便的很!可是,这个东东也有一个很不好的地方,就是实在太占硬盘.尽管下载的软件包一 ...

  2. 凤年读史27:普鲁士vs德意志

    孙宇 普鲁士,是熟悉历史的人都知道的一个名词,它与德国关系密切.似乎在某些情境中,普鲁士就是德国,而在另一些场合,普鲁士和德国又不一样,有所区别.那么普鲁士到底是什么?它和德国到底是什么关系? 普鲁士 ...

  3. 【canvas】基础练习一 图形

    Demo1[绘制一条线] <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  4. uva10883_Supermean_数学

    题目大意:给出n个数,每相邻两个数求平均数,得到n-1个数,再求平均数,得到n-2个数,......一直到最后一个数,输出这个数. 题目很简单,就是中间数据会比较大有点复杂,超过double的范围,而 ...

  5. 3017C语言_文件

    第七章  文件 7.1  C语言文件的概念 7.1.1 文件的概念 在此之前,所有的输入和输出只涉及到键盘和显示器.在运行C程序时,我们通过键盘输入数据并借助显示器把程序的运算结果显示出来.但是,计算 ...

  6. Centos7安装Typecho详细教程

    Centos7安装Typecho详细教程   首先搭建LAMPH环境 L linux 服务器(centos或者ubunt) .A Apache .M mysql .P PHP 安装Apache.PHP ...

  7. Liunx 安装 Nessus

    Liunx 安装 Nessus   啥子是Nessus 它是一款系统漏洞扫描与分析软件,可以扫描服务器存在哪些漏洞,页面简介美观,非常Nice. 获取激活码 首先访问如下网站 https://www. ...

  8. 【Zookeeper02】ZK的作用以及使用

    上一篇介绍了ZK的安装以及集群的搭建,这只能算是个软件安装过程,具体是做什么的.怎么用也没有做解释,这一篇中博主就自己的私人理解简单写一下: 1.是什么: a.Zookeeper是一个分布式协调服务, ...

  9. Linux运维工程师学习成长路线

    不过大家的留言都很精彩,希望大家也可以去留言区逛一逛~~ 好在这不是最后一期送书,之前已经有了好多活动,小编一定继续为大家多送些福利. 希望大家可以一如既往的关注脚本之家,支持爱你们的小编,共同进步! ...

  10. scikit-learn算法选择路径图

     原文链接:https://blog.csdn.net/guang_mang/article/details/73658496