主题:C2000WARE 中讨论的其他器件
工具/软件:
专家您好、我设计了基于"flash_kernel_c28x_dual_ex1_c28x1"过程的远程程序烧录工程、替换了 CMD 文件。 由于我需要将其存储在闪存中、因此在此过程中没有使用 SCI 通信。 由于我已经提前商定了波特率、因此不需要自动检测波特率、通信调度也完全不同。
目前、我添加了 SCI 通信和 SPI 通信-它们都不起作用。 我已经在公司的项目工程中测试了这些 SCI 通信和 SPI 通信功能、他们也通过了测试。 因此配置不应该是问题。 请问在使用此工程配置配置外设时、是否需要添加任何其他组件?
----- 该过程中的所有外设时钟是否都需要自行启动? 配置 SCI 时、您是否需要提前指定 SCI 时钟是否为低速时钟? 如有必要、您能否说明应在什么时候调用哪个函数?
2.您能告诉我如何更改 DSP (28p65)的存储模式吗? 我想将小端字节序模式更改为大端字节序模式。
这是我的计划;
void main (void)
{
//
//通过等待繁忙时间刷新 SCIA TX 端口、driverlib。
//
// sciaFlush ();
//
//初始化器件和 GPIO、driverlib。
//
设备初始化();
device_initGPIO();
//
//初始化中断和矢量表、drivelib。
//
interrupt_initModule();
Interrupt_initVectorTable();
//
//启用全局中断(INTM)和实时中断(DBGM)
//
EINT;
ERTM;
//
//在200MHz、外部振荡器的执行等待状态为4。 修改
//更改系统时钟频率时的等待状态。
//
Flash_initModule (FLASH0CTRL_BASE、FLASH0ECC_BASE、4);
//
//泵访问必须由模芯使用泵信标获得
//
EALLOW;
IPC_claimFlashSemaphore (IPC_FLASHSEM_Owner_CPU1);
SysCtl_allocateFlashBank (SYSCTL_FLASH_BANK0、SYSCTL_CPUSEL_CPU1);
SysCtl_allocateFlashBank (SYSCTL_FLASH_BANK1、SYSCTL_CPUSEL_CPU1);
SysCtl_allocateFlashBank (SYSCTL_FLASH_BANK2、SYSCTL_CPUSEL_CPU1);
SysCtl_allocateFlashBank (SYSCTL_FLASH_BANK3、SYSCTL_CPUSEL_CPU1);
SysCtl_allocateFlashBank (SYSCTL_FLASH_BANK4、SYSCTL_CPUSEL_CPU1);
// Example_Call FlashAPI();
//
//初始化 FLASH_SECTORS、fapi + driverlib
//
initFlashSectors();
EDIS;
//uint32_t EntryAddr;
//
// GPIO28 (RX)、29 (TX)的参数 SCI_BOOT_ALT5
//
//EntryAddr = sciGetFunction (SCI_BOOT_ALT5);
// return (EntryAddr);
memcpy (&RamfuncsLoadStart、&RamfuncsLoadEnd、RamfuncsRunStart);//将初始化Flash代码复制到RAM
//初始闪存();
memset (memset.RX Byte_Data_Buf_、0、sizeof (Byte_Data_Buf_));
memset (memset (Byte_Data_Buf_、0、sizeof (Byte_Data_Buf_));
memset (memset.RX Word_Data_Buf_、0、sizeof (Word_Data_Buf_));
/*SCIA*/
GPIO_setControllerCore (DEVICE_GPIO_PIN_UARTARXDA、GPIO_CORE_CPU1);
GPIO_setPinConfig (DEVICE_GPIO_CFG_UARTARXDA);
GPIO_setDirectionMode (DEVICE_GPIO_PIN_UARTARXDA、GPIO_DIR_MODE_IN);
GPIO_setPadConfig (DEVICE_GPIO_PIN_UARTARXDA、GPIO_PIN_TYPE_STD);
GPIO_setQualificationMode (DEVICE_GPIO_PIN_UARTARXDA、GPIO_QUAL_ASYNC);
//
// GPIO42是 SCI Tx 引脚。
//
GPIO_setControllerCore (DEVICE_GPIO_PIN_UARTATXDA、GPIO_CORE_CPU1);
GPIO_setPinConfig (DEVICE_GPIO_CFG_UARTATXDA);
GPIO_setDirectionMode (DEVICE_GPIO_PIN_UARTATXDA、GPIO_DIR_MODE_OUT);
GPIO_setPadConfig (DEVICE_GPIO_PIN_UARTATXDA、GPIO_PIN_TYPE_STD);
GPIO_setQualificationMode (DEVICE_GPIO_PIN_UARTATXDA、GPIO_QUAL_ASYNC);
Sci_performSoftwareReset (SCIA_BASE);
INTERRUPT_REGISTER (INT_SCIA_RX、INT_SCIA_BASE_RX_ISR);
INTERRUPT_REGISTER (INT_SCIA_TX、INT_SCIA_BASE_TX_ISR);
SCI_enableTxModule (SCIA_BASE);
SCI_enableRxModule (SCIA_BASE);
INTERRUPT_ENABLE (SCIA_BASE);
INTERRUPT_ENABLE (SCIA_BASE);
INTERRUPT_CLEARACKGROUP (INTERRUPT_ACK_group9);
initSCIA ();
Flash_SPIA_init ();
// FlashEnableWrite();
//闪存擦除(0x20、0);
// FLASH_Write (Buffer、0、8);
// FlashReadData (0、BufferA、8、0);
//app_UPDATA_CHK();//FlashAPI. Example_Call
while (1)
{
if ((BOOTRESATA=1)&&(BYTES_TX_OVER == 1))
{
Bytes_TX_OVER =0;
}
User_Update ();
}
}