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.
例程sci_flash_kernal_cpu1能顺利下载到CPU1中,但sci_flash_kernal_cpu2例程下载不到CPU2中,感觉是下载地址不正确,pc程序计数器一直停留在最开始的地方0x3fe00a,请问这应该怎么解决?例程没有任何改动。
CPU2一直是no symbol are defined!
另外对于双核 IPC(处理器间通信),请参阅以下研讨会,特别是第 11 章
https://training.ti.com/c2000-f2837xd-microcontroller-workshop
本次研讨会逐步介绍如何处理设备的双核调试内容。
/* BEGIN is used for the "boot to SARAM" bootloader mode */
BEGIN : origin = 0x000000, length = 0x000002
我怀疑是不是CPU2程序的cmd文件配置不对导致程序的入口地址不对?
配置是没有问题的
另外在F2837xD_sci_flash_kernels_cpu01.c内
//! In this example, we set up a UART connection with a host using SCI, receive
//! commands for CPU1 to perform which then sends ACK, NAK, and status packets
//! back to the host after receiving and completing the tasks. This kernel has
//! the ability to program, verify, unlock, reset, run, and boot CPU2 to SCI
//! boot loader. Each command either expects no data from the command packet
//! or specific data relative to the command.
//!
//! In this example, we set up a UART connection with a host using SCI, receive
//! an application for CPU01 in -sci8 ascii format to run on the device and
//! program it into Flash.
我看了一下,使用launchpad是会卡在
即使是使用您换的2837x_RAM_Lnk_cpu02.cmd,虽然在load时可以跳到main,但是cpu1还是会卡在上面的语句
即不能从CPU1使用sci boot 来使能cpu2
launchpad是不支持sci boot的
以下是launchpad的说明
https://www.ti.com.cn/cn/lit/ug/sprui77c/sprui77c.pdf
但是程序烧入flash后在调试模式下能运行,重新上电后就不能运行了
您使用的是哪种boot呢?是否有可能是根本就没有boot起来?
您使用的是哪种boot呢
boot引脚设置为GET boot模式(拨码开关设置为0,1,1),没有对bootctrl寄存器进行设置,使用默认模式,默认模式是FLASH BOOT
sci_flash_kernel 是利用GPIO设置的串口引导方式,然后通过ROM中的SCI BOOT将flash_kernel从PC端加载到RAM中运行,然后kernel运行后接收串口发过来的应用程序的数据进行flash操作。
flash kernel是ROM里面的,ROM里面的SCI boot需要配置GPIO来进入这种模式,让它跳转到Flash kernel的代码
如之前所说,该launchpad不支持sci boot,所以上面的是行不通的。您需要使用control card
flash kernel是ROM里面的,
通过ROM中的SCI BOOT将flash_kernel从PC端加载到RAM中运行
您提到的这两个flash_kernel应该不是同一个东西吧,一个是固化在boot RAM中的一个是二次bootloader吧?
ROM里面的SCI boot需要配置GPIO来进入这种模式,让它跳转到Flash kernel的代码
我的想法是把flash_kernel烧到flash中,通过flash boot启动flash_kernel,并进行应用程序下载
该launchpad不支持sci boot,所以上面的是行不通的
我已经把scia的管脚更换成仿真器中的gpio42,43,flash_kernel程序下载到RAM中后能实现与主机通信,并且能将应用程序烧到flash中。
我已经把scia的管脚更换成仿真器中的gpio42,43,
您是带仿真器来在CCS内进行上述操作的?默认在CCS下debug模式使用的是仿真器boot模式
https://www.ti.com/lit/an/sprabv4d/sprabv4d.pdf
那么SCI boot函数是rom里面已经存在的,还是需要用户下载进去的?
一般来说,引导 ROM 在出厂时已设定好引导加载软件。 引导模式信号(通用的 I/O)用于指示 bootloader 软件在上电 时要使用哪种模式。
具体您可以看一下
Figure 4-9. Overview of SCI Boot Function