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.

[参考译文] CC2541:CC2541逻辑地址、物理地址及其映射之间的差异

Guru**** 2866460 points

Other Parts Discussed in Thread: CC2541, CC2540

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/771729/cc2541-cc2541-difference-between-logical-address-physical-address-and-its-mapping

主题中讨论的其他器件:CC2541CC2540

ART 编号:CC2541

您好!

我已经完成了写入闪存存储器的几个线程。

与8051 64K 字节 CPU 闪存、CC2541 256K 字节闪存大小、组0 - 7、页0 - 127、逻辑地址、实际/物理地址、占用 XDATA 的32K 闪存等混淆。

用户指南不清楚映射。 下面是我要通过的链接。

http://e2e.ti.com/support/wireless-connectivity/bluetooth/f/538/t/319364

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/p/279926/977092#977092


所有这些之间是否有任何表映射。

我将介绍 IAR 存储器映射。  

前64K 和下32K 之间存在间隙。 之后、每个替代32K 上都没有代码。 这是为什么。 尝试理解其背后的概念。

谢谢、此致

Vishnu Beema

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

    ´s 寻址记录在 CC253x/4x 用户指南中。

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

    如前所述、即使我已经介绍了用户指南第2.2和第6节。 但我无法在逻辑地址和物理地址之间进行映射。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Vishnu,

    实际的问题是什么? 您是否遇到了器件的功能问题?

    此致、
    Fredrik
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想使用 HalFlashWrite()。 尝试理解要传递的地址。 是该逻辑地址或物理地址。 它们的映射方式。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Fredrik、

    下面是我尝试在 SimpleBLEPeripheral_Main.c (SimpleBLEPeripheral 项目)中执行的示例代码。 但我无法看到任何写入 CC2540的数据。

    int main (空)

    /*初始化硬件*/
    HAL_Board_init ();

    //初始化电路板 I/O
    InitBoard( OB_COLD );

    /*初始化 HAL 驱动程序*/
    HalDriverInit();

    /*初始化 NV 系统*/
    OSAL_SNV_init ();

    /*初始化 LL */

    /*初始化操作系统*/
    OSAL_INIT_SYSTEM ();

    /*启用中断*/
    HAL_ENABLE_INTERRUPTS ();

    //最终电路板初始化
    InitBoard( OB_READY );

    #if 已定义(power_saving)
    OSAL_pwrmgr_device ( PWRMGR_battery );
    #endif

    /*------------------ *

    uint32 u32Data[100]={0};
    uint32 addr =(126u * 2048u); //尝试在第126页写入400字节
    uint16 addr1 =(addr /4);

    memset ((void*)&u32Data[0]、0x11、400);
    HalFlashWrite (addr1,(uint8*)&u32Data,100);

    uint32 u32Data1 = 0xAABBCCDD;
    ADDR =((127u * 2048u)/ 4); //尝试在第127页写入4个字节
    HalFlashWrite (addr,(uint8*)&u32Data1,1);

    /*------------------ *

    /*启动 OSAL */
    OSAL_START_SYSTEM ();//此处无返回

    返回0;


    由于我使用的是第126页和第127页(CC241有128页、128 * 2048 = 256K)、我看到的存储器范围为0x78000至0x7FFFF。 全部为0xFF。
    请告诉我在哪里可以查看闪存位置和 IAR 工作平台存储器窗口。

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

    您好!

    为了避免所有这些混乱、我准备了励形表。

    这将提供8051物理地址、CC2540/41 256K 物理地址以及带寻呼和 Banke2e.ti.com/.../CC2540_5F00_Memory_5F00_Analysis.xlsx 的逻辑地址的清晰图片

    谢谢、此致

    Vishnu Beema