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.

如何通过uniflash 或者CCS ,烧写内容

Other Parts Discussed in Thread: UNIFLASH

社区朋友

 你好!

 问题

将程序A下载到cpu中之后,程序A是完整的程序,因为参数调整,还需要将一些数据烧到固定位置的flash中.

1.请问需要什么工具实现此功能

2.因为烧写的参数,只是数据,不需要别的驱动和环境,是否还需要编写main 函数?

  如果还需要用CCS生成.OUT,不用main 函数如何生成,用main函数的话,两个执行程序如何管理?

 谢谢

   

  • 您现在的主要实现功能是将变量放置到固定位置?

    您可以参考一下

    processors.wiki.ti.com/.../Placing_Variables_in_Specific_Memory_Location_-_MSP430

    的类似方法。我之前在MSP430上可以,但是目前手边没有TMS570的板子,所以不太好测试,请您测试一下,谢谢
  • 你的意思是 还需要 写个 main 函数?
  • 您可以在您的程序A内进行编程,如上面的链接所示,将参数放到固定的位置,而后将程序A生成的out文件烧录到芯片中。

  • susuan
    你好
    我的需求不能同时烧,并且烧进去 不影响程序A运行,应该放在 不同的位置就不会影响到程序A的运行,
    但是我只是在固定的位置 写入些数据,是否还有需要在重新写main函数,uniflash有没有可以直接在指定位置写入数据的方法。
  • 请问您现在使用的是哪款芯片?

    您可以创建一个二进制文件并将其加载以实现此目的。

    要创建二进制文件,可以使用带有Hex-Editor插件的十六进制文本编辑器(如Notepad ++)。获取数据后,您只需输入要加载的数据,然后将其另存为.bin文件即可。使用UniFlash(GUI或CLI)并加载二进制文件。您需要提供加载地址-要将数据加载到的起始地址。确保使用 "Program Only"选项,以避免擦除您的应用程序。  

  • Susan
    你好!
    其实我就想用你说的这样方法,来实现flash 特殊位置的烧入,不用再写main函数的方法.
    但没太理解你说的方法
    1.先获取数据??什么意思
    2.还是直接用notepad 生成bin文件,然后烧入,烧入的时候设置地址
    3. 需要用原来程序的flash文件吗?可以不用吗
  • 1 就是您需要烧录的数据
    2 是的
    3 理论上可以不用,我今天试一下哈
  • 请问您使用的是哪款芯片呢?我这边只有一个TMS570的开发板
  • TMS570LS3131 0432 都行
    谢谢!
  • 我试了一下,采用上面的方法

    要创建二进制文件,可以使用带有Hex-Editor插件的十六进制文本编辑器(如Notepad ++)。获取数据后,您只需输入要加载的数据,然后将其另存为.bin文件即可。使用UniFlash(GUI或CLI)并加载二进制文件。您需要提供加载地址-要将数据加载到的起始地址。确保使用 "Program Only"选项,以避免擦除您的应用程序。

    不需要烧录原来程序的flash文件,而直接烧录bin文件

    但是烧录的数据和实际存在MEMORY内的数据不同。
  • 我看一下,是没有使用Hex-Editor转换的问题:

    如使用的bin文件数据为0011,在Notepad++内点击Plugins-->Converter-->(ASCII-->HEX) 变为30303131

    烧录如下

    而后点击Memory查询地址0X0001001C可知: