zoukankan      html  css  js  c++  java
  • 烧写uboot和kernel的步骤

    uboot是用EOP工具通过串口烧写,速度较慢,适合烧写代码量小的bin文件。

    烧写前需要安装

    1、USB转串口驱动,2、OpenJTAG软件

    安装OpenJTAG是为了里面的oflash工具,可以在cmd黑框中调用。uboot可以被烧进nand flash,也可以被烧进nor flash,这在oflash的烧写界面可以配置。

    烧写uboot步骤:

    1、得到uboot源码和补丁文件

    2、解压缩源码:tar xjf u-boot-1.1.6.tar.bz2

    3、转移到uboot目录:cd u-boot-1.1.6

    4、给uboot打补丁:patch -p1 < ../u-boot-1.1.6_jz2440.patch

    (-p1的意思是忽略位于补丁文件开头的路径的第一项,也就是当前所在的文件夹u-boot-1.1.6,如下图)

    5、配置uboot:make 100ask24x0_config

    6、编译uboot:make

    7、编译之后会得到一个uboot.bin文件,直接在windows环境下把这个bin文件通过oflash烧写进nor flash或者nand flash就行:oflash uboot.bin

    linux内核如果用EOP烧写的话需要几个小时,所以选择通过USB烧写。

    烧写前需要安装:

    1、USB烧写软件dnw_100ask.exe,2、DNW的驱动zadig-2.3.exe(安装驱动时要先把开发板上电,启动uboot并停留在菜单界面,这时候打开zadig-2.3.exe并选择libusb-win32 (v1.2.6.0))

    烧写内核步骤:

    1、得到uboot源码和补丁文件

    2、解压缩源码:tar xjf linux-2.6.22.6.tar.bz2

    3、转移到内核目录:cdlinux-2.6.22.6

    4、给内核打补丁:linux-2.6.22.6$ patch -p1 < ../linux-2.6.22.6_jz2440_v1.patch

    5、配置内核:

    配置内核有3种方式:

    1、直接执行make menuconfig,执行之后会跳出一个菜单,里面有很多驱动的选项,可以选Y:编译进内核,选N:不编译进内核,选M:作为一个模块编译进内核,但这种方式要配置的项太多,不可取

    2、使用默认配置,在上面修改:

      在内核目录下查找文件名带有“defconfig”的文件:find -name "*defconfig*"。会发现各个架构下的处理器都有后缀为_defconfig的配置文件,可以从配置文件所在的路径名字上看出,比如./arch/mips/configs/tb0219_defconfig是mips架构的配置文件,./arch/arm/configs/s3c2410_defconfig是arm的,./arch/powerpc/configs/mpc8568mds_defconfig是ppc的,./arch/ppc/configs/katana_defconfig也是ppc的,这里用两个路径只是因为arch/ppc是老版本linux内核的架构配置代构代码,另一个是新版本的linux内核架构代码。

      找到s3c2410_defconfig配置文件(最贴近s3c2440),执行make s3c2410_defconfig,把配置写入.config文件;再执行make menuconfig,这条指令会读取之前生成的.config文件,形成一个经过默认配置的菜单,之后只要在默认配置的基础上修改自己想要的配置就行了。

    3、使用厂家给的配置文件

      把config_厂家的文件直接复制成.config:cp config_ok .config,再执行make menuconfig,这种方法和第二种类似。

    6、编译内核:make uImage

      uImage是再真正的内核之前加一个头部,uboot需要用到这个头部,编译完的uIamge在linux-2.6.22.6archarmoot目录下。

    7、开发板上电,按任意键使uboot停留在菜单界面,选择k烧写内核,等待usb传输数据

    8、在windows环境下打开dnw_100ask.exe,在USB_PORT下找到transmit选项,传输uImage就行了              

  • 相关阅读:
    第一部分:开发前的准备-第二章 基础入门
    多线程笔记
    .net平台下垃圾回收机制
    xml基本操作和保存配置文件应用实例
    .net平台下C#socket通信(中)
    .net平台下C#socket通信(上)
    泛型
    面向过程和面向对象及面向对象的三大特征
    值类型和引用类型及参数传递
    js中typeof与instanceof区别
  • 原文地址:https://www.cnblogs.com/physworld/p/14091841.html
Copyright © 2011-2022 走看看