TI中文支持网
TI专业的中文技术问题搜集分享网站

请问RM48HDK(L952)开发板LED灯不亮,是程序问题还是硬件问题?

Other Parts Discussed in Thread:TMS570LS0432

#define hetREG1 ((hetBASE_t *)0xFFF7B800U)
#define hetPORT1 ((gioPORT_t *)0xFFF7B84CU)
void gioSetDirection(gioPORT_t *port, uint32_t dir)
{
port->DIR = dir;
}
void gioSetBit(gioPORT_t *port, uint32_t bit, uint32_t value)
{
if (value != 0)
{
port->DSET = 1 << bit;
}
else
{
port->DCLR = 1 << bit;
}
}
int main(void)
{
hetREG1->GCR = 0x01000001;
hetREG1->PULDIS = 0x00000000;
gioSetDirection(hetPORT1,0xFFFFFFFF);
gioSetBit(hetPORT1,0,1);
gioSetBit(hetPORT1,17,1);
gioSetBit(hetPORT1,18,1);
gioSetBit(hetPORT1,25,1);
gioSetBit(hetPORT1,29,1);
gioSetBit(hetPORT1,31,1);
while(1);
}

Susan Yang:

抱歉,手边没有该开发板,所以不太方便测试您的程序。但是您可以测试一下TI例程来定位问题。请在下面的链接下载HERCULES_SAFETY_MCU_DEMOS

www.ti.com.cn/…/HERCULES_SAFETY_MCU_DEMOS

其安装路径下有led demo: Hercules Safety MCU Demos\4.0.0\RM48x_target_sources\demo-app\source

,

user6619768:

先谢谢您,用您提供的软件通过JTAG线的确是可以点亮灯,但是我使用CCS8.1将里面的led_demo.c编译通过后,在使用JTAG线DEBUG传输进去,重新上电没有任何反应?是否还缺失什么?烦请您抽空回复。

,

Susan Yang:

user6619768 说:用您提供的软件通过JTAG线的确是可以点亮灯

您是指在CCS的调试模式?还是直接烧录out文件?能否请您详细说明一下?

,

user6619768:

编译成功后,点击RUN-DEBUG,软件弹出对话框进行擦除 下载

,

user6619768:

安装成功后打开软件,连接JTAG线,点击HDK Safety Demos.exe,运行后上面有LED图标,点击图标时,这个软件自动开始LOAD程序,然后指示灯点亮。

,

Susan Yang:

您指的是连接HDK Safety Demos.exe是可以成功点亮led的,而使用CCS导入工程不能点亮?

请问是哪个LED?CCS导入led demo: Hercules Safety MCU Demos\4.0.0\RM48x_target_sources\demo-app\source也是不可以的?

,

user6619768:

是的,连接HDK Safety Demos.exe是可以成功点亮led,导入I:\ti\Hercules\Hercules Safety MCU Demos\4.0.0\RM48x_target_sources\demo-app\source\led_demo.c,在CCS编译成功后,点击debug后,load程序进去,CPU附近的LED没有任何反应。

,

Susan Yang:

谢谢反馈!我明天拿其他开发板实验一下

,

user6619768:

实在是找不到问题在哪,已经简化了,麻烦看看问题到底在哪?
int main(void)
{unsigned int count;hetREG1->GCR= 0x01000001;hetREG1->PULDIS = 0x00000000;
/** – Configure NHET[0,2,4,5,25,16,17,18,20,27,29,31] pins as output*- These pins are connected to the LED's */hetREG1->DIR= 0xAA178035;hetREG1->DOUT= 0x0; //0x0while(1){
for(count=0;count<10000000;count++);hetREG1->DOUT= 0 | (1 << 25) | (1 << 0);for(count=0;count<10000000;count++);hetREG1->DOUT= 0 | (1 << 31) | (1 << 18) ;for(count=0;count<10000000;count++);}
}

,

Susan Yang:

前面对LED的设置是没有问题的。

您直接使用下面的语句在CCS内调试一下
*- This turns the white LEDs on and the RGB LEDs off*/hetREG1->DOUT= 0xAA170035;for(count=0;count<10000000;count++);hetREG1->DOUT= 0x00000000;

,

user6619768:

还是不行,没有任何反应,现在我有些怀疑是编译器的问题了。配套光盘中的CCS8.1是否是完整的?或者CMD文件是否有问题?

/*—————————————————————————-*//* Memory Map */MEMORY{ VECTORS (X) : origin=0x00000000 length=0x00000020 FLASH0 (RX) : origin=0x00000020 length=0x0017FFE0 FLASH1 (RX) : origin=0x00180000 length=0x00180000 STACKS (RW) : origin=0x08000000 length=0x00001300 RAM (RW) : origin=0x08001300 length=0x0003ED00}

/*—————————————————————————-*//* Section Configuration */SECTIONS{ .intvecs : {} > VECTORS .text : {} > FLASH0 | FLASH1 .const : {} > FLASH0 | FLASH1 .cinit : {} > FLASH0 | FLASH1 .pinit : {} > FLASH0 | FLASH1 .bss : {} > RAM .data : {} > RAM}/*————————–

,

Susan Yang:

抱歉,我这边是没有该光盘的。但是Hercules Safety MCU Demos\4.0.0\RM48x_target_sources下的例程应该是没有问题的。

另外该问题和编译器应该关系不大

您直接跑Hercules Safety MCU Demos\4.0.0\RM48x_target_sources下的例程,在CCS下led有反应吗?

我用TMS570LS0432试了一下,是有反应的

,

user6619768:

,

user6619768:

那里面没有.out文件,我必须自己编译,之前就是使用里面的.c程序编译后运行的,没有反应。现在实在找不到问题了。

,

Susan Yang:

请问是所有的LED均没有反应?我去咨询下国外的对应工程师

赞(0)
未经允许不得转载:TI中文支持网 » 请问RM48HDK(L952)开发板LED灯不亮,是程序问题还是硬件问题?
分享到: 更多 (0)