This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3359:NOR 闪存写入器

Guru**** 2618835 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579878/am3359-nor-flash-writer

器件型号:AM3359

您好!

我对 ISDK v1中包含的 NOR 闪存写入器有疑问。

在"norflash.c"中、有以下代码正在访问 NOR 闪存。
(小部分
 /*浏览每个扇区、擦除范围内的任何扇区*/
   /*开始扇区擦除序列*/
   *(volatile UINT16 *)(flash_base +(0x555 <<1))= 0xAA;
   *(volatile UINT16 *)(flash_base +(0x2AA <<1))= 0x55;
   *(volatile UINT16 *)(flash_base +(0x555 <<1))= 0x80;
   *(volatile UINT16 *)(flash_base +(0x555 <<1))= 0xAA;
   *(volatile UINT16 *)(flash_base +(0x2AA <<1))= 0x55;
(小部分

它正在移动地址1位(例如:0x555 <<1)。
您知道它为什么要转换地址吗?
我们想知道原因。
我将附加"norflash.c"。

此致、
G.F.

e2e.ti.com/.../norFlash.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    因为这些是16位地址。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Biser、

    感谢你的答复。
    很抱歉、我还不明白。

    当我查看 NOR 闪存数据表时、
    要访问 NOR 闪存、控制器需要在上述情况下首先发送地址0x555。
    但它将通过向左移动1位来实现0xAAA。

    您能详细介绍一下吗?

    此致、
    G.F.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    GPMC 地址空间可按字节寻址、而 NOR 闪存的每个位置都是16位(2字节)、因此 NOR 闪存上的地址地址地址地址地址0x555位于 GPMC 地址空间中的偏移量(0x555 * 2)处。 左移是另一种实现乘以2的方法。

    我希望这能回答这个问题。

    此致、
    Rahul