平台: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__;
这几个参数在哪里能找到?
|