用KEIL的话,都是按JLINK V8用户指南配置的仿真器,编译器配置的也没问题(与用户手册一致),但是点击Download and Debug后,程序有时候能跑到main处,有时候就停在启动文件里调用main的地方(B __main)不动了。用例程也是一样的效果,试过就编写几句话的main函数,也不行,所以应该不是程序的问题。PS:启动文件就改了中断向量表。别的没动。编译都没问题的,但一旦下载调试就会出现这个问题。后来转向IAR.....
用IAR的话,配置好JLINK V8和编译器,编译也没问题,但烧写进去后,程序会跑飞...而且明明已经使能了PA口,从寄存器查看仍是锁定的,郁闷....在使用IAR的时候,下载的时候有一个警告:target inconsistency detected in memory range 0x0000 0000-0x0000 0C8B.从网上查了一下,应该是仿真器用的地址和程序下载的地址有冲突,可是重新配置了连接器配置文件后(直接从0x0000 1000开始,绕过出问题的这段初始地址,警告变成了两个,一个是 target inconsistency detected in memory range 0x0000 1000-0x0000 1C8B,另一个就是好像堆栈地址不对,应该是溢出了)。不管这个警告框,点确定后进入调试状态,前面初始化的几句能走,但是时钟初始化和端口初始化不正常,特别是端口初始化:SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);这句根本就没执行(PS:最开始调试的时候,出现过一个警告说没发现C:\cygwin\sandbox\DriverLib\build\DriverLib.test\driverlib\sysctl.c,先是重新指定了一个电脑里有此文件的地址,让它使用这个地址的文件,发现还会弹出,没有办法就在c盘下自己建了一个这样的文件夹,把文件加进去之后,没出现警告了,但是还是觉得就是因为这个 sysctl.c的问题造成时钟初始化和端口初始化异常。但是自我觉得根本问题不是这个 sysctl.c的问题,因为本来觉得这个路径就很诡异,会不会就是仿真器的临时调试用的?(不清楚...)