我之前用的是120XL的库,修改为修改设备为TexasInstruments LM4F231E5QR将库编译,程序基本按照我的意思走,但是当我下载了SW-TM4C后,在这个工程(232)的库下把设备修改为TexasInstruments LM4F231E5QR将库编译,发现程序老是会跑错,IAR上的设置用了这么久我感觉我设置应该没问题的,就是不知道移植有什么要修改的。
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.
我之前用的是120XL的库,修改为修改设备为TexasInstruments LM4F231E5QR将库编译,程序基本按照我的意思走,但是当我下载了SW-TM4C后,在这个工程(232)的库下把设备修改为TexasInstruments LM4F231E5QR将库编译,发现程序老是会跑错,IAR上的设置用了这么久我感觉我设置应该没问题的,就是不知道移植有什么要修改的。
请问楼主的工程之前使用的软件库是什么版本?
驱动库,对于CCS下使用的库文件,StellarisWare,驱动库所在的路径是StellarisWare\driverlib\ccs-cm4f\Debug。
TivaWare,驱动库所在路径为TivaWare_C_Series-1.0\driverlib\ccs\Debug
对于库的编译,和具体型号没关系的。驱动库适用于所有的TM4C123x系列产品。
程序跑错,具体现象是什么?
我用IAR和keil4 都试过了,IAR 跑到static void
FaultISR(void)
在单步调试中,发现
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1);
GPIOPinTypeADC(GPIO_PORTD_BASE, GPIO_PIN_0);
GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_5);
ADCReferenceSet(ADC1_BASE,ADC_REF_INT);
ADCSequenceConfigure(ADC1_BASE,2,ADC_TRIGGER_PROCESSOR,1);// ADC_TRIGGER_TIMER
ADCSequenceEnable(ADC1_BASE, 2);
ADCIntClear(ADC1_BASE,2);
程序跑到ADCReferenceSet(ADC1_BASE,ADC_REF_INT); 就跑到static void
FaultISR(void)
另外,我发现static uint32_t pui32Stack[256] @ ".noinit"; 中的256有些地方又用128,不知道有区别吗?
看名字pui32Stack应该是在分配空间给堆栈吧 只要够用就应该没什么特别影响的
楼主如果用的是TexasInstruments LM4F231E5QR,那用老的StellarisWare库就行了,没必要更新的