最新要闻
- 难怪叶二娘要勾引虚竹的父亲,你看幕后黑手是谁?叶二娘喊他哥哥_前沿资讯
- 当前热讯:一颗巨型小行星正飞速靠近地球 网友:赶紧来撞我
- 今天开始 谷歌搜索大变样了:AI接管 焕然一新_环球视讯
- 同程酒店订单“订后即焚”功能引热议 网友:这是要防谁?
- 前方畅通日产轩逸频刹车减速 本田飞度看不下去:右侧也要超过去
- 农村母女嫌路边冷藏车太吵 要求关掉制冷机未果 一砖砸碎车玻璃-当前热文
- 277米!华为WATCH Ultimate非凡大师助力 潜水员韩颋再创亚洲洞穴潜水记录
- 不想做“四眼仔”!怎样科学使用电子产品?这4点学起来
- 环球速看:“男生减速带”视频为什么能爆红?抖音科普
- 海信手机天猫旗舰店停运:页面显示“店铺终止经营公告”-世界看点
- 沙特准备进军国际传媒业:钱不是问题要的是影响力
- 机构调研团走进集泰股份 天天热文
- 当前速看:六安市裕安区:大抓基层,带动乡村“跑”起来
- 比三星更稳、比致态便宜!西部数据SN770 2TB固态硬盘只要789元
- NVIDIA业绩不给力 黄仁勋年收入锐减!仅员工中位值的94倍 视焦点讯
- 世界微动态丨LG推出新款超宽带鱼屏:Nano IPS面板 配有雷电4
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
S5PV210 | 微处理器启动流程
(资料图片仅供参考)
S5PV210 | 微处理器启动流程
目录- S5PV210 | 微处理器启动流程
- S5PV210启动概述
- S5PV210的启动顺序
- iROM(BL0)的启动顺序
- V210启动流程图
- 第一次启动失败时的iROM第二次启动顺序
- 用于引导代码描述的标题信息数据
- 编写校验和示例代码
S5PV210启动概述
S5PV210支持从多种设备启动,如OneNAND、NAND、MMC等。S5PV210的启动框图如图所示,BL0是指S5PV210微处理器的IROM中固化的启动代码,BL1是指在IRAM自动从外存储器(NAND、SD、USB)中复制的uboot.bin二进制文件的头16KB代码,BL2是指在代码重定向后在内存中执行的UBOOT的完整代码。
三者之间的关系是:BL0将BL1加载到IRAM,然后BL1在IRAM中运行并将BL2加载到SDRAM,BL2加载嵌入式操作系统。BL是BootLoader的简称。
S5PV210上电将从IROM处执行固化的启动代码BL0,它对时钟等初始化、对启动设置进行判断,并从启动设备中复制BL1(最大16KB)到IRAM(地址0xD0020000处,其中0xD002 0000之前的16B存储BL1的校验信息和BL1中的尺寸)中,并对BL1进行校验,校验成功后转入BL1进行执行。BL1执行完成后,开始执行BL2,BL2加载内核,把OS在SDRAM中运行起来。
S5PV210的启动顺序
①iROM可以进行初始引导:初始化系统时钟,设备专用控制器和引导设备。②iROM引导代码可以将引导加载程序加载到SRAM。引导加载程序称为BL1。然后,iROM在安全启动模式下验证BL1的完整性。③将执行BL1:BL1将在SRAM上加载剩余的引导加载程序,称为BL2。然后在安全启动模式下,BL1验证BL2的完整性。④将执行BL2:BL2初始化DRAM控制器,然后将OS数据加载到SDRAM。⑤最后,跳转到OS的起始地址。那将为使用系统创造良好的环境。
iROM(BL0)的启动顺序
1.禁用看门狗定时器2.初始化指令缓存3.初始化堆栈区域(请参见“内存映射”)4.初始化堆区域。(请参见“内存图”)5.初始化块设备复制功能。(请参见“设备复制功能”)6.初始化PLL并设置系统时钟。(请参阅“时钟配置”)7.将BL1复制到内部SRAM区域(请参见“设备复制功能”)8.验证BL1的校验和。如果校验和失败,则iROM将尝试第二次启动。(SD / MMC通道2)9.检查是否为安全启动模式。如果安全密钥值是在S5PV210中写入的,则为安全启动模式。如果是安全启动模式,请验证BL1的完整性。10.跳转到BL1的起始地址。
V210启动流程图
第一次启动失败时的iROM第二次启动顺序
用于引导代码描述的标题信息数据
编写校验和示例代码
for(count=0;count< dataLength;count+=1){ buffer = (*(volatile u8*)(uBlAddr+count)); checkSum = checkSum + buffer;}//-count 变量是unsigned int类型。//-dataLength 变量是无符号的int类型。 它包含BL1的大小(字节)。//-buffer 变量是无符号的短类型。 用于从BL1读取1字节数据。//-checkSum 变量是unsigned int类型。 它包含BL1的总和。
具体的实例代码(为BIN文件添加校验和文件头):
/******************************************************************* * > File Name: mkv210_image.c * > Author: fly * > Mail: xxxxxx@icode.net * > Create Time: 2021-06-17 4/24 12:03:22 +0800 * > Note: 将USB启动时使用的BIN文件制作得到SD启动的Image * 计算校验和,添加16字节文件头,校验和写入第8字节处 *================================================================*/#include #include #include #include #define ERR_STR strerror(errno)#define SPL_HEADER_SIZE (16)#define SPL_HEADER "@S5PV210$$$$****"#define IMG_SIZE (16*1204)char *mk_getCheckSumFile(char *binName){ static char checkSumFileName[128] = {0}; snprintf(checkSumFileName, 128, "%s%s", binName, ".sd"); return (char*)checkSumFileName;}long mk_getFileLen(FILE* fp){ static long fileLen = 0; fseek(fp, 0L, SEEK_END); fileLen = ftell(fp); fseek(fp, 0L, SEEK_SET); return fileLen;}int main(int argc, char* argv[]){ FILE* fps, *fpd; long nbytes, fileLen; unsigned int checksum, count; char *BUF = NULL, *pBUF = NULL; int i; if(argc != 2){ printf("Usage: %s \n", argv[0]);exit(EXIT_FAILURE); } /* 打开源BIN文件 */ fps = fopen(argv[1], "rb"); if (fps == NULL){ printf("fopen %s err: %s\n", argv[1], ERR_STR); exit(EXIT_FAILURE); } /* 创建目标BIN文件 */ fpd = fopen(mk_getCheckSumFile(argv[1]), "w+b"); if (fpd == NULL){ printf("fopen %s err: %s\n", mk_getCheckSumFile(argv[1]), ERR_STR); fclose(fps);exit(EXIT_FAILURE); } /* 获取源文件大小 */ fileLen = mk_getFileLen(fps); if(fileLen < (IMG_SIZE - SPL_HEADER_SIZE)){ count = fileLen; }else{ count = IMG_SIZE - SPL_HEADER_SIZE; } BUF = (char *)malloc(IMG_SIZE);/* malloc 16KB BUF */ if (BUF == NULL){ printf("malloc err: %s\n", ERR_STR); fclose(fps);fclose(fpd); exit(EXIT_FAILURE); } memcpy(&BUF[0], SPL_HEADER, SPL_HEADER_SIZE); nbytes = fread(BUF+SPL_HEADER_SIZE, 1, count, fps); /* 计算文件检验和 */ pBUF = BUF + SPL_HEADER_SIZE; for(i = 0, checksum = 0; i< IMG_SIZE - SPL_HEADER_SIZE; i++) { checksum += (0x000000FF) & *pBUF++; } pBUF = BUF + 8; *((unsigned int *)pBUF) = checksum; /* 将校验和源文件写入目标文件 */ fwrite(BUF, 1, IMG_SIZE, fpd); printf("the checksum 0x%08X for %ldbytes, output: %s\n", \ checksum, fileLen, mk_getCheckSumFile(argv[1])); free(BUF); fclose(fps); fclose(fpd); return 0;}
编译Makefile文件:
.PHONY: all cleanCC = gccSRC = ${wildcard *.c}BIN = ${patsubst %.c, %, $(SRC)}CFLAGS = -g -WallRM = rm -rfall:$(BIN)$(BIN):%:%.c $(CC) -o $@ $^ $(CFALGS)clean: $(RM) a.out $(BIN) .*.*.sw? *.sd
关键词:
-
P3723 [AH2017/HNOI2017]礼物(FFT)
P3723[AH2017 HNOI2017]礼物(FFT)题目传送门[AH2017 HNOI2017]礼物题目描述我的室友最近喜欢上了一个可爱
来源: S5PV210 | 微处理器启动流程
P3723 [AH2017/HNOI2017]礼物(FFT)
益科正润:美国债务违约倒计时,“去美元化”正当时
【财经分析】土总统埃尔多安寻求连任面临挑战_环球新消息
难怪叶二娘要勾引虚竹的父亲,你看幕后黑手是谁?叶二娘喊他哥哥_前沿资讯
当前热讯:一颗巨型小行星正飞速靠近地球 网友:赶紧来撞我
今天开始 谷歌搜索大变样了:AI接管 焕然一新_环球视讯
同程酒店订单“订后即焚”功能引热议 网友:这是要防谁?
前方畅通日产轩逸频刹车减速 本田飞度看不下去:右侧也要超过去
农村母女嫌路边冷藏车太吵 要求关掉制冷机未果 一砖砸碎车玻璃-当前热文
ChatGPT 再遭禁用 | 人工智能时代下数据安全如何保障
Spring MVC官方文档学习笔记(一)之Web入门
当前报道:python 多进程jieba分词,高效分词,multiprocessing
277米!华为WATCH Ultimate非凡大师助力 潜水员韩颋再创亚洲洞穴潜水记录
不想做“四眼仔”!怎样科学使用电子产品?这4点学起来
环球速看:“男生减速带”视频为什么能爆红?抖音科普
海信手机天猫旗舰店停运:页面显示“店铺终止经营公告”-世界看点
沙特准备进军国际传媒业:钱不是问题要的是影响力
机构调研团走进集泰股份 天天热文
每日热闻!记录--Vue3+TS(uniapp)手撸一个聊天页面
世界时讯:ios打包ipa的四种实用方法(.app转.ipa)
全球热消息:定了!AIRIOT新品发布会,6月6日北京见。
商品日报(5月11日):沪镍跌超5%创逾一个月新低 棕榈油跌超3% 环球新视野
当前速看:六安市裕安区:大抓基层,带动乡村“跑”起来
比三星更稳、比致态便宜!西部数据SN770 2TB固态硬盘只要789元
NVIDIA业绩不给力 黄仁勋年收入锐减!仅员工中位值的94倍 视焦点讯
世界微动态丨LG推出新款超宽带鱼屏:Nano IPS面板 配有雷电4
买菜车也疯狂!丰田卡罗拉Nightshade特别版官图发布:很酷炫
今日热讯:27岁未婚女子入职前被要求做孕检:她当场拒绝了
播报:飘飘遇仙全集狼太郎txt无删减 飘飘遇仙全集狼太郎txt
构建万物互联,华为云IoT+鸿蒙重燃物体感知-全球热点评
JavaScript全解析——this指向|环球今日报
实现高并发秒杀的 7 种方式,写的太好了,建议收藏!!
译:从分布式微服务到单体
谷歌全线反击!PaLM 2部分性能已经超越GPT-4-全球今亮点
【财经分析】两只转债接连进入“下线倒计时” 市场如何接纳退市常态化? 要闻
在街头弹钢琴的他,登上了音乐厅! 热头条
一口一个更好吃:德芙84g袋装小巧粒7.8元/袋大促(原价18元)
环球观焦点:跑步直追!比亚迪高阶智驾第三季度上车:名为DNP、汉将首搭
被指滥用应用市场主导地位:苹果再次遭遇反垄断调查 焦点速看
全球观点:华为WATCH 4星球系列上演宇宙级浪漫 健康领域华为或将迎来重大突破
天舟六号货运飞船与空间站组合体完成交会对接
环球热头条丨用Python实现艺术绘画,人生苦短,代码赛高
【新华500】新华500指数(989001)11日收跌0.18%-世界微动态
世界头条:美联储高利率风险仍存在 黄金期货能否延续涨势
学生点外卖:因围墙太高 小哥摇树报送餐位置
每日快讯!来自“公路王者”的检验!蔚来ES6被两大货车夹击:框架完好人员安全
小米电视A55/A65竞技版开售:1799就能有4K/120Hz高刷大屏|天天通讯
iQOO Neo8 Pro上架:首发天玑9200+ CPU性能比骁龙8 Gen2更猛 实时焦点
微型电动车战火再起!长安Lumin周年庆至高优惠1万硬刚五菱
环球热议:如何为漆面准备金属
天天快看:有文化的网名情侣(有文化的网名)
Python工具箱系列(三十一)
天天视点!可变参数的格式化输出
利用kali破解WiFi密码_全球热消息
天天观焦点:重庆市高级人民法院依法公开宣判张波、叶诚尘故意杀人案
李想说出大实话:理想L8最大竞争对手其实是这台车
号称“不泄密” 微信键盘1.0.6发布:加入2项新功能
起售价或低于25万 凯迪拉克GT4实车曝光:家族最便宜SUV来了|世界今热点
长沙被占车位成为网红打卡地:有人两百公里外赶来直播 环球快看
省级校本教研基地工作总结(精选26篇)|世界观点
6000+字讲透ElasticSearch 索引设计
Linux系统上创建.NET6项目(通过命令行(CTL)方式)
15日起内地赴港澳签注办理更便捷 端午赴港澳机票较五一降三成|环球视点
索尼最强旗舰!Xperia 1 V发布:8999元起
4月SUV销量排名:比亚迪双星无敌!燃油车苦苦挣扎
当前视点!Linux重启Java的.sh脚本shell
stm32 boot0硬件接法导致的概率性启动失败问题总结和反思
k3s 证书过期修改
《种地吧》下期精彩:后陡门篮球赛主打团结 种地团直面成长阵痛-当前资讯
孟羽童视频回应离职格力:下一步将申请读研|环球观点
2999元!佳能发布掌上Vlog机PowerShot V10 比手机还小巧
焦点热讯:索尼放大招 Xperia 1 V用上双层晶体管传感器:画质媲美全画幅相机
天玑9200+正式发布!解决旗舰用户三大痛点 带来顶级游戏性能体验 世界新消息
黑寡妇毒杀亲夫
【天天热闻】手动挡正确停止和关闭发动机 以及关闭发动机钥匙的步骤
动力节点老杜B站Spring6学习笔记—Spring的入门程序
IOC类图
【独家】泰州姜堰:绿色能源清风吹拂一座城
环球新消息丨借鉴新加坡经验 深圳地铁拟推行早起上班优惠价:缓解早高峰拥挤
正式超越日本!一季度中国成全球第一大汽车出口国 天天速看料
三层防护 稳健医用外科口罩便宜了:3盒150只到手21.8元
全球快播:年内最大降幅?国内油价或即将大幅度下调 就在5月16日
微信开启“带货时代”:公众号今日起也能带货了
华硕笔记本A45v怎么清空所有数据?华硕笔记本a45v参数配置
电脑网页变成灰色是怎么回事?电脑网页变成灰色怎么解决?
国家移民管理局发布公告 5月15日起全面恢复口岸快捷通关|焦点消息
金立V183什么时候上市的?金立V183手机参数
宏基笔记本白屏是什么原因?宏基笔记本白屏怎么解决?
qq邮箱怎么点亮图标?qq邮箱格式怎么写?
周迅身高是多少?周迅个人资料简介
打电话不显示号码是怎么回事?打电话不显示号码怎么办?
盛夏晚晴天吻戏在哪几集?盛夏晚晴天电视剧结局是什么?
版权符号怎么打出来?版权符号html代码
吉林市为什么和省一个名字?吉林市旅游必去十大景点
世界快看:第二章、操作系统基本原理
世界最资讯丨蒙哥马利算法
每日观点:热烈欢迎成都市武侯区人社局领导莅临璞华考察参观
山西印发冬小麦后期田间管理意见
世界关注:荣盛发展年报遭问询,被追问营收大幅下滑、业绩大额亏损且亏损面进一步扩大原因及合理性