关于VIVI的bon命令与part命令

    1.如果首先板子上没有烧进去vivi,则可以通过JTAG口以及jflash烧写工具软件把vivi烧进目标板上,当然有的开发板也可以在ADS1.2 的环境用JTAG仿真器(如Multi-ICE),通过某个烧写程序把vivi烧进目标板,这里具体第一次怎么把vivi烧写进去就不再多述了.
    2.当把vivi烧进去后,可以通过输入part show查看MTD分区情况,这个分区表应该和后面kernel中的MTD分区保持一致,我的2.6内核源码中修改后的MTD分区表为:
   0x00000000-0x00020000 : "boot"
   0x00020000-0x00030000 : "param"
   0x00030000-0x001f0000 : "kernel"
   0x00200000-0x00400000 : "root"
   0x00400000-0x04000000 : "user"
那么这里,我们应该将通过修改vivi的源码把MTD分区表修改成一样,修改/vivi/arch/s3c2410/smdk.c文件:
将里面的

#ifdef CONFIG_S3C2410_NAND_BOOT
mtd_partition_t default_mtd_partitions[] = {
{
   name: "vivi",
   offset: 0,
   size: 0x00020000,
   flag: 0
}, {
   name: "param",
   offset: 0x00020000,
   size: 0x00010000,
   flag: 0
}, {
   name: "kernel",
   offset: 0x00030000,
   size: 0x00100000,
   flag: 0
}, {
   name: "root",
   offset: 0x00130000,
   size: 0x00200000,
   flag: MF_BONFS
}
};
#endif

修改成如下:

#ifdef CONFIG_S3C2410_NAND_BOOT
mtd_partition_t default_mtd_partitions[] = {
{
   name: "vivi",
   offset: 0,
   size: 0x00020000,
   flag: 0
}, {
   name: "param",
   offset: 0x00020000,
   size: 0x00010000,
   flag: 0
}, {
   name: "kernel",
   offset: 0x00030000,
   size: 0x001f0000,
   flag: 0
}, {
   name: "root",
   offset: 0x00200000,
   size: 0x00400000,
   flag: MF_BONFS
}, {
   name: "user",
   offset: 0x00400000,
   size: 0x04000000,
   flag: 0
}
};
#endif

保存文件,并重新make,生成新的vivi文件;
3.    重新bon分区flash,这是十分必要的,相当于重新分区并格式化了整个flash区,当bon分区后flash里面的数据将全部丢失,所以要再把前面 新生成的vivi烧入目标板上,当然现在就可以只通过串口把vivi烧写进去,不用像第1步那样操作烧写vivi,但是注意bon命令重新分区后千万不要 断电了再烧写vivi,否则就不能通过串口烧vivi了,具体步骤如下:
(1)这里将flash分成4个区(vivi和param只占一个区),输入bon分区命令:
      #bon part 0 192K 2M 4M
      解释一下上面的命令:
      第1个分区从0开始;
      第2个分区从0x30000(即192K)开始;
      第3个分区从0x200000(即2M)开始;
      第4个分区从0x400000(即4M)开始.
(2)分区成功后,可以通过命令bon part info或者bon part show来查看bon分区信息,接下来不要断电,直接通过串口下载vivi,但是要注意的是,在linux下用xmodem协议下载文件很有可能出现传输 过程中断线或者连不上的情况,但是在windowsXP的附件中的超级终端下通过xmodem传输文件过程却是十分的理想,所以我建议从前面的第3步一开 始就都在windowsXP环境下的超级终端里进行操作,输入命令:
#load flash vivi x
然后点击终端窗口中的传送下的发送文件,采用xmodem协议,选择要下载的vivi码即可.
(3)等待文件传输完毕后,输入boot重启目标板,并按住空格键重新进入vivi模式下,输入命令:
   #part show
 即可看到重新的分区表:
vivi> part show
mtdpart info. (5 partitions)
name               offset         size         flag
------------------------------------------------
vivi             : 0x00000000     0x00020000      0   128k
param            : 0x00020000     0x00010000      0    64k
kernel           : 0x00030000     0x001f0000      0     1M+960k
root             : 0x00200000     0x00400000      4     4M
user             : 0x00400000     0x04000000      0    64M
vivi>
以上就是整个分区过程了.
 
但是输入bon part 0 192k 2m的时候如果就出现了如下错误提示:
 Could not found 'bon' command
 If you want to konw available commands, type 'help' 
则是vivi没装bon命令。
请看源代码是否提供bon命令的相关代码,如果提供了,一般文件名是:bonfs.h, bon.c。再看command.c是否有:
#ifdef CONFIG_CMD_BONFS
extern user_command_t bon_cmd;
#endif
在config文件(如果你用的是缺省的配置文件,请打开/vivi/arch/def-configs/smdk2410),从中添加CONFIG_CMD_BONFS=y。
然后再重新编译vivi。

不过请留意,你vivi源代码是否是板上可以运行的vivi的源码。不然要修改很多地方才能用,如时钟频率、内存配置参数等等。

原文地址: http://hi.baidu.com/zybuaa/blog/item/6459c0bf48ca4f0819d81f2b.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vivo Y31A是一款由Vivo推出的智能手机,想要解锁其Bootloader(BL)需要执行一条特定的命令。解锁BL可以让用户在手机上进行更改、安装第三方定制ROM等操作。然而,需要注意的是,解锁BL可能会导致手机的保修失效,并且存在一定的风险,因此在执行解锁操作之前,用户需要仔细考虑和了解相关风险。 为了解锁Vivo Y31A的BL,需要通过USB数据线将手机连接到电脑上。首先,在电脑上下载并安装Vivo官方提供的ADB驱动程序,确保电脑可以正常识别手机。接下来,在电脑上启动命令提示符或终端,进入ADB命令行界面。 然后,输入以下命令来确认手机是否能够连接到电脑。输入 adb devices 命令后,若有设备号显示,则表示手机已经成功连接。 接着,输入 adb reboot bootloader 命令来重新启动手机并进入到Bootloader模式。 进入Bootloader模式后,输入 fastboot oem unlock 命令来执行解锁操作。手机屏幕上会显示相应的提示,用户需要确认解锁操作。 经过上述步骤,Vivo Y31A的BL解锁应该已经完成。此时用户可以自由地进行各种自定义操作,如刷入第三方定制ROM等。需要注意的是,解锁操作可能会导致手机数据丢失,请提前备份重要数据。 最后,为了避免由于解锁操作造成的问题,建议在进行解锁前仔细阅读Vivo官方提供的相关注意事项和指导手册,确保自己具备足够的操作技能,并明确所有解锁可能带来的后果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值