使用uniflash烧写自己修改udp_socket程序不执行
使用ccs6.2开发软件在cc3200 lanchxl的例程中udp_sock例程基础上做了一些简单开发,在调试时工作正常,使用uniflash烧写到flash后发现不能正常运行。使用uniflash烧写例程中的blanky中的blanky.bin可以正常运行。
这是我程序的问题吗?还是哪里需要配置。。
求大神指点呀。
建议首先用官方的例程,进行bin文件的烧写,注意Servicepack网络处理器的bin 需要一起写入SPI Flash中,验证硬件CC3200的Lauchpad可以正常工作,在确认是否你程序中会出现问题,如果调试没有问题,一般情况下写入到SPI Flash中是可以正常运行,因为CC3200启动后会向SPI Flash中读取所有程序到内部的RAM中进行执行。
我是基于udp_socket例程开发,现在排查发现我只要在pinmux.c的PinMuxConfig(void)函数中参照blanky例程添加对应的led灯的管脚定义,程序就会不执行。很苦恼。。代码付下,解注释led灯管脚,烧写到flash就能正确执行。
PinMuxConfig(void)
{
//
// Enable Peripheral Clocks
//
MAP_PRCMPeripheralClkEnable(PRCM_UARTA0, PRCM_RUN_MODE_CLK);
//
// Configure PIN_55 for UART0 UART0_TX
//
MAP_PinTypeUART(PIN_55, PIN_MODE_3);
//
// Configure PIN_57 for UART0 UART0_RX
//
MAP_PinTypeUART(PIN_57, PIN_MODE_3);
//Pin64/Gpio9
/*
MAP_PinTypeGPIO(PIN_64, PIN_MODE_0, false);
MAP_GPIODirModeSet(GPIOA1_BASE, 0x2, GPIO_DIR_MODE_OUT);
//Pin01/Gpio10
MAP_PinTypeGPIO(PIN_01, PIN_MODE_0, false);
MAP_GPIODirModeSet(GPIOA1_BASE, 0x4, GPIO_DIR_MODE_OUT);
//Pin02/Gpio11
MAP_PinTypeGPIO(PIN_02, PIN_MODE_0, false);
MAP_GPIODirModeSet(GPIOA1_BASE, 0x8, GPIO_DIR_MODE_OUT);
//Pin03/Gpio12/relay
MAP_PinTypeGPIO(PIN_03, PIN_MODE_0, false);
MAP_GPIODirModeSet(GPIOA1_BASE, 0x10, GPIO_DIR_MODE_OUT);
*/
//for adc
MAP_PinTypeADC(PIN_58,PIN_MODE_255);
MAP_PinTypeADC(PIN_59,PIN_MODE_255);
MAP_PinTypeADC(PIN_60,PIN_MODE_255);
}
使用的是官方的cc3200 lanchxl开发板。
终于解决了,忘记添加时钟了,MAP_PRCMPeripheralClkEnable(PRCM_GPIOA1, PRCM_RUN_MODE_CLK);
但奇怪的是为啥在调试状态下,在RAM里运行正常呢。