jQuery -> 基于当前元素的遍历
2020-12-13 05:39
标签:style blog class c code tar pcDuino3下支持mmc启动,官方的Uboot是采用SPL框架实现的,因为内部的SRAM空间达到32K,我们完全可以在这32K空间内编写一个完整可用小巧的bootloader来完成引导Linux kernel的目的。 我们首先介绍下SPL框架,可以先看下《GNU ARM汇编--(十八)u-boot-采用nand_spl方式的启动方法》和《GNU
ARM汇编--(十九)u-boot-nand-spl启动过程分析》,NAND_SPL也算是SPL框架下的一种模式。 当使用Nand flash或者MMC作为引导方式时,我们需要使用芯片内的ROM或者其它机制加载固件到SRAM中。 这种时候就需要SPL,因为SPL短小精悍,适用于4K甚至更小的SRAM的环境。这时候的引导过程就变成,SPL引导Uboot,而由Uboot引导系统内核。 其实作为pcDuino3的SPL,它是可以完成直接引导kernel功能的,如果不需要使用uboot提供的额外的强大功能的话。 这里介绍下写bootloader的思路: 使用mmc的read驱动函数将指定位置的kernel镜像读取到内存中,然后按照Linux的要求完成参数列表的传递,MMU和cache的配置等,就可以完成跳转动作了。 最后一个步骤的代码如下: 这样,一个仅仅有18K大小的bootloader就可以完成对kernel的引导了。 基于当前元素的遍历,soscw.com" href="http://www.soscw.com/infodetail-187308.html" target="_blank">jQuery -> 基于当前元素的遍历,搜素材,soscw.com 基于当前元素的遍历,soscw.com" target="_blank">jQuery -> 基于当前元素的遍历 标签:style blog class c code tar 原文地址:http://blog.csdn.net/feelang/article/details/26257549void boot_linux(void)
{
uart_printf("boot linux\n");
void (*kernel_entry)(int zero, int arch, uint params);
unsigned long r2;
unsigned long machid;
setup_linux_param(0x40000000 + 0x100);
cleanup_before_linux();
kernel_entry = (void (*)(int, int, uint))0x48000000;
machid = 4283;
r2= 0x40000100;
kernel_entry(0, machid, r2);
}
这个函数就完成了内核文档Documentation/arm/booting对booting ARM Linux的描述。
文章标题:jQuery -> 基于当前元素的遍历
文章链接:http://soscw.com/index.php/essay/31416.html