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

以cc13xxware_2_04_03_17272的driverlib包为基础开始开发cc1310的应用,目前进入main后,初始化外设,读写相关寄存器都会卡死

Hi,你好,目前在以cc13xxware_2_04_03_17272的driverlib包为基础进行开发时,在基本的外设初始化环节就会卡死,在外设初始化之前是还需要运行其他系统设置吗,或者现在是否有以上面的driverlib包为基础的demo呢。

附上部分代码:

1. startup_ccs.c里面先运行

void
ResetISR(void)
{
//
// Final trim of device
//
SetupTrimDevice();

//
// Jump to the CCS C Initialization Routine.
//
__asm(" .global _c_int00\n"
" b.w _c_int00");

//
// If we ever return signal Error
//
FaultISR();
}

2. 进入main里面:

int main(void)
{ const char cBuf[] = "Hello world\n";

//PowerCtrlSourceSet(PWRCTRL_PWRSRC_GLDO);
Led_Init();
Uart_Init(115200);
while (1)
{
Uart_Send((uint8_t *)cBuf, sizeof(cBuf));
delay_ms(1000);
}
}

3. 在进行Led相关reg设置和uart相关reg设置的时候,就会卡死:

void Led_Init(void)
{
// config IOID_1 as uart tx port
IOCPortConfigureSet(LED_PIN, IOC_PORT_GPIO,
IOC_STD_OUTPUT);

GPIO_setOutputEnableDio(LED_PIN, GPIO_OUTPUT_ENABLE);

GPIO_writeDio( LED_PIN, 1);//这里会卡死;
}

卡死时进入0x10004618死循环;

麻烦帮忙看看,是哪里的问题,多谢。

Viki Shi:

CC1310的应用其实更推荐参考CC1310的SDK,例程比较多文档也比较详尽

xd z:

回复 Viki Shi:

CC1310的SDK我们有参考,也基于此实现了产品的基本功能,只是基于一些原因,我们希望直接在上述driverlib包的基础上直接进行开发,对于上面提到的无法进行相关寄存器的读写问题,能否给些指导

Viki Shi:

回复 xd z:

那我建议参考C:\ti\tirtos_cc13xx_cc26xx_2_21_01_08\products\cc13xxware_2_04_03_17272\doc下的文档,driverlib是比较底层的库,可简化对cc13xx上所有模块的访问,具体的寄存器配置请按照附带的HTML文档

xd z:

回复 Viki Shi:

Hi,你好,是有参照你所提到的文档来做的,目前是否可以就该问题提点建议呢,什么情况下,在操作寄存器的时候会卡死掉:

GPIO_writeDio( LED_PIN, 1);//这里会卡死;

该函数内部的实现是你们提供的库操作:

__STATIC_INLINE void

GPIO_writeDio( uint32_t dioNumber, uint32_t value )

{

   //

   // Check the arguments.

   //

   ASSERT( dioNumberLegal( dioNumber ));

   ASSERT(( value == 0 ) || ( value == 1 ));

   //

   // Write 0 or 1 to the byte indexed DOUT map

   //

   HWREGB( GPIO_BASE + dioNumber ) = value;//运行这里后卡死

}

赞(0)
未经允许不得转载:TI中文支持网 » 以cc13xxware_2_04_03_17272的driverlib包为基础开始开发cc1310的应用,目前进入main后,初始化外设,读写相关寄存器都会卡死
分享到: 更多 (0)