完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 北方· 于 2016-11-7 14:21 编辑 一、在Linux内核的编译,首先要对booting sequence有一个基本的了解。首先要对比AM335系列的启动顺序。 AM335x 有四个不同的启动阶段:
第一阶段:ROM Code ROM Code 是芯片上电复位之后第一块自动运行的代码。ROM Code 固化在芯片中不能被用户修改。 ROM Code 存储在片上地址 0x40000000-0x40040000 处。 ROM Code 不可能太复杂,ROM大小是一个限制,最重要的还是因为其所能获取的系统信息太少,所以处理器只能使用简单的方法去寻找能完成复杂功能的代码, ROM Code 只能将它加载到处理器内部 RAM 中运行,一般处理器的内部 RAM 都要小于128KB,这里只有64K. ROM Code 有两个主要的功能: 配置设备并初始化主要的外设:建立堆栈,配置开门狗定时器1(设置到三分钟),配置 PLL 和系统时钟 为下一阶段启动做准备:为下一阶段启动检查启动源(SPL),把下一启动阶段的 bootloader 代码移动到内存中准备运行 第二阶段叫做 SPL,但有些时候也叫 MLO。SPL 是启动 U-Boot 前的一个阶段,并且必须从 启动源(MMC、USB、SD、UART等)加载到内部 RAM 中。SPL 只有极少的功能,SPL 主要的职责就是初始化 DDR,时钟等最小系统,以读取 U-Boot 并加载到 DDR 中。 第三阶段:U-Boot, 主要的工作就是正确加载 Kernel。和 SPL 类似,U-boot 也是要加载下一个阶段的 image,但是 U-Boot 提供了更多外设的支持和更多的调试工具。所以,U-Boot 也要进行各个模块的配置,上述 SPL 配置的部分,除了 DDR 外,U-Boot 也会根据需求重新配置(这里重置主要是U-Boot 是一个开源工程,其要兼容某些特殊的芯片,从而需要做重载)。此外,U-Boot 也会对网口,SD卡等根据需求进行配置。完成配置后,U-Boot 会从相应的存储器或者外设读取 Kernel,并传递参数给 Kernel,运行 Kernel。 第四阶段:启动 Linux 内核。uImage 是与描述内核头信息交换过的内核镜像。这个头信息是一个 64kB的信息块,包含了目标架构、操作系统、内核尺寸、入口等信息。U-boot 启动 uImage的时候,头信息会在命令行输出。 二、在熟悉了AM335之后,可以理解到,AM4378其实和很相似。同样提供了这4个阶段,其中ROM启动部分固化在内存中,是我们不需要接触的。其他的都是可以定制的。 第二阶段编译MLO,第三阶段的u-boot,这是通过上贴的u-boot编译实现的 第四阶段的linux内核,则是对内核编译实现的。 启动了booting,对于程序还有一个linux版本的加载那么是通过roofs的编译来实现的,可以选择桌面版本等等更丰富的功能。但是对于booting来说,其实已经完成了。 三、对应于ROM部分,设计的逻辑很完善,详见下图,不详述了。 对应的开发的ROM只有64k,如下。 四、第二阶段的booting。选择启动设备,见下面流程图。 特别的,选择SD卡启动的逻辑图如下, 这里,启动的img不能超过256k,这是比AM335要大的,地址如下 这个是以FAT格式,存在的MLO。读取MLO的流程如下, 除此以外,还新增了以太网,uart,U盘启动的选项,主要是为了更新firmware。不详述。 五、加载完MLO,就是和硬件的交接基本完成,就该后面的u-boot来完成后续任务了。 从u-boot开始,就具备了访问GPIO端口的功能了。不过,如果充分发挥am4378的性能,一个更完善的操作系统就更有必要。后面的过程和am335以及类似的各种支持linux的开发板过程都相似的,按照基于debian或者feroda,文件组织有所不同,但程序运行之旅就此开始。 评分
|
||
相关推荐
1 条评论
2 个讨论
|
||
只有小组成员才能发言,加入小组>>
【米尔-国产瑞芯微RK3568开发板试用体验】烧写Debian镜像以及显示设置
541 浏览 0 评论
【米尔NXP i.MX 93开发板试用评测】02.使用QT开发推流器
464 浏览 0 评论
国产芯上运行TinyMaxi轻量级的神经网络推理库-米尔基于芯驰D9国产商显板
213 浏览 0 评论
【米尔-全志T527开发板评测试用】开发板上电与连接WIFI
905 浏览 0 评论
931 浏览 0 评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航
3109浏览 2评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】Free RTOS应用开发环境部署
889浏览 1评论
【米尔-芯驰D9开发板- 国产平台试用】- 03- 外设接口测试-U盘、485总线
6693浏览 1评论
【米尔MYD-JX8MMA7开发板-ARM+FPGA架构试用体验】快速入门
2147浏览 1评论
【米尔王牌产品MYD-Y6ULX-V2开发板试用体验】socket通信和epoll
4477浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-26 09:16 , Processed in 0.779900 second(s), Total 82, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号