Other Parts Discussed in Thread:SYSBIOS
大家好 问一下
我的sysbios例程在核0里面运行正常
现在想在核1里运行 尝试移植过去后 运行异常!
会是什么问题了?
核的初始化 包括PLL DDR是否必须放在核0?
我移植后的工程是这样的:
核0不用sysbios 用的是裸机程序 只执行PLL DDR的初始化
void main()
{
IER= 0;
TSC_init();
//DSP core speed: 100*10/1=1000MHz
KeyStone_main_PLL_init(100, 10, 1);
KeyStone_DDR_init (66.66667, 16, 1, NULL);
for(;;)
{
TSC_delay_ms(300);
}
}
核1就是原来核0的程序
移植过去的时候在RTSC Tool里修改了Platform的内存分配 L2的地址指定到了0x11800000
我的程序里不牵扯到中断 只是通过UART循环发送数据!
谢谢!
Nancy Wang:
具体是什么异常?不是只能在core0上执行初始化。
也可以看一下PDK中基于sys/bios的UART例程。
software-dl.ti.com/…/index_device_drv.html
pdk_c667x_2_0_16\packages\MyExampleProjects
,
skysteed:
你好 问题找到了我的任务中用到了Task_sleep();
在sysbios clock模块里修改Tick的源Timer Id为2就好了!!!
我实验了一下: sysbios程序在核0 Timer ID选择0 2 3编译通过 程序运行正常 选择1 4 5 6 7提示Timer xx is already in use or reserved sysbios程序在核1 Timer ID选择0 2 3编译通过 程序只有选择Timer2 3运行正常 选择1 4 5 6 7提示Timer xx is already in use or reserved
由此 我在SYS_BIOS (TI-RTOS Kernel) User's Guide没有找到Tick使用哪个Timer做clock的资料???有没有什么选择限制?
目前来看核0只能选择0 2 3 核1只能选择2 3!!!
,
Nancy Wang:
没有看到对timer有限制.
单独测试clock模块的时候会出现这样的情况吗?
,
skysteed:
你好 这是我的编译结果 SYSBIOS运行在核1 Tick选择的是定时器4 编译报错 提示:
Timer 4 is already in use or reserved (check availMask).