0

このスニペットは、組み込み製品の dts ファイルで見つかりました。
NAND フラッシュがあるのに NOR フラッシュがあるのはなぜですか?
また、以下のローカルバス ノードで言及されている LCS0、LCS1 の意味は何ですか?

        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     */
4

2 に答える 2

2

NOR フラッシュは、NAND フラッシュに比べて消去操作と書き込み操作が遅くなります。これは、NAND フラッシュの方が消去および書き込み時間が高速であることを意味します。さらに、NAND の方が消去単位が小さくなります。したがって、必要な消去は少なくなります。NOR フラッシュは、NAND よりもわずかに高速にデータを読み取ることができます。

NOR は完全なアドレス バスとデータ バスを提供し、任意のメモリ ロケーションにランダムにアクセスできます (すべてのバイトにアドレス指定可能)。これにより、更新の必要がほとんどない古い ROM BIOS/ファームウェア チップの適切な代替品になります。その耐久性は、10,000 ~ 1,000,000 回の消去サイクルです。NOR は、組み込みシステムにコードを格納するのに非常に適しています。また、XiP (eXecute in Place)のサポートにより、(DDR を初期化する前であっても) 初期ブートローダーをロードするのに非常に魅力的な選択肢になります。

NAND フラッシュは、セルあたりのチップ面積が小さくなります。このメーカーの NAND は、NOR フラッシュよりもストレージ密度が高く、ビットあたりのコストが低くなります。また、NOR フラッシュの最大 10 倍の耐久性があります。ビデオやオーディオなどの大容量ファイルのストレージ メディアとしては、NAND の方が適しています。USB サムドライブ、SD カード、MMC カードは NAND タイプです。

NAND フラッシュはランダム アクセスの外部アドレス バスを提供しないため、データはブロックごとに読み取る必要があり (ページ アクセスとも呼ばれます)、各ブロックは数百から数千のビットを保持し、一種のシーケンシャル データに似ています。アクセス。これが、ほとんどのマイクロプロセッサとマイクロコントローラがバイトレベルのランダム アクセスを必要とするため、NAND フラッシュが ROM の置き換えに適さない主な理由の 1 つです。

このドキュメントの表 1 を参照て、それぞれの利点を比較してください。

于 2013-08-28T08:42:24.640 に答える