Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux se单位。因此需要更少的擦除。NOR闪存读取数据的速度略快于NAND_Linux_Linux Kernel_Operating System_Embedded Linux_Device Tree - Fatal编程技术网

Linux se单位。因此需要更少的擦除。NOR闪存读取数据的速度略快于NAND

Linux se单位。因此需要更少的擦除。NOR闪存读取数据的速度略快于NAND,linux,linux-kernel,operating-system,embedded-linux,device-tree,Linux,Linux Kernel,Operating System,Embedded Linux,Device Tree,NOR提供完整的地址和数据总线来随机访问其任何内存位置(可寻址到每个字节)。这使得它适合于替换较旧的ROM BIOS/固件芯片,这些芯片很少需要更新。其耐久性为10000到1000000次擦除周期。NOR非常适合在嵌入式系统中存储代码。另外,对的支持使得从加载初始引导加载程序(甚至在初始化DDR之前)成为一个非常有吸引力的选择 NAND闪存每个单元占用的芯片面积更小。与NOR闪存相比,该制造商的NAND具有更高的存储密度和更低的每比特成本。它的耐用性也是NOR闪光的十倍。NAND更适合作为大型文

NOR提供完整的地址和数据总线来随机访问其任何内存位置(可寻址到每个字节)。这使得它适合于替换较旧的ROM BIOS/固件芯片,这些芯片很少需要更新。其耐久性为10000到1000000次擦除周期。NOR非常适合在嵌入式系统中存储代码。另外,对的支持使得从加载初始引导加载程序(甚至在初始化DDR之前)成为一个非常有吸引力的选择

NAND闪存每个单元占用的芯片面积更小。与NOR闪存相比,该制造商的NAND具有更高的存储密度和更低的每比特成本。它的耐用性也是NOR闪光的十倍。NAND更适合作为大型文件(包括视频和音频)的存储介质。USB拇指驱动器、SD卡和MMC卡均为NAND类型

NAND闪存不提供随机访问外部地址总线,因此必须按块读取数据(也称为页访问),其中每个块包含数百到数千位,类似于一种顺序数据访问。这是NAND闪存不适合替代ROM的主要原因之一,因为大多数微处理器和微控制器需要字节级随机访问


查看每个芯片的比较优势。

您可能需要结合电路图和处理器手册来查看这一点,以了解两条芯片选择线(CS0和CS1)的情况。串行闪存(具有较低的引脚数和较小的封装)通常是NOR闪存。串行闪存通常使用SPI,因此该闪存不会占用处理器的任何内存地址空间。您可能需要结合电路图和处理器手册来查看这一点,以了解两条芯片选择线(CS0和CS1)的情况。串行闪存(具有较低的引脚数和较小的封装)通常不闪烁。串行闪存通常使用SPI,因此该闪存不会占用处理器的任何内存地址空间。
        localbus@a8405000 {
        #address-cells = <2>;
        #size-cells = <1>;
        compatible = "fsl,mpc8313-elbc", "fsl,elbc", "simple-bus";
        reg = <0xa8405000 0x1000>;
        interrupts = <77 0x8>;
        interrupt-parent = <&ipic>;

        // CS0 and CS1 are swapped when
        // booting from nand, but the
        // addresses are the same.
//      ranges = <0x0 0x0 0xfe000000 0x01000000    /* LCS0: NOR BOOT        */
        ranges = <0x0 0x0 0xfe000000 0x02000000    /* LCS0: NOR BOOT        */
                  0x1 0x0 0xa8000000 0x00040000    /* LCS1: NAND CONTROLLER */
//            0x2 0x0 0xa0000000 0x04000000    /* LCS2: FGPA            */
              0x2 0x0 0xa0000000 0x04000000>;  /* LCS2: FGPA            */
//            0x3 0x0 0xff000000 0x01000000>;  /* LCS3: NOR RESERVE     */

        flash@0,0 {
            #address-cells = <1>;
            #size-cells = <1>;
            compatible = "cfi-flash";
//          reg = <0x0 0x0 0x1000000>; /* 16MB */
            reg = <0x0 0x0 0x2000000>; /* 32MB */
            bank-width = <2>;
            device-width = <1>;

            u-boot@0 {
                reg = <0x0 0x80000>;
            };

            xxxx@80000 {
                reg = <0x080000 0x1000000>;
            };

            log@1080000 {
                reg = <0x1080000 0x2c0000>;
            };

            inventry@1340000 {
                reg = <0x1340000 0x20000>;
            };

            xxxxx@1360000 {
                reg = <0x1360000 0x20000>;
            };

            xxxxx@1380000 {
                reg = <0x1380000 0x20000>;
            };

            xxxxx@13a0000 {
                reg = <0x13a0000 0x20000>;
            };

            reserve-nor1@13c0000 {
                reg = <0x13c0000 0xc40000>;
            };

            dummy1@2000000 {
                reg = <0x2000000 0x0>;
            };

            dummy2@2000000 {
                reg = <0x2000000 0x0>;
            };
        };

        nand@1,0 {
            #address-cells = <1>;
            #size-cells = <1>;
            compatible = "fsl,mpc8313-fcm-nand",
                         "fsl,elbc-fcm-nand";
            reg = <0x1 0x0 0x40000>; /* NAND CONTROLLER 256KB */

            dtb-0@0 {
                reg = <0x0 0x20000>;
            };

            kernel-0@20000 {
                reg = <0x20000 0x400000>;
            };

            rootfs-0@420000 {
                reg = <0x420000 0x099e0000>;
            };

            dtb-1@9e00000 {
                reg = <0x09e00000 0x20000>;
            };

            kernel-1@9e20000 {
                reg = <0x09e20000 0x400000>;
            };

            rootfs-1@a220000 {
                reg = <0x0a220000 0x099e0000>;
            };

            internal@13c00000 {
                reg = <0x13c00000 0x6400000>;
            };

            xxxx-log@1a000000 {
                reg = <0x1a000000 0x6000000>;
            };
        };
    };
        // CS0 and CS1 are swapped when
        // booting from nand, but the
        // addresses are the same.
//      ranges = <0x0 0x0 0xfe000000 0x01000000    /* LCS0: NOR BOOT        */
        ranges = <0x0 0x0 0xfe000000 0x02000000    /* LCS0: NOR BOOT        */
                  0x1 0x0 0xa8000000 0x00040000    /* LCS1: NAND CONTROLLER */
//            0x2 0x0 0xa0000000 0x04000000    /* LCS2: FGPA            */
              0x2 0x0 0xa0000000 0x04000000>;  /* LCS2: FGPA            */
//            0x3 0x0 0xff000000 0x01000000>;  /* LCS3: NOR RESERVE     */