Other Parts Discussed in Thread:UNIFLASH
社区朋友
你好!
问题
将程序A下载到cpu中之后,程序A是完整的程序,因为参数调整,还需要将一些数据烧到固定位置的flash中.
1.请问需要什么工具实现此功能
2.因为烧写的参数,只是数据,不需要别的驱动和环境,是否还需要编写main 函数?
如果还需要用CCS生成.OUT,不用main 函数如何生成,用main函数的话,两个执行程序如何管理?
谢谢
Susan Yang:
您现在的主要实现功能是将变量放置到固定位置?
您可以参考一下
processors.wiki.ti.com/…/Placing_Variables_in_Specific_Memory_Location_-_MSP430
的类似方法。我之前在MSP430上可以,但是目前手边没有TMS570的板子,所以不太好测试,请您测试一下,谢谢
,
whong zhao:
你的意思是 还需要 写个 main 函数?
,
Susan Yang:
您可以在您的程序A内进行编程,如上面的链接所示,将参数放到固定的位置,而后将程序A生成的out文件烧录到芯片中。
,
whong zhao:
susuan
你好
我的需求不能同时烧,并且烧进去 不影响程序A运行,应该放在 不同的位置就不会影响到程序A的运行,
但是我只是在固定的位置 写入些数据,是否还有需要在重新写main函数,uniflash有没有可以直接在指定位置写入数据的方法。
,
Susan Yang:
请问您现在使用的是哪款芯片?
您可以创建一个二进制文件并将其加载以实现此目的。
要创建二进制文件,可以使用带有Hex-Editor插件的十六进制文本编辑器(如Notepad ++)。获取数据后,您只需输入要加载的数据,然后将其另存为.bin文件即可。使用UniFlash(GUI或CLI)并加载二进制文件。您需要提供加载地址-要将数据加载到的起始地址。确保使用 "Program Only"选项,以避免擦除您的应用程序。
,
whong zhao:
Susan
你好!
其实我就想用你说的这样方法,来实现flash 特殊位置的烧入,不用再写main函数的方法.但没太理解你说的方法1.先获取数据??什么意思2.还是直接用notepad 生成bin文件,然后烧入,烧入的时候设置地址
3. 需要用原来程序的flash文件吗?可以不用吗
,
Susan Yang:
1 就是您需要烧录的数据
2 是的
3 理论上可以不用,我今天试一下哈
,
Susan Yang:
请问您使用的是哪款芯片呢?我这边只有一个TMS570的开发板
,
whong zhao:
TMS570LS31310432都行谢谢!
,
Susan Yang:
我试了一下,采用上面的方法
要创建二进制文件,可以使用带有Hex-Editor插件的十六进制文本编辑器(如Notepad ++)。获取数据后,您只需输入要加载的数据,然后将其另存为.bin文件即可。使用UniFlash(GUI或CLI)并加载二进制文件。您需要提供加载地址-要将数据加载到的起始地址。确保使用 "Program Only"选项,以避免擦除您的应用程序。
不需要烧录原来程序的flash文件,而直接烧录bin文件
但是烧录的数据和实际存在MEMORY内的数据不同。
,
Susan Yang:
我看一下,是没有使用Hex-Editor转换的问题:
如使用的bin文件数据为0011,在Notepad++内点击Plugins–>Converter–>(ASCII–>HEX) 变为30303131
烧录如下
而后点击Memory查询地址0X0001001C可知: