加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

davnici dm6446中flash程序固化

发布时间:2020-12-15 17:43:35 所属栏目:百科 来源:网络整理
导读:http://ansondeng.blog.163.com/blog/static/182682482201212092338857/ 1. ????? 配置编译一个符合要求的内核 ? 首先, IDE 驱动和 flash 驱动有冲突必须 disable ,路径为: ????????Device drivers -- ATA/ATAPI/MFM/RLL support? à ?ATA/ATAPI/MFM/RLL

http://ansondeng.blog.163.com/blog/static/182682482201212092338857/

1.?????配置编译一个符合要求的内核

?

首先,IDE驱动和flash驱动有冲突必须disable,路径为:

????????Device drivers --> ATA/ATAPI/MFM/RLL support?à?ATA/ATAPI/MFM/RLL support

???????然后,使能flash驱动,nor路径:

??????????????Device drivers --> memory technology devices?à?RAM/ROM/Flash chip drivers?àsupport for AMD

???????Nand路径:

??????????????Device drivers --> memory technology devices?à?NAND Flash device driver?àNAND device support

???????最后,使能支持jffs2,路径:

??????????????File system?à?miscellaneous filesysytems?à?Journalling flash file system v2(JFSS2) support


???????具体配置信息:

#CONFIG_IDE is not set

?

CONFIG_MTD=y
CONFIG_MTD_PARTITIONS=y
?
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_UTIL=y
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_START=0x8000000
CONFIG_MTD_PHYSMAP_LEN=0
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_NAND_DAVINCI=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
?

另外,程序固化后出现错误?Sending DHCP and RARP requests,解决办法:

把下面几个选项去掉就OK

networking?-》networking options?-》IPKernel level autoconfiguration不能选下面三个子项

2.制作一个文件系统镜像

???????第一种方法,源码包中给出了一个ramdisk.gz,可以直接做成镜像。其位置为/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/images/ramdisk.gz,具体操作:

  • ??Create a working directory
?? host$ mkdir -p /home/user/workdir
  • Copy the example ramdisk.gz file to the working directory
?? host$ cd /home/user/workdir
?? host$ cp <ramdisk location>/ramdisk.gz .
  • Gunzip and mount the ramdisk image to a temporary directory
?? host$ mkdir ram
?? host$ gunzip ramdisk.gz
?? host$ mount ramdisk ram -o loop
  • Create the JFFS2 image of the file system mounted at /home/user/workdir/ram
host$ mkfs.jffs2 -r ram -e 64 -o rootfs.jffs2

生成的rootfs.jffs2就是所要的镜像文件

第二种方法,通过裁剪target文件自己制作一个镜像,此方法比较复杂,具体见TI Davinci DM6446?开发攻略.doc

3.将内核与文件系统镜像固化到flash中,以nor flash烧写rootfs.jffs2为例

??????

第一种方法,使用uboot

???????先通过网络下载到ram中,

?????????????? dvevm# tftp 0x80700000 rootfs.jffs2

???????擦除nor中用于存储的区域,具体地址根据partition_mtd分区表确定

?????????????? dvevm# erase 0x02440000 +

???????ram中拷贝到nor

?????????????? dvevm# cp.b 0x80700000 0x2440000 0x27eeec

???????更改启动参数?bootargs,此处示例表示mtd中的第四个分区存储文件系统

?????????????? "... root=/dev/mtdblock3 rw rootfstype=jffs2 ..."

???????另外,烧写kernel可用同样方法,只需改变nor中存储的地址即可。最后需要更改启动方式:setenv bootcmd bootm 0x02040000,此地址即为kernel存储的地址。

第二种方法,使用linux

???????先擦除nor的分区

?????????????? target$ flash_eraseall -j /dev/mtd3

???????烧写fsnor的分区

?????????????? target$ flashcp <image dir>/rootfs.jffs2 /dev/mtd3

??????????????重启,改bootargs,偶了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读