freescale partition处理
来源:互联网 发布:手机数据恢复软件免费版 编辑:程序博客网 时间:2024/06/05 18:34
freescale平台调试emmc
1.在uboot中可识别这颗emmc。
=> mmcinfo
yue.zhong test curr_device=2
Device: FSL_SDHC
Manufacturer ID: 13
OEM: 14e
Name: Q2J55
Tran Speed: 52000000
Rd Block Len: 512
MMC version 4.0
High Capacity: Yes
Capacity: 7.1 GiB
Bus Width: 8-bi
2.修改kernel_imx/drivers/mmc/core/mmc.c
card->ext_csd.rev = ext_csd[EXT_CSD_REV];
//added by yue.zhong at 2016-07-13
// if (card->ext_csd.rev > 6) {
if (card->ext_csd.rev > 8) {
//end added by yue.zhong at 2016-07-13
pr_err(“%s: unrecognised EXT_CSD revision %d\n”,
mmc_hostname(card->host), card->ext_csd.rev);
err = -EINVAL;
goto out;
}
编译运行后adb shell进去可以看到在/dev/block下面生成节点
mmcblk1
mmcblk1p1
mmcblk1p2
mmcblk1p3
mmcblk1p4
mmcblk1p5
mmcblk1p6
mmcblk1p7
mmcblk1p8
mmcblk1p9
mmcblk3
mmcblk3boot0
mmcblk3boot1
mmcblk3rpmb
platform
ram0
ram1
ram10
ram11
ram12
ram13
ram14
ram15
ram2
ram3
ram4
ram5
ram6
ram7
ram8
ram9
vold
root@sabresd_6dq:/dev/block #
3.以上可证明freescale的mfgtools工具有问题,跑起来的环境不能支持这颗emmc,自己找其他办法完成分区,格式化。
4.使用busybox中的fdisk 和 busybox mke2fs -T ext4 处理。过程如下:
一。
emmc启动说明
—————————————————
1.板子调成从sd2启动,制作启动的sd卡(eng版本)。
2.将说明包中的mk_emmc.sh放在对应firmware生成目录下,
如:\\192.168.71.66\zhongyue\workspace\freescale\base\out\target\product\sabresd_6dq
3.请修改说明包中的push_fw.bat文件,将dir_var变量表示的目录修改成自己对应的firmware生成目录。
如:set dir_var=\\192.168.71.66\zhongyue\workspace\freescale\base\out\target\product\sabresd_6dq
4.确保板子从sd启动后,正常启动系统,adb正常识别设备,执行push_fw.bat,看到请按任意键。。。 关闭窗口,进入下一步。
5.adb shell 进入/data目录 ,可看到uboot,kernel,system,recovery 4个firmware以及mk_emmc.sh脚本,增加执行权限,chmod 777 mk_emmc.sh。
6.执行脚本 sh mk_emmc.sh 。确保分区完成,各firmware flash done。
Disk /dev/block/mmcblk3: 7616 MB, 7616856064 bytes
4 heads, 16 sectors/track, 232448 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk3p1 1 245 7832 83 Linux
/dev/block/mmcblk3p2 246 490 7840 83 Linux
/dev/block/mmcblk3p3 491 33450 1054720 5 Extend
/dev/block/mmcblk3p4 33451 232448 6367936 83 Linux
/dev/block/mmcblk3p5 491 16116 500024 83 Linux
/dev/block/mmcblk3p6 16117 31742 500024 83 Linux
/dev/block/mmcblk3p7 31743 31987 7832 83 Linux
/dev/block/mmcblk3p8 31988 32171 5880 83 Linux
/dev/block/mmcblk3p9 32172 32233 1976 83 Linux
…
flash bootloader done.
…
flash kernel done.
…
flash system done.
…
flash recovery done.
please emmc boot!
7.将板子改成emmc启动
二。
@echo off
set dir_var=\\192.168.71.66\zhongyue\workspace\freescale\base\out\target\product\sabresd_6dq
set dir_bootloader_var=%dir_var%\u-boot-imx6dl.imx
set dir_kernel_var=%dir_var%\boot-imx6dl.img
set dir_system_var=%dir_var%\system.img
set dir_recovery_var=%dir_var%\recovery-imx6dl.img
set dir_sh_var=%dir_var%\mk_emmc.sh
echo %dir_var%
echo %dir_bootloader_var%
echo %dir_kernel_var%
echo %dir_system_var%
echo %dir_recovery_var%
adb remount
echo waitting…
dir %dir_bootloader_var% && adb push %dir_bootloader_var% /data
dir %dir_kernel_var% && adb push %dir_kernel_var% /data
dir %dir_system_var% && adb push %dir_system_var% /data
dir %dir_recovery_var% && adb push %dir_recovery_var% /data
dir %dir_sh_var% && adb push %dir_sh_var% /data
pause
三。
#!/bin/bash
# added by yue.zhong
#1.fdisk partition.
disk=$1
if [ -z $disk ]; then
disk=/dev/block/mmcblk3
echo “default: $disk”
fi
#dd if=/dev/zero of=$disk bs=1k count=129 seek=384
busybox fdisk $disk << EOFd1d2d3d4dnp11+8Mnp2+8Mne3+1080Mnpn+512Mn+512Mn+8Mn+6Mn+2MpwEOF#2.echo "###flash firmware and format..."echo 0 > /sys/block/mmcblk3boot0/force_ro
dd if=/data/u-boot-imx6dl.imx of=/dev/block/mmcblk3boot0 bs=512 seek=2
echo “flash bootloader done.”
echo 8 > /sys/block/mmcblk3/device/boot_config
dd if=/data/boot-imx6dl.img of=/dev/block/mmcblk3p1
echo “flash kernel done.”
busybox mke2fs -T ext4 /dev/block/mmcblk3p4
busybox mke2fs -T ext4 /dev/block/mmcblk3p5
busybox mke2fs -T ext4 /dev/block/mmcblk3p6
busybox mke2fs -T ext4 /dev/block/mmcblk3p7
dd if=/data/system.img of=/dev/block/mmcblk3p5
echo “flash system done.”
dd if=/data/recovery-imx6dl.img of=/dev/block/mmcblk3p2
echo “flash recovery done.”
#3
rm -rf /data/u-boot-imx6dl.imx
rm -rf /data/boot-imx6dl.img
rm -rf /data/system.img
rm -rf /data/recovery-imx6dl.img
rm -rf /data/mk_emmc.sh
echo “please emmc boot!”
#file end
以上为emmc调试过程。
遗留问题:fastboot flash bootloader 不可用,怀疑mmcblk3boot0为只读状态,没有再深入研究。
- freescale partition处理
- Freescale camera 处理记录
- Freescale MX51/MX6Q平台的透明处理
- freescale有些关于怎么样处理freescale芯片上外围设备的惯例
- 如何复位Freescale Power Architecture系列处理中的PCIe控制器
- Freescale实纪——线性CCD图像处理与二值化
- LeetCode | Partition List(partition方法处理链表)
- rabbitmq对network partition的处理
- hive 动态分区(Dynamic Partition)异常处理
- Partition
- PARTITION
- partition
- partition
- partition
- Partition
- partition
- partition
- Freescale 加速度计
- 微信小程序开发教程
- 【P2P】Peer-To-Peer综述(2)
- 微信小程序,行业的又一次打破?
- Mysql查询语法(读mysql必知必会有感)
- three.js地形切片的拼接与地图切片的合并
- freescale partition处理
- ubuntu如何安装下载工具uget+aria2
- linux 开机自启Tomcat服务器
- CSS(4)排版初步
- DragonBones For CocosLua
- Celery 学习笔记(4)- Workflow
- 五大存储模型关系模型、键值存储、文档存储、列式存储、图形数据库
- webView不加载,不进代理方法
- vim 代码折叠