S5PV210 SD卡启动流程分析
来源:互联网 发布:淘宝卖家运单号填错 编辑:程序博客网 时间:2024/05/22 04:26
0. 在S5PV210.dat允许SD启动
1. 初始化并进入到OEMPlatformInit
1.1 SDHC_INIT(SDMMCDRV.c)
全局变量初始化->内存映射->...
1.2 BP_Init
Sets up locations for various objects in memory provided by caller
全部变量g_FlashInfo、g_partStateTable...等初始化。
1.3 FMD_GetInfo
Provides information on the NAND flash
pFlashInfo等全局变量初始化
1.4 TOC_Read(NAND.CPP)
Try to retrieve TOC (and Boot config) from boot media
1.4.1 TOC_Init
1.4.1.1 BootConfigInit
Set default boot configuration values,g_pBootCfg初始化
1.4.2 TOC_Write
1.5 SetCPUClock()
1.6 OEMPMICInit()
1.7 InitializeDisplay()
2. OEMPreDownload
根据g_bDownloadImage返回跳转或下载
3 DownloadImage
根据第2步返回的为下载进入此函数
3.1 GetImageType
从内存中获得前七个字节(假设SD卡中的NK.BIN已经搬入内存中)
3.2 根据3.1得到的类型进行下载
3.2.1 DownloadSignedBin(其中一个是Bin类型)
3.2.1.1 memset()
Clearing memory ensures no garbage between sparse .bin records, so that
our post-download checksum will be accurate.
3.2..1.2 OEMIsFlashAddr
判断是否为Flash地址
3.2.1.3 OEMStartEraseFlash
擦除Flash
3.2.1.4 OEMReadData (RANDOM_SEED_LENGTH, (LPBYTE) &packetData.bRandomSeed)
read random seed at start of signed .bin file
3.2.1.5 OEMReadData (...) Download signed packets (.bin records or record chunks)
3.2.1.6 OEMReadData (...) Read the .bin record header
... ...
3.2.1.7 ComputeChecksum
3.2.1.8 WriteImageToFlash(FLASH.c)
3.2.1.8.1 OEMWriteFlash(FLASH.c)->WriteFlashNK
3.2.1.8.1.1 (NOSDBOOT)
FMD_ReadSector(NOSDBOOT)
BP_LowLevelFormat
BP_OpenPartition
BP_GetPartitionInfo
EraseBlocks
FMD_WriteSector
BP_SetDataPointer
BP_WriteData
TOC_Write
3.2.1.8.1.2 (SDBOOT)
FMD_ReadSector(NOSDBOOT)
BP_LowLevelFormat
BP_OpenPartition
BP_GetPartitionInfo
EraseBlocks
FMD_WriteSector
BP_OpenPartition
BP_Storage_Init
BP_OpenStoragePartition
SDHC_WRITE
BP_SetDataPointer
BP_WriteData
TOC_Write
4. 根据第2步得到的类型进行跳转
1. 初始化并进入到OEMPlatformInit
1.1 SDHC_INIT(SDMMCDRV.c)
全局变量初始化->内存映射->...
1.2 BP_Init
Sets up locations for various objects in memory provided by caller
全部变量g_FlashInfo、g_partStateTable...等初始化。
1.3 FMD_GetInfo
Provides information on the NAND flash
pFlashInfo等全局变量初始化
1.4 TOC_Read(NAND.CPP)
Try to retrieve TOC (and Boot config) from boot media
1.4.1 TOC_Init
1.4.1.1 BootConfigInit
Set default boot configuration values,g_pBootCfg初始化
1.4.2 TOC_Write
1.5 SetCPUClock()
1.6 OEMPMICInit()
1.7 InitializeDisplay()
2. OEMPreDownload
根据g_bDownloadImage返回跳转或下载
3 DownloadImage
根据第2步返回的为下载进入此函数
3.1 GetImageType
从内存中获得前七个字节(假设SD卡中的NK.BIN已经搬入内存中)
3.2 根据3.1得到的类型进行下载
3.2.1 DownloadSignedBin(其中一个是Bin类型)
3.2.1.1 memset()
Clearing memory ensures no garbage between sparse .bin records, so that
our post-download checksum will be accurate.
3.2..1.2 OEMIsFlashAddr
判断是否为Flash地址
3.2.1.3 OEMStartEraseFlash
擦除Flash
3.2.1.4 OEMReadData (RANDOM_SEED_LENGTH, (LPBYTE) &packetData.bRandomSeed)
read random seed at start of signed .bin file
3.2.1.5 OEMReadData (...) Download signed packets (.bin records or record chunks)
3.2.1.6 OEMReadData (...) Read the .bin record header
... ...
3.2.1.7 ComputeChecksum
3.2.1.8 WriteImageToFlash(FLASH.c)
3.2.1.8.1 OEMWriteFlash(FLASH.c)->WriteFlashNK
3.2.1.8.1.1 (NOSDBOOT)
FMD_ReadSector(NOSDBOOT)
BP_LowLevelFormat
BP_OpenPartition
BP_GetPartitionInfo
EraseBlocks
FMD_WriteSector
BP_SetDataPointer
BP_WriteData
TOC_Write
3.2.1.8.1.2 (SDBOOT)
FMD_ReadSector(NOSDBOOT)
BP_LowLevelFormat
BP_OpenPartition
BP_GetPartitionInfo
EraseBlocks
FMD_WriteSector
BP_OpenPartition
BP_Storage_Init
BP_OpenStoragePartition
SDHC_WRITE
BP_SetDataPointer
BP_WriteData
TOC_Write
4. 根据第2步得到的类型进行跳转
- S5PV210 SD卡启动流程分析
- S5PV210启动流程分析
- s5pv210-SD卡启动详解
- S5PV210的SD卡启动详解1
- S5PV210的SD卡启动详解2
- s5pv210-Uboot启动流程
- S5PV210 启动流程
- S5PV210开发 -- 启动流程
- 6410SD卡启动流程
- S5PV210的SD卡启动实战1~2
- s5pv210——SD卡启动的细节思考
- S5PV210系列 (裸机十二)之 SD 卡启动详解
- s5pv210启动分析
- S5PV210启动过程分析
- S5PV210启动过程分析
- S5PV210启动过程分析
- S5PV210启动过程分析
- S5PV210启动过程分析
- VS如何创建和使用lib文件
- Java Swing组件类型
- TextView 中 弹出上下文的方法
- USB 厂商ID 列表
- 蓝牙耳机问题LOW COMPLEXITY SUBBAND CODEC(SBC) IS SELECTED
- S5PV210 SD卡启动流程分析
- Oracle行列转换小结
- C#设计模式之22——策略模式
- VB.NET实现ReportViewer 显示参数化查询结果
- Android 自定义菜单
- STL学习笔记----7.STL迭代器
- Ant的使用 - 简单介绍
- 第十七周实验报告(1)
- linux 下对 flash 设备操作的应用程序(嵌入式参考用)