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均没有反应?我去咨询下国外的对应工程师
TI中文支持网


