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.

[参考译文] BOOSTXL-DRV8301:如何从闪存启动--几乎读取所有内容,但不能成功

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/579691/boostxl-drv8301-how-to-boot-from-flash----read-almost-everything-but-can-t-get-it-to-work

部件号:BOOSTXL-DRV8301
主题中讨论的其他部件: LAUNCHLL-F2.8027万MOTORWARE

您好,

我在信息高速公路上上下了一整天,包括这个论坛,但仍然无法从Flash启动。

这肯定是一件非常简单的事情,我相信当最终价格下降时,我会感觉自己是一个完全白痴,但这里...

我正在与以下人员合作:

BOOSTXL-DRV8301 + LAUNCHXL-F2.8027万和

CCS 5+汽车器具-免费

具体而言:

C:\ti\motorware\motorware_1_01_00_12\sw\solutions\instaspin_inex\boards\bootxldrv8301_RevB\F28x\f2802xF\projects\ccs5\proj_lab05b</s>2802

我修改了项目,以便读取两个GPIO输入(16和17)和一个ADC通道(B6)并使用它们进行控制  

 gMotorVars.Flag_enableSys  

 gMotorVars.Flag_Run_Identify  

 gMotorVars.SpeedRef_Krpm  

这样我就不需要调试器来启动电机并控制速度。

使用CCS调试器从启动时,工作方式类似于Charm。

如果我按所附图片中的方式设置启动模式开关(1=开/上,2=开/上,3=关/下)

拔下USB电缆,然后关闭系统电源再打开软件无法启动。

但只要连接USB电缆,软件就会启动(无需启动调试器,

事实上,如果我将USB电缆连接到我的Mac,这足以引发Launchpad

从闪存引导)。

所以我想我在Flash中很高兴地得到了这个程序,它可以从那里运行,它确实可以

不需要与调试器进行任何交互,而是需要进行某些操作

我的启动开关或项目中的某些设置错误,尽管是根据我所阅读的内容

我认为lab05b项目应该使用正确的引导开关设置来'正常工作'。

我已经阅读了本论坛和TI文档中的所有相关内容

但未能解决此问题。

我在论坛上找到了一个关于这个问题的几乎相同的职位,但没有解决办法。

非常感谢您的所有提示。

如果有人告诉我要包含哪些文件以及在哪里可以找到它们,我可以包含项目文件...

我和TI组织磁盘上的内容的方式不能实现;)

谢谢Kusti

  

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

    我们的专家已收到通知,应尽快答复。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的Kusti

    让我们从我用来帮助您的参考开始:

    1.表8 :TMS320x2802x Piccolo Boot ROM参考指南第22/52页上具有(TRST =0)的独立启动模式

    http://www.ti.com/lit/ug/sprufn6a/sprufn6a.pdf

    参考1 显示了硬件/软件中使用MCU在独立模式下引导的正确设置。 独立表示未连接外部仿真控制器。

    我们需要您 设置的GPIO37和GPIO34高和TRST'低。 这允许我们进入GetMode模式。 默认引导行为是闪存,除非重新编程OTP。

    表8显示:

    0x0D00和0x0D01不在乎

    0x3D7BFE不等于0x55AA

    0x3D7BFF是"不在乎"

    使用这些值时,引导应在闪存模式下启动。 您是否可以在启动时验证这些内存地址的值是否正确?

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

    感谢您回复我。

    明天我回到办公室时,我会检查内存值,因为在芬兰,时间已经超过了晚上10点,所以我在家使用ATM。

    我可能会弄清楚当我回到办公室时如何验证这些内存地址,但只是为了以防万一,由于时间差异,我可以用手握一下,以便您概述如何验证这些值以及在哪个点验证?

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

    在运行Code Composer Studio时,在执行源于您自己的主源代码的任何指令之前,请设置一个断点。

    到达断点后,转至View (查看)-> Memory Browser (内存浏览器)。

    从此处查找提到的内存地址。

    我将努力在我的最后重复这一建议
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    太好了,谢谢,看起来很简单,早上会再来。 晚安!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    快速跟进:您是否可以将项目保存在CCS工作空间之外,卸载1.01 v.00.12 并安装v.1.01 .00.17 ? Motorware不仅有此版本更新,而且lab05b现在位于D版,而不是B版

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

    您好,

    据我所知,内存设置看起来不错,请参阅随附的屏幕截图。

    至于更新至较新的汽车器具,除非有令人信服的理由或承诺

    解决这个问题,我不太热衷于这个问题。 根据我的经验,这很容易  

    工作时间很长,我非常接近我正在使用的ATM,而当前的设置是如此的方便

    我宁愿让我的代码独立运行并继续进行评估

    电机在实际机械中的作用。 一旦我们开始真正的编码,那么肯定。

    我刚刚意识到,我可能应该进行Hello world LED测试,这样我就可以了

    确保不是引导问题以外的问题。 我的意思是我知道ATM

    当我尝试时,电机对我的ADC输入或开关没有响应

    独立运行,但当然可以是在调试模式下运行的

    而不是独立的。

    我使用了Launchpad上唯一可用的LED输出进行输入,我想我需要

    卸下该项以执行快速测试。

    WBR Kusti

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

    好的Kusti

    必须升级到最新的Motorware的原因是    F2.8027万F.cmd文件中ramfuncs部分的扩展程序内存

    请参见下图:

    现在,我发现了一个e2e帖子,它让MCU从闪存运行。 他的努力是让代码适应可用内存,并且必须修改.cmd文件才能使其正常工作。

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/247599#pi316717=1</s>24.7599万 31.6717万

    在e2e帖子中,Michael详细介绍了他对.cmd文件所做的更改,以防我们需要这些更改。

    现在最好的建议 是 创建hello world LED程序并独立运行设备。

    我正在尝试安排一些时间来从闪存运行代码。

     闪存工作后,我们可以验证 您提到的ADC输入问题。

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

    解决。  

    升级了汽车器具...没有帮助,但非常简单。

    然后便降低了一分钱。

    我使用'dbug'按钮作为快捷方式连接到目标并刷新代码,因为它只需单击一次,而不是启动配置,连接目标,加载闪存。

    遗憾的是,我不喜欢在单击可爱的bug图标后,CCS在代码中放置一个中断点,除非我断开目标,否则不会被删除。 或者类似的...

    现在,当我单击'dbug'然后断开目标时,闪存将被编程,如果DIP开关设置为我的第一张图片中的设置,则代码将独立运行。

    多么尴尬——但我认为我应该让每个人都分享这个结论。

    谢谢!

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

    你好,Kusti,

    给你。 这些事件会发生在每个人身上!

    请告诉我们ADC输入是否存在任何问题。