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;//运行这里后卡死
}