做boot移植工作之前,首先要确定整个boot的启动流程,根据启动流程确定移植步骤。
首先看一下boot的启动流程:
Bootloader执行最基本的硬件初始化操作。如关闭中断,关闭看门狗以避免处理器被复位,以及关闭MMU功能,关闭处理器缓存(数据缓存一定要关闭,指令缓存可以打开),设置系统时钟,初始化内存等。这一阶段代码通常由汇编代码编写,为了运行下一阶段的C程序还必须设置好堆栈。如果是从NAND Flash启动,则必须通过NAND Flash控制器将bootloader代码复制到内存。
(资料图)
这一阶段一般用C语言编写,大致分为一下几步:
1)初始化各种硬件设备,如设置处理器正常工作的时钟频率,初始化串口等。
2)检测系统内存,主要是确定系统内存容量以及其地址空间信息。
3)将内核映像文件加载到内存。
4)准备内核引导参数。
5)跳转到内核的第一条指令处,开始执行内核初始化代码,控制权转移到内核代码,bootload的使命结束。
基本上每个架构平台的单板移植都需要以下移植步骤:
1、确定架构(比如ARM,MIPS,POWERPC)、平台(比如三星、海思)、单板(fs4412、exynos_origen)
2、确认交叉开发环境(更改Makefile的CROSS_COMPILE为arm-linux-)
3、配置、编译及烧写(make fs4412_config;make)
烧写时要注意环境变量的配置
4、查看串口是否有输出
如果没有输出首先查找串口驱动上面的问题,再按照整个boot的启动流程判断哪里存在问题。
5、查看外围设备是否正常工作(如网卡)
6、裁剪(如果使用flash较小就需要针对不需要的功能进行裁剪)
定期以通俗易懂的方式分享嵌入式知识,关注公众号,加星标,每天进步一点点。
声明:
本号原创、转载的文章、图片等版权归原作者所有,如有侵权,请联系删除。
关键词:
十大武侠网游 武侠网游谁是巅峰 十大武侠网游武侠网游谁是巅峰(大玩家将根据国内网游,作一个系列游戏
充电价格翻倍,车主们被逼成「充电特种兵」 ▎快要充不起了。钛媒体作者丨豹变“快要充不起电了。”近日,充电桩充
bootloader移植步骤 做boot移植工作之前,首先要确定整个boot的启动流程,根据启动流程确定
小鹏汽车刚续上命就被抽掉“灵魂”,吴新宙离职背后 何小鹏与吴新宙合影 图自何小鹏长文‍‍‍‍‍这是何小
山东舰过航台湾海峡画面首度公开,体现三个“高度” 今年八一建军节当天,中央广播电视总台央视播出《逐梦》专题片,首次公
荣耀Magic4促销 50倍变焦不够清晰? 加入购物车:荣耀Magic4热销期间,热销阵容涵盖了一系列爆款手机,促销
天水市市场监管局对食品安全抽检监测承检机构开展评价性检查 为全面掌握委托承担市级食品安全抽检监测承检机构的检测能力、履行合同