zoukankan      html  css  js  c++  java
  • 板子操作

    struct mtd_partition

    提示信息 data abort

     

     

    略过Uboot

     

    2.6.30.4    先能正常工作,然后其他版本 升级

    内核移植,完全参考手册。

    ftp服务器下载内核2.6.30.4

     

    也可以参考:http://blog.csdn.net/huihui1988/article/details/5799500

    1、下载 解压内核

    从官网上下载linux-2.6.34的内核, http://www.cnblogs.com/ai616818/admin/ftp://ftp.kernel.org/pub/linux/kernel/v2.6/

    CROSS_COMPILE        ?= /usr/local/arm/3.4.1/bin/arm-linux-

    修改平台输入时钟:       平台 ——板卡  对应的文件是:

    arch/arm/ 目录

    mach-s3c2440/ 目录

    clock.c  irq.c          mach-at2440evb.c  mach-rx3715.c    s3c2440.c
    dma.c    Kconfig        mach-nexcoder.c   mach-smdk2440.c
    dsc.c    mach-anubis.c  mach-osiris.c     Makefile

    下的文件 mach-smdk2440.c       mach 平台的    SMDK  Samsung MCU Development Kit  三星开发板

    Nand Flash:  仅仅是做修改

    arch/arm

    plat-s3c24xx/

    common-smdk.c

    目标:结构体

    static struct mtd_partition  smdk_default_nand_part[] =

    添加内核配置选项:

    drivers mtd nand Kconfig文件

    yaffs2支持   打补丁即可

    支持后,内核源码的 fs/ 有yaffs2/ 目录

    同时fs/ 目录下的Makefile 和Kconfig 文件也添加了yaffs2 的配置

    DNW 配置中download address 问题,需要改吗?       SDRAM 的地址    ram(是内存)

    天嵌:

    设置0x3000 0000 是因为 sdram 的开始地址是这个值。

    也就是说 这是 sdram 的地址

    天嵌: 已经全部 固化下载到了0x3000 0000   DNW 中任意设置,都是可以的。

    随意更改DNW 配置,信息都是下面的:

    串口打印信息:

    USB host is connected. Waiting a download.

    Now, Downloading [ADDRESS:30000000h,TOTAL:1939526]
    RECEIVED FILE SIZE: 1939526 (947KB/S, 2S)

    NAND erase: device 0 offset 0x200000, size 0x200000
    Erasing at 0x3fc000 -- 100% complete.
    OK

    NAND write: device 0 offset 0x200000, size 0x1d983c

    Writing data at 0x3d9800 -- 100% complete.
     1939516 bytes written: OK

    运行kernel:

    串口信息

    Start Linux ...
    Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00200000 ... Copy Kernel to SDRAM done,NOW, Booting Linux.....

    关于0x30008000

    grep -rn 0x30008000 ./

    先是下载到 SDRAM  0x3000 0000

    下载后烧写到 NAND FLASH 0x200000

    然后是拷贝到 SDRAM (内存) 的0x30008000   运行地址?

    8000  32k???1000 00 k

    2^5=32 k

    文件系统移植:

    cramfs 文件系统没问题

    移植 最新版本kernel 3.3.1 2012-4-10

    step1 修改Makefile 添加 arm支持

    step2 修改平台输入时钟  mach-s3c2440    mach-smdk2440.c 

    step3 配置菜单 

    step4 修改机器码 

    编译镜像。

    step1  Nand Flash 进一步修改:

    修改分区表

    (修改drivers mtd nand Kconfig)

    烧写 后 解压Image 后 提示data abort

    Booting Linux ...
    Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00200000 ... Copy Kernel to SDRAM done,NOW, Booting Linux......
    data abort
    原因:镜像文件太大,超过了分区设置的2M大小。

    2.17M 去掉一些无用的内核选项后

    可以,但是乱码! 2.6.32.59同样裁剪后仍正常。

    移植2.6.32.59内核:同2.6.30.4 完好。

    继续,android4.0 Linux3.0内核移植

    http://wenku.baidu.com/view/658fc561783e0912a2162aae.html

    除了修改了内核配置菜单中的 boot 选项,其它一样。  Linux 3.0 移植OK。

     / # uname -r
    3.0.27

  • 相关阅读:
    SQL Server Audit监控触发器状态
    SQL Server 数据变更时间戳(timestamp)在复制中的运用
    SQL Server 更改跟踪(Chang Tracking)监控表数据
    SQL Server 变更数据捕获(CDC)监控表数据
    SQL Server 事件通知(Event notifications)
    SQL Server 堆表行存储大小(Record Size)
    SQL Server DDL触发器运用
    SQL Server 默认跟踪(Default Trace)
    SQL Server 创建数据库邮件
    SQL Server 跨网段(跨机房)FTP复制
  • 原文地址:https://www.cnblogs.com/ai616818/p/2426438.html
Copyright © 2011-2022 走看看