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.

[参考译文] CC2564:更改默认闪存位置

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1093798/cc2564-changing-default-flash-location

部件号:CC2564

代表客户:


...关于CC2564蓝牙经典版和STM32F407,大多数都工作正常。 我需要在   闪存中将固件加载到0x800.8万而不是0x800万位置。

我已经创建了一个引导加载程序项目,该项目加载到0x800万位置并执行跳转到0x800.8万位置。

 

我做了一个非常简单的项目,它加载在0x800.8万位置(只需打开LED)。 工作正常。

 

但是,当我使用蓝牙示例代码(在Keil项目选项中修改地址为0x800.8万,并在链接器选项卡和已分类文件中执行相同操作时。 我还将矢量地址更改为0x8000而不是0x00),它出现硬件故障。

 

从这种行为来看,我怀疑这种方法还需要改变一些其他方面。  


要将此代码移至0x800.8万,还需要更改什么?

谢谢!

-Steve

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

    您好,Steve,  

    客户是否尝试在收发器上的不同位置加载固件? 如果是这样,则它们写入的内存是只读的,这对于出现硬件故障是有意义的。 设备不支持在CC2564上移动固件。  

    如果我能提供更多帮助,请告诉我。  

    最佳,

    -Ryan

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

    否,他们正在尝试在ST处理器上重新定位代码。  怀疑它可能是编译二进制库或其他内容的问题,请在此处查找有关在何处查找问题的提示。

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

    您好,Steve,  

    您能否要求客户使用默认的.bts文件在设备上加载固件? 在这种情况下,默认值应适用于他们。  

    最佳,

    -Ryan

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

    您是否建议将此作为调试想法?  他们可能出于特定原因想要/需要移动代码,否则他们将已将其加载到标准地址。

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

    您好,Steve,  

    是的,我建议他们检查默认的.bts,以确保他们看到的唯一问题是移动固件地址。

    -Ryan

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

    来自客户:


    常用固件项目运行良好。 完全没有问题,因为库存固件使用闪存扇区0。


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

    您好,Steve,

    请忽略我之前提到的内容——在请团队的另一位成员参与并通过讨论之后,我们意识到我误解了这个问题。

    要更改主机上固件地址的地址,请参阅ST论坛。 他们可以更好地了解其硬件功能。  

    -Ryan

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

    抱歉,我在查找您所指的论坛时遇到问题。  您是否可以移动它或以其他方式向我显示它是哪一个?   

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

    请向ST Micro咨询此论坛: https://community.st.com/s/

    他们将获得有关在STM32上移动固件的更深入的信息。

    巴西,

    -Ryan

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

    这似乎不是ST问题,客户认为:


    我不认为这是第一。 因为如果我创建的项目没有CC2564堆栈(意味着不使用无线电),我可以从闪存的其他位置运行,没有任何问题。

     

    我认为在堆栈中需要做一些事情,或者它不允许从其他闪存扇区位置运行。


    我怀疑堆栈存在一些可移植性问题,特别是如果它是一个编译的库,并且可能没有正确链接。

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

    您好,Steve,  

    让我与我的团队其他成员协商,看看是否有任何已知的相关问题。 我稍后会跟进。

    最佳,

    -Ryan

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

    您好,Steve,

    提供快速更新-在与应用程序小组的其他成员进行更多讨论后,我们可能能够使用相对寻址解决此问题-我将在明天回复该线程,提供更多信息和可行的步骤,以尝试解决该问题。

    最佳,

    -Ryan

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

    您好,Steve,

    我确定您已经检查过此问题,但出于我的理智,您是否检查过为蓝牙分配的内存与以前的默认内存相同?  

    此外,是否还有任何其他调试日志可供您在硬件故障之外提供? 引导加载程序项目如何过渡到0x80.08万?

    最佳,

    -Ryan

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

    谢谢,我们很快就会给您回复。  -Steve