JZ2440裸机安装步骤

一、目的

在JZ2440裸板上分别装上uboot、kernel和文件系统。

二、分析

JZ2440有NOR FLASH 和NAND FLASH,这两个的区别可以类比为PC机的ROM和硬盘。PC机中的ROM记录一些重要的程序,如BIOS等,ROM的容量一般比较小,但速度快。硬盘中装载系统,容量比较大,但速度慢。以前的ROM一般不能修改,出厂后固定了;现在的ROM也都可以修改了。

通过类比,我们就知道了NOR FLASH中装载uboot程序,这个类似于BIOS,用于对系统的引导。而kernel和文件系统就相当于PC机种存在硬盘上的系统文件,在启动后,通过调用执行。

三、JZ2440开机流程

1.NOR 启动

由于uboot装载在NOR FLASH中,所以NOR启动,最开始执行的就是uboot程序。uboot程序有两个分支,一个分支可以直接引导Linux系统启动,另一个分支进入uboot菜单,进行进一步的操作。通过上电开机时,是否按下空格键,选择进入不同的分支。如果开机前3秒内按下空格键,就进入uboot菜单,反之则进入Linux系统。

NOR FLASH中就只装载了uboot程序,而NAND FLASH就不止了。


上图就是在uboot菜单中按q退出,到OpenJTAG命令行中,输入mtd,得到的NAND FLASH的四个分区。

bootloader -- 在NAND 启动时用,后面讲。

kernel -- 内核导入的地方,后面讲。

root -- 文件系统导入的地方,后面讲。

NOR启动后最大的特点是通过uboot导入系统,或者通过uboot菜单对板子进行操作。


2.NAND 启动

NAND启动主要用作裸板实验,就是上面所讲的bootloader分区中的程序被执行的过程。这更像单片机实验,从指定的起始地址开始执行代码,和uboot就没有关系了。


3.两种启动的区别和联系

本质上两种启动都是从指定的地址读取指令执行,只不过指定的起始地址一个在NOR上,一个在NAND上罢了。只是由于这两个FLASH上的指令不同,造成了执行效果的不同。并且JLink等工具,只支持对NOR FLASH的烧写,这就导致了两者在应用层面上的不同。


三、实验步骤

1.对uboot的烧写

①NOR FLASH中并不存在旧的uboot程序

在这种情况下,不能用就的uboot对要烧写的新的uboot程序进行更新,只能借助烧写工具对芯片进行烧写。例如用JLink对2440芯片进行烧写uboot.bin文件。

②NOR FLASH中存在可用的旧的uboot程序

这时,可以不用烧写工具,直接通过uboot菜单,用dnw软件通过usb接口,对NOR FLASH进行烧写。


2.对内核的烧写

内核是烧写在NAND FLASH的kernel分区中的。

烧写方法就是利用uboot菜单,用dnw软件烧写,由软件自动实现。

内核是Linux系统的基础。

还有一种方法就是利用网线烧写。通过软件,设置电脑主机为服务器,选择要烧写文件的路径,然后将JZ2440连接到这台服务器上,注意两个IP要在一个网段内。然后用JZ2440申请下载,程序下载完成后,进行安装即可。


3.对文件系统的烧写

和内核烧写的方法一样,只是烧写的位置不同,文件系统烧写到NAND FLASH的root分区下。文件系统镜像相当于一个图形界面和文件管理软件,烧入之后,就可以重启进入Linux系统了。


四、裸板实验烧写

上面的实验已经把系统烧入到板子中了,而裸板实验又是独立于上面的实验。裸板实验就是不涉及操作系统的实验,它把代码只烧入到NAND FLASH的bootloader分区中,不用uboot引导,所以要实现裸板实验,必须NAND FLASH启动。那是不是NOR FLASH就没有用了呢?

答案不一定,如果有OpenJTAG这样的烧写工具,可以直接烧写NAND FLASH,那么可以不涉及NOR FLASH,自然也就可以不涉及uboot了。但是如果没有这样的烧写工具,就只能通过uboot程序进行烧写了,那么就还是要涉及NOR 启动。

利用uboot程序烧写程序,其实和前面讲到的uboot、内核、文件系统的uboot烧写方法是一样的。唯一与它们不同的是,它们烧写完后,重启时NOR启动。而裸板实验,烧写完后,重启动必须是NAND FLASH启动。为什么呢?因为如果依旧是NOR启动,那么就不会进入NAND FLASH的bootload分区读取指令,而是进入uboot读取指令,进入读取kernel下的kernel文件,再读取root下的文件系统。完全不会执行在bootload中的裸板实验程序。


五、总结

大致了解了JZ2440的软件组成部分,分清楚了uboot程序、内核、文件系统和裸板实验程序的区别和联系。对NOR启动和FLASH启动有了更深入的认识

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值