Other Parts Discussed in Thread: TMS570LC4357
您好,目前我们有一个需求,需要将固件分为引导程序和用户程序,引导程序只做最基本的初始化操作(最小代码),其他的工作由用户程序去做,引导程序放在片内的4MB FLASH中,用户程序放在片外的EMIF MRAM中,还需要在MRAM中分区域放3份用户程序来进行三模(三取一)加载启动,请问此MCU支持这样启动吗?
如果支持,怎么实现对外挂的MRAM进行烧写动作,是否可以参考CPLD的代码实现。
您好,目前我们有一个需求,需要将固件分为引导程序和用户程序,引导程序只做最基本的初始化操作(最小代码),其他的工作由用户程序去做,引导程序放在片内的4MB FLASH中,用户程序放在片外的EMIF MRAM中,还需要在MRAM中分区域放3份用户程序来进行三模(三取一)加载启动,请问此MCU支持这样启动吗?
如果支持,怎么实现对外挂的MRAM进行烧写动作,是否可以参考CPLD的代码实现。
在TMS570LC4357中,代码将始终从闪存开始执行。因此,您应该需要在闪存中有一个引导加载程序代码。您可以使用TMS570LC4357的EMIF(外部存储器接口)连接MRAM。现在,您可以使用此引导加载程序对MRAM进行编程,如果MRAM中有有效代码,则可以使用EMIF直接从MRAM执行它。
如需了解更多详情,请参阅以下帖子一次:
我们有几个引导加载程序示例(UART、CAN和以太网等)可供选择:
我认为我们可以遵循同样的过程;在所有这些引导加载程序中,我们通过一种通信介质发送二进制文件,并编程到闪存的其他扇区。请参考这些代码以了解此过程的概述。