文件名称:基于Xilinx平台的嵌入式软件开发流程
文件大小:2.3MB
文件格式:PDF
更新时间:2021-06-22 14:06:40
Xilinx 嵌入式
基于Xilinx平台的嵌入式软件开发流程 在过去的Linux内核源码中,存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录,对内核而言这些 platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data绝大多数纯属垃圾冗余代码 为了解决这一问题,ARM内核版本3.x之后引入了原先在Power PC等其他体系架构已经使用的Flattened Device Tree。Device Tree改变了原来用 hardcode方式将HW 配置信息嵌入到内核代码的方法,改用bootloader传递一个DataBase的形式。 对于基于ARM CPU的嵌入式系统,我们习惯于针对每一个platform进行内核的编译。但是随着ARM在消费类电子上的广泛应用(甚至桌面系统、服务器系 统),我们期望ARM能够象X86那样用一个kernel image来支持多个platform。 在这种情况下,如果我们认为kernel是一个black box,那么其输入参数应该包括: 识别platform的信息 runtime的配置参数 设备的拓扑结构以及特性 对于嵌入式系统,在系统启动阶段,bootloader会加载内核并将控制权转交给内核,此外,还需要把上述的三个参数信息传递给kernel,以便kernel可以有 较大的灵活性。在linux kernel中,Device Tree的设计目标就是如此