mkv210_image.c的解析笔记(基于S5PV210)

背景介绍

1. mkv210_image.c的作用

mkv210_image.c的主要作用就是由usb启动时使用的镜像(如:led.bin)制作得到由sd卡启动的镜像(210.bin)

2. 为什么要制作镜像

由S5PV210的启动过程我们知道,USB启动不需要进行校验和检查,但是在SD卡启动时需要进行校验和检查(checksum OK?),并且这个信息是在16字节的Header中,所以我们就要通过usb启动时使用的镜像来制作sd卡启动的镜像。

BL1必须具有头数据。头数据被iROM代码复制到内部SRAM中。
头数据有两个信息。一个是BL1的大小,另一个是BL1的校验和数据
在这里插入图片描述
当加载BL1时,iROM检查报头数据中BL1的大小,并将BL1复制到内部SRAM。
复制BL1后,将复制的BL1的iROM和数据与BL1头数据中的校验和数据进行比较。
如果成功了,那就开始。否则iROM将尝试从SD/MMC通道2端口进行第二次引导(4位SD/MMC)

程序分析

注:本文件来自于友善之臂的裸机教程,据友善之臂的文档中讲述,本程序是一个热心网友提供,在此表示感谢。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define BUFSIZE                 (16*1024)
#define IMG_SIZE                (16*1024)
#define SPL_HEADER_SIZE         16
#define SPL_HEADER              "S5PC110 HEADER  "

//通过命令行对main函数进行传参(传被加工的镜像和要生成的镜像地址)
//如:./mkx210 led.bin 210.bin

int main (int argc, char *argv[])
{
   
	FILE		*fp;
	char		*Buf, *a;
	int		BufLen;
	int		nbytes, fileLen;
	unsigned int	checksum, count;
	int		i;
	
	// 1. 判断传参个数是否符合规则,也就是1个执行文件本身,1个待加工文件镜像,
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值