跳转到内容

Mizar32/闪存

来自维基教科书,自由的教科书

Mizar32 有三个版本,它们具有不同的闪存和静态 RAM 容量

  • 型号 A:512KB 闪存 / 64KB SRAM / 32MB SDRAM
  • 型号 B:256KB 闪存 / 64KB SRAM / 32MB SDRAM
  • 型号 C:128KB 闪存 / 32KB SRAM / 32MB SDRAM

闪存内置于 AT32UC3A0128/256/512 处理器芯片中,并从地址 0x80000000 开始响应。

前 8KB (0x80000000-0x80001FFF) 包含“Atmel AT32UC3 USB DFU 引导加载程序”,它能够通过 USB 端口下载和写入新的内容到闪存的其余部分。当芯片复位或上电时,它开始执行 0x80000000,也就是 USB DFU 引导加载程序。这将检查用户按钮是否被按下,如果按下,则准备下载和编程闪存的其余部分。如果按钮未按下,则跳到地址 0x80020000,该地址包含 eLua 解释器的可执行代码的第一个字。

或者,从 0x80020000 开始的闪存可以使用 emBLOD(嵌入式引导加载程序)进行编程,该加载程序将 SD 卡上的文件“autorun.bin”中的可执行代码加载到 SDRAM 中并执行它。在 SDRAM 中,代码运行速度大约是闪存中程序速度的 6 倍,但您可以加载和运行最大 32MB 的程序。

如果您有 JTAG 编程设备,您可以通过覆盖 USB DFU 引导加载程序来编程整个 128/256/512KB。

还有一个第二个 512 字节的闪存区域,位于 0x80800000 - 0x808001FF,即“闪存用户页”,它在最后一个字中保存了 USB DFU 引导加载程序的配置字,但其他部分是免费的。

进一步阅读

[编辑 | 编辑源代码]
华夏公益教科书