1. 首先,存储在 Nand Flash 中的程序需要被读取到 CPU 的内部寄存器中。这一步由引导程序完成。引导程序通常存储在芯片的 ROM 中,并在芯片上电后自动运行。

  2. 引导程序首先初始化 CPU 及其他外设,然后将 Nand Flash 中的程序读取到内存中。具体来说,引导程序会将 Nand Flash 中的程序按照一定的规则复制到 SDRAM 中。这些规则包括 Nand Flash 的起始地址、程序的大小等信息。

  3. 在程序复制完成后,CPU 将开始执行 SDRAM 中的程序。此时,程序的执行过程与在 Nand Flash 中执行程序的过程基本相同。CPU 会按照程序的指令依次执行,直到程序结束或者被中断。

  4. 在程序执行过程中,CPU 可能需要从 SDRAM 中读取或写入数据。这些数据可以存储在 SDRAM 的任意位置,需要按照程序的需要进行读写操作。

  5. 程序执行结束后,CPU 会回到引导程序中。此时,引导程序可以选择重新启动芯片,或者在 SDRAM 中加载另一个程序进行执行。如果需要重新启动芯片,则引导程序会将 CPU 的控制权转交给芯片的复位电路,让芯片重新上电并开始执行自身的引导程序。如果需要加载另一个程序,则引导程序会按照相同的规则从 Nand Flash 中读取程序并复制到 SDRAM 中,然后开始执行新的程序。

总的来说,将程序从 Nand Flash 复制到片外 SDRAM 执行的过程需要通过引导程序来实现。引导程序负责初始化 CPU 及其他外设,并将 Nand Flash 中的程序复制到 SDRAM 中。程序在 SDRAM 中执行过程中,CPU 会按照程序的指令依次执行,并从 SDRAM 中读取或写入数据。程序执行结束后,引导程序可以选择重新启动芯片或加载另一个程序。

从 Nand Flash 复制程序到片外 SDRAM 执行的详细步骤

原文地址: https://www.cveoy.top/t/topic/oRr2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录