当前位置: 代码迷 >> 驱动开发 >> 怎么从启动代码跳转到linux
  详细解决方案

怎么从启动代码跳转到linux

热度:64   发布时间:2016-04-28 11:16:27.0
如何从启动代码跳转到linux
假如linux的内核与文件系统存放在nand flash里,占用若干flash空间,我把linux内核拷贝到了内存中以0x33000000开始的地方。那么从启动代码跳到linux里就是简单一个 ldr pc , =0x33000000吗?linux内核bin文件与文件系统bin文件,彼此之间应该怎么存放才能使内核识别到文件系统?

我现在启动代码与flash的操作都搞明白了,想用nor flash里的U-boot把linux和文件系统下载到nand flash里,然后修改一下启动代码,使跳转到linux,以达到引导的作用。然后再用Qt/E编几个程序,毕业设计就搞定了。usb的操作准备以后再看。

请高人给指条路。

------解决方案--------------------
使用linux能够识别的文件系统,加载盘符驱动让其从文件系统的起始地址开始读取信息,让其识别文件系统。
------解决方案--------------------
假如linux的内核与文件系统存放在nand flash里,占用若干flash空间,我把linux内核拷贝到了内存中以0x33000000开始的地方。那么从启动代码跳到linux里就是简单一个 ldr pc , =0x33000000吗?

这个是对的。实际上就是boot up 以后拷贝完 内核 。就进入起始地址。

linux内核bin文件与文件系统bin文件,彼此之间应该怎么存放才能使内核识别到文件系统? 这个方法蛮多的。二楼的方法是可以的吧 。



------解决方案--------------------
这个要看LINUX部分的代码如何做了,如果LINUX的代码使用到的东西没进行初始化就要你的代码先进行初始化,但是感觉还是由LINUX的代码来做比较好,对LINUX并不了解,只代表个人看法。
------解决方案--------------------
看看UBOOT就知道了,CPU频率初始化,开MMU,设置调试串口,拷贝内核到ram中