平台:KF32F330MQV + RTT NANO 3.1.3
原版本:https://gitee.com/chipon-kungfu/ChipON-KF32_RT-Thread.git
现象:
(1)用USART1做rt_kprintf的输入输出口,只使用此串口,且开了512字节全局数组接收缓存后,收发运行正常;
(2)同时使用USART4(或其他串口)时,开了1024字节全局数组接收缓存,程序跑飞,无法运行;
(3)用ChipON IDE单步调试能逐条语句正常运行;如果F6或者F8全速 调试自动退出,程序跑飞,无法运行。
请教各位大侠,可能会是什么原因?
另在文件 startup.c 的函数void startup()中:
void startup()
{
unsigned int *s,*begin,*end;
#ifdef Project_Type__cplusplus
void (*pf)(void);
#endif
//############# init work for the chip #############//
*((volatile unsigned int *) 0x40000000) = 0;
//############# init variable who have initialization #############//
s = (unsigned int*)&__text_end__;
begin = (unsigned int*)&__data_start__;
end = (unsigned int*)&__bss_start__;
while(begin < end)
*begin++ = *s++;
//############# init class who have initialization(C++) #############//
#ifdef Project_Type__cplusplus
begin = (unsigned int*)&__init_class_start;
end = (unsigned int*)&__init_class_end;
while(begin<end)
{
pf=(void *)(*begin++);
pf();
}
#endif
//############# init variable who have no initialization #############//
#if 1 // 0 not init this type variable
begin = (unsigned int*)&__bss_start__;
end = (unsigned int*)&__bss_end__;
while(begin < end)
*begin++ = 0;
#endif
//############# begin to run main function #############//
SystemInit();
entry();
}
extern unsigned char __text_end__;
extern unsigned char __bss_start__;
extern unsigned char __bss_end__;
extern unsigned char __data_start__;
这几个参数在哪里能找到?
|