达芬奇数字媒体片上系统的架构和Linux启动过程

嵌入式系统 时间:2012-04-19来源:网络

完成以上步骤之后,U-boot准备引导ARM Linux。

(1)配置系统的内存(通过ATAG_ MEM块和mem=)NAND Flash和DDR2。

(2)通过TFTP加载等加载方式,加载内核到指定的存储地址。

(3)如果定义过,加载RAM Disk。

(4)初始化传递到内核的引导参数(EMAC地址,串口,控制台,视频格式等)

(5)获得ARM Linux机类型值(DVEVM为#901)。

(6)设置kernel tagged list。

(7)用初始值设置ARM的寄存器。

(8)调用内核。

> Linux 初始化步骤

(1)Linux内核需要从引导加载程序(U-boot)中得到以下参数。

* 已经初始化的memory系统。

* R0=0;R1为ARM Linux机类型值。

* R2指向ATAG结构体的内容:①物理memory区;②是否使用RAM DISK及其压缩版的地址;③视频驱动程序具体的初始化参数;④内核命令行;⑤其他参数(串口和版本号)。

更多关于Linux内核引导参数的信息可以参考Linux/Documentation/kernel-parameters.txt。如果要想传递给内核更多的参数,再u-boot中的bootargs中设置就可以了。

(2)对于压缩的内核(aka uImage),Linux 最初启动Linux/arch/kernel/head.s。

(3)start_kernel()运行。位于Linux/init/main.c。

(4)Linux的第一个进程init()运行。

总结

经过上面介绍,很多DSP工程师可能会对达芬奇DMSoC及Linux启动流程有一个感性的认识,双核架构的达芬奇DMSoC带给我们的是一加一大于二的性价比,要想了解更多的细节,请参考数据手册和应用文档。

1 2 3 4

关键词: Linux 启动 过程 架构 系统 数字 媒体 达芬奇

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版